Open bdantas opened 2 months ago
P.S. Wifi adapters with other chipsets (e.g., mt7612u) work fine in these usb3 ports. Usb3 storage devices also work, with the expected speed. The problem with these ports seems specific to wifi adapters with mt7921au.
I think the solution, if I can find one, will have something to do with a usb3-related boot code that enables or disables a specific usb3 feature.
A user reported identical errors ("Failed to get patch semaphore") in this post, using a different Mediatek chipset. That user did not find a solution as far as I can tell.
I found other (rare) users with similar errors, all using various Mediatek chipsets.
My conclusion is that the mt76 driver fails to deliver the firmware payload to the adapter when it is connected to one of this laptop's usb3 ports. It seems there's a bug in how mt76 and usb/xhci interact in old hardware like this X230.
It seems my options to upgrade my laptop, look for an existing kernel patch that addresses this issue, or give up on using this adapter on my laptop. I'm going to take the easy way out and give up on the adapter. Sorry for the noise.
@bdantas
Hold on. I'm going to reopen this issue unless you have a good reason to close it. You are not the only to one to see this. I need to do some testing to see what the problem is.
I closed this prematurely out of frustration. I'll keep an adapter with this chipset around. If I can help with testing, just let me know. I can reliably reproduce the issue on my X230 ThinkPad.
@bdantas
Already on the latest BIOS on your X230 ThinkPad? Just a thought.
@bdantas
I can reliably reproduce the issue on my X230 ThinkPad.
I am going to test on a couple of systems but I am curious if I can get some specs on the systems where you are seeing this issue:
Laptop/Desktop/Mini/sbc? CPU, amd, intel, arm64? Age or processor generation? Distro?
@gdluca - BIOS is coreboot. Here at details per dmidecode
:
BIOS Information
Vendor: coreboot
Version: CBET4000 4.19-293-gdb4b71ff10-dirty
Release Date: 02/06/2023
ROM Size: 12 MB
Characteristics:
PCI is supported
PC Card (PCMCIA) is supported
BIOS is upgradeable
Selectable boot is supported
ACPI is supported
Targeted content distribution is supported
BIOS Revision: 4.19
Firmware Revision: 0.0
@bdantas
Good day. It a wonderful day. Yes, we have a lot of problems on this blue dot but we can work them.
Now to this mt7921au vs USB3 problem:
Thanks for the details. I am testing right now:
Test results so far: Plugged adapter in. Connected. Ran iperf3. and saw approx. 700 Mbps. No need to check if USB3 is active because USB2 cannot even come close to that speed. No problem noted.
Have you taken a look to see if users of coreboot are reporting issues with USB3? If coreboot has a forum, you might mention it. There are updated firmware files... as of last month so you might look at updating the firmware
I found other (rare) users with similar errors, all using various Mediatek chipsets.
I understand this but in the vast world of the internet, if you start looking for something, you can find it or things similar to it. I say this because it might be easy to blame Mediatek but I'd prefer to wait until we have some solid proof that there is a problem with something Mediatek is responsible for. Remember that in the world of USB WiFi, we depend on the wifi stack and the usb stack to work well. The opportunity for failure are greatly increased due to this fact. Also, USB3 is not mankind's greatest invention. USB2 is far more stable so you could run with USB2 for now if it gets the job done. Don't get frustrated. Let's take our time to work this. I will keep my eyes open and will do additional testing as I have time.
@morrownr - Thank you very much for looking into this. I decided to keep the adapter around just for testing, as I'm very happy with the overall state of my network at this point.
Just two quick updates:
BIOS Information
Vendor: coreboot
Version: CBET4000 24.02-50-g04d6eb1eae00-dirty
Release Date: 02/24/2024
ROM Size: 12 MB
Characteristics:
PCI is supported
PC Card (PCMCIA) is supported
BIOS is upgradeable
Selectable boot is supported
ACPI is supported
Targeted content distribution is supported
BIOS Revision: 0.0
Firmware Revision: 0.0
This is a low priority issue for me at this point, but I'll make sure to keep an eye out for a solution and post it here if I find one.
@morrownr @bdantas thanks for pointing out this issue. I also have system with you, corebooted x230. Adapter only works when i plug it in usb 2.0 input. Have you been able to find anything in order to solve this issue? I have fenvi ax1800 btw.
@compicat - No, I did not find a solution for this problem and currently have no promising leads.
@compicat
I have not run across a solution either. I cannot duplicate the issue here so am just watching. My opinion. based on observation, is that this is rare and is likely caused by something related to usb3 support and not wireless but I will keep watching.
I am also experiencing this, I would have never of known it would be the USB3 ports of all things. Unfortunately my mini pc only has USB3 ports.
@MillenniumAlpha
There is another issue that I posted a while back offering some ideas on usb port related things. Give it a read:
https://github.com/morrownr/USB-WiFi/issues/508
That link to the issue in the Debian forum is interesting. Note how BIOS settings can be an issue.
I have an X230 ThinkPad. The laptop has USB2 and USB3 ports. Adapters with the mt7921au chipset (I've tested Netgear A8000 as well as EDUP EP-AX1672) only work when plugged into the laptop's USB2 ports.
Here is what dmesg says when device is plugged into USB3 port:
Here is what happens when I plug the same device into one of the laptop's USB2 ports:
I'm quite perplexed. I expected this device would work better when plugged into the USB3 port, not the other way around. Can any of you usb wifi gurus shed some light on this strangeness? Basic technical details are below. I'll be happy to provide whatever other details you need.
Thanks!
OS version: Tiny Core Linux 15 x86_64 Linux version: 6.6.8 USB adapter used for the above tests: Netgear A8000 Output of
lsusb
andlsusb -v
is here Output ofdmesg | grep xhci
anddmesg | grep ehci
is here