Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New Adapter] tp-link Archer TXE50UH (uses the mt7921au chip and mt7921u driver) #534

Open
morrownr opened this issue Nov 8, 2024 · 8 comments

Comments

@morrownr
Copy link
Owner

morrownr commented Nov 8, 2024

I normally pay no attention to tp-link usb wifi products for reasons outlined in menu item 1 on the Main Menu but I do hear from people around the world where usb wifi adapter choices can be very limited. I often hear them say that tp-link products are available when other brands are not so I am posting this message and will consider adding this product to The Plug and Play List IF I get good reports from users of this adapter and people express their opinion that it should be included in the List. Given that Realtek does not make a AXE3000 class chip, it would be hard for tp-link to change the chip and keep the product number and packaging so this might be a case where this is a safe long term pick if it is a good adapter. With that said:

The tp-link site to the TXE50UH is as follows:

https://www.tp-link.com/us/home-networking/usb-adapter/archer-txe50uh

It is a very recent product almost no reviews at this time. Evidence points to it being a single-state (no windows driver onboard which is great). The evidence is that the ads I read said the package contains a cd. Why ship a cd if the driver is in the adapter?

It comes with a nice looking extension cable/cradle which is very welcome in order to place the adapter at a location where it can get good reception. The chipset is the mt7921au so it should be plug and play. Something confusing on tp-link's support site for this product is that they list a v1 and a v1.6. tp-link is notorious for changing chipsets without changing product model numbers which is a killer for us Linux users but in this case, the limited evidence I can find points to both versions using the same Mediatek chip. I have no idea what the real difference is in the 2 versions.

WARNING: If you decide you want to buy this adapter, I noticed that tp-link has numerous adapters with similar product names. I see the TX50UH name but that is NOT this product. You need to be very careful to get the TXE50UH

I'll wait for feedback before taking any action so please let me know what you think and if you have this adapter, please post the details and your opinion as to whether this is a good adapter that Linux users should consider.

@morrownr

@dogkeeper886
Copy link

I want to express my thanks for your helpful documentation. I have a TP-Link AXE3000 USB dongle, specifically the Archer TXE50UH (US) Version 1.0. I'm running Rocky Linux 5.14, which requires me to compile the kernel myself; I'm using version 6.1.119.

I encountered the same issue you described with the Netgear A8000. After creating a udev rule, I ran into a hardware initialization error. Luckily, I came across a post suggesting that adjusting the USB version to 2.0 might help. After doing so, the device finally worked, though it wasn’t a fun experience.

Thanks again for your support!

@morrownr
Copy link
Owner Author

morrownr commented Dec 9, 2024

G'day @dogkeeper886

Thanks for the report. Not exactly plug and play but it is a start.

What vid/pid does the adapter have?

I can help get the vid/pid into the kernel with a bit more testing and confirmation from another user. I hate to be picky but mistakes are a pain to clean up.

Did you use the latest firmware files?

While 6.1 should be okay, I generally recommend 6.6 or later if that is doable.

Keep me posted. I want to know how this adapter is working out.

@dogkeeper886
Copy link

Here is the lsusb info.
Bus 001 Device 003: ID 35bc:0107 MediaTek Inc. Wireless_Device
I think the kernel or linux distribution did a great job. We just missing a udev rule. I remember trying it on Fedora before, which already has the mt7921u module, but it still wasn't plug-and-play. At the time, I didn't realize where the problem was.

@morrownr
Copy link
Owner Author

@dogkeeper886

Okay, so the vid/pid is ID 35bc:0107 . Do you mind running and posting the results of the following just to double check:

$ lsmod | grep mt79

I think the kernel or linux distribution did a great job. We just missing a udev rule.

We have Mediatek to thank for doing their Linux driver the right way. In fact, Mediatek already has the mt7925u driver in the kernel. That is a WiFi 7 chip. I run a M.2 card with a mt7925 chip and it runs well. It uses the mt7925e driver.

For educational purposes:

It is best if the adapter makers use a chip maker standard vid/pid but some, like Netgear and TP-Link, use their own. Edup, Panda, Alfa and Fenvi generally use the standard vid/pid. You can see this in the Plug and Play List in the mt7921au section. Right now, the Netgear adapter is the only one where we had to add a udev rule and send a patch to linux-wireless.

Adding a udev rule is a temp fix. The real fix is to send a patch to linux-wireless to get the new vid-pid included in the mainline kernel. Would you like to assist me in doing that?

Back to business: Can I get you to do a test on the adapter to see if it is a single-state (no storage for Windows driver) adapter? If so, we can turn usb_modeswwitch off and if you reboot, your adapter should still come right up and be useable. Here is how to turn usb_modeswitch off:

How to deactivate usb_modeswitch:

sudo nano /etc/usb_modeswitch.conf

Change

DisableSwitching=0

to

DisableSwitching=1

sudo reboot

@dogkeeper886
Copy link

Thanks, bro! I never had the chance to understand that before. I'll give the usb_modeswitch thing a try.

`HTML

mt7921u                24576  0
mt7921_common          94208  1 mt7921u
mt76_connac_lib        81920  2 mt7921_common,mt7921u
mt76_usb               40960  1 mt7921u
mt76                  106496  4 mt76_usb,mt7921_common,mt76_connac_lib,mt7921u
mac80211             1261568  3 mt76,mt7921_common,mt76_connac_lib
cfg80211             1110016  5 mt76,mac80211,mt7921_common,mt76_connac_lib

`

@morrownr morrownr changed the title [New Adapter] tp-link Archer TXE50UH (uses the mt7921au chip, or so it would appear) [New Adapter] tp-link Archer TXE50UH (uses the mt7921au chip and mt7921u driver) Dec 10, 2024
@morrownr
Copy link
Owner Author

Thanks for confirming that the adapter is using the mt7921u driver. Let me know the results of the usb_modeswitch test.

After creating a udev rule, I ran into a hardware initialization error. Luckily, I came across a post suggesting that adjusting the USB version to 2.0 might help.

As you have time, give me more details about this issue What were you seeing when in USB3 mode?

Let me know when you are ready to step through the process of sending a patch to linux-wireless and I will start sending information so that you can walk through it with me. If we can finish within 2 weeks or so then the patch should go into kernel 6.14 just in time for Ubuntu 25.04 and if we say the right things, the patch will be backported to the 6.12, 6.6 and 6.1 LTS kernels. Cool huh? This will make your adapter truly plug and play going forward.

@dogkeeper886
Copy link

I connected it to another Windows 10 PC, but it doesn't have the storage folder, similar to what happened with my Rocky Linux setup. Is this the information you need?

By the way. I verified the USB3 initialization problem on another desktop, and it didn't occur.

@morrownr
Copy link
Owner Author

morrownr commented Dec 11, 2024

I connected it to another Windows 10 PC, but it doesn't have the storage folder, similar to what happened with my Rocky Linux setup. Is this the information you need?

Yes, I am looking for confirmation that this adapter is single-state (no onboard Windows driver). It sounds like you are confirming that the adapter is single-state.

I go through a list of bad things to filter out adapters that should not go into the Plug and play List. Another on the list is multi-function (wifi and bluetooth support). Can you confirm that no bluetooth support is turned on?

So far, this adapter looks like a good candidate to go into the Plug and Play List. Are you seeing anything, other than the vid/pid not being in the kernel yet, that would cause you to tell me not to put this adapter in the Plug and Play List? If not, let me know when you are ready to work with me on getting the vid/pid in the kernel. We can take it one step at a time.

Since you are compiling a mainline kernel for Rocky anyway, that would make it easy for you to test the patch that we come up with.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants