Cheap Wireless USB Adapter: RTL8188EU, RTL8821AU or something else?

As the Intel AX200 in my new laptop isn't supported yet, I have to grab a cheap wireless USB adapter to bridge the gap.

The following two came to mind, because they are supported by the rtwn_usb driver and are of the "nano" type (so that it doesn't have to be removed whenever the laptop is handled):

- TP-Link TL-WN725N 150Mbps Wireless N Nano USB Adapter (RTL8188EU) for 4,94 € ~ US$ 6.01
- TP-Link Archer T2U Nano AC600 Nano Wireless USB Adapter (RTL8821AU) for 11,76 € ~ US$ 14.32

Since the rtwn_usb driver does not support any of the 802.11ac capabilities offered by the adapters, the latter at more than twice the price likely doesn't make much sense over the cheaper one. Or is there any progress on 802.11ac support or any other benefit?

Of course it would have been great to not only have access to 2.4 GHz WiFi networks, but 5 GHz ones as well, to have it all covered, but in a pinch and for a cheap interim solution 2.4 GHz only will do as well.

Anyone here with experience with any of the two adapters or a recommendation for something else in the same price range?
 
Since the rtwn_usb driver does not support any of the 802.11ac capabilities offered by the adapters, the latter at more than twice the price likely doesn't make much sense over the cheaper one.
I may have misunderstood that info from the man page. Does it mean that the higher transfer speeds are not supported or that the use of 5 GHz is not supported?

Because if the use of 5 GHz should indeed be supported, but only with speeds of up to 150 Mbps, that would be a clear advantage over the cheaper adapter.
 
Well, I have just ordered two pieces of the cheaper TP-Link TL-WN725N, which should arrive in a few days.

Luckily I have also found an old AboCom WU5202 (RT2770/RT2720, Device ID: 07b8:2770) that should work well with the run driver, so I don't have to wait for the TP-Link units to give it a try with a fresh FreeBSD 12.2-RELEASE installation on that new laptop. :)
 
The second device supports 5Ghz, so it's a bit faster. It will work in the 'n' mode under FreeBSD 12.2 instead of 'ac'.
I know that 802.11n can use 2.4 and 5GHz, but the question is how well such a RTL8821AU device actually works with the rtwn_usb driver in either or both bands. Some reports mentioned slow and/or unstable connections, which is why I was hesitant to go for the second device.

I have currently disabled the 5GHz option in my WiFi mesh network, but I'm still thinking of getting the RTL8821AU device as well to be able to compare. A lot of "if"s considering that neither the RTL8188EU device has arrived yet, nor has the new laptop been unpacked, gone through final assembly (barebone without RAM and NVMe) and FreeBSD been installed yet... I wish I had more time for all of that...
 
Well, I have just ordered two pieces of the cheaper TP-Link TL-WN725N, which should arrive in a few days.

Luckily I have also found an old AboCom WU5202 (RT2770/RT2720, Device ID: 07b8:2770) that should work well with the run driver, so I don't have to wait for the TP-Link units to give it a try with a fresh FreeBSD 12.2-RELEASE installation on that new laptop. :)
MasterOne do you have any experience with the TL-WN725N meanwhile? I am also using it since a few months (since my new Dell notebook also only has an AX200) but the connectivity is quite unstable, with FreeBSD 12.2 and now 13.0.

Especially if I transfer a lot of data or interestingly enough if I connect it to an USB hub and there also is a harddisk connected which is busy (then it is really bad), it frequently loses connectivity and I have to do an "ifconfig down up" to restart it (which works in 90% of the cases). I have even written a small monitoring shell script that does this for me so I can live with it.

Logs don't say anything and I googled quite a bit but I did not really found anything.

Am I really the only one with this problem?

It is connected to USB-C via an adapter which shouldn't make any difference (harddisks or printers work flawlessly).
 
pebkac, sorry, no experience so far, because other things kept me too busy to finally start with FreeBSD.

But from what you described more likely an USB issue, since you are using it on a hub?

I'd give it its own port, as my usage case would be on the go only, using wired network whenever in use on my desk.
 
MasterOne thanks for your reply. The hub makes it worse, I am also using it without a hub but then with a USB-C adapter. Nonetheless you are probably right and it has something to do with USB 3/2...

Will continue to live with it for now and simply try out net/wifibox once it is in quarterly and hopefully I can use the built-in AX200 that way until it is supported by FreeBSD itself. :)
 
So far, on FreeBSD, I've never gotten more than 7MBs on wireless, and that's unusual. Usually it's around 2MB. This is with Intel 7260 cards, and a 9260ac, also Intel. I vaguely remember a thread on these forums where someone was getting really good speed with an Atheros card, but don't remember the details.
In contrast, with Linux, I get around 30-50MBs with these cards on a lan.

HOWEVER. This slower speed is still fast enough to watch, say, youtube videos. And, using one of the tutorials on this forum, showing how to use the brave browser and linux compatibility, I've found it fast enough to watch Netflix as well. So, I don't think you are going to get great speeds with anything, but I do think it will be fast enough. Back when I had to use an adapter, I think I was using Edimax 7811un without problem. I believe it uses Realtek, but it's been awhile, and I don't remember which one. I should try wifibox as well, but I'm basically lazy, and don't have much need for it.
 
I used to use various Atheros cards and getting good speeds especially with AR9380 ('an' band included) but they wouldn't fit your use case (laptop and minimalistic size requirement).

Maybe that WiFi card in your laptop is easily replaceable (hidden under separate small cover) and you could swap it out against supported WiFi module compatible with your laptop?
Without voiding warranty that is.

eBay/Amazon are normally good places for picking up such modules (people are often trying to recoup some money off their broken-down laptop by selling component parts online)
 
Hello,

In my opinion, the best method for looking a working wifi device is to read the man pages of the individual drivers such as rtwn(), ral() or iwm() and then look for a stick or pci card with the supported chipset that fits for you.

For example i have bought a Hommie Dual-Band WiFi Card AC PCIE Card that is using the iwm() driver. (No intentional advertising at this point.)
iwm0: <Intel(R) Dual Band Wireless AC 7265> mem 0xa0100000-0xa0101fff at device 0.0 on pci2
 
TP-Link TL-WN725N works (tested in 13.0-RELEASE on arm)
Code:
rtwn0: <Realtek 802.11n NIC, class 0/0, rev 2.00/0.00, addr 5> on usbus1
rtwn0: MAC/BB RTL8188EU, RF 6052 1T1R
 
Startech publishes the actual chipset used in their adapters on their website. My experience with them is that the hardware matches the description:
 
So I'm currently playing around with the mentioned TP-Link Archer T2U Nano AC600 Nano Wireless USB Adapter (RTL8821AU) in FreeBSD 13-RELEASE-p5:

Code:
rtwn0 on uhub1
rtwn0: <802.11ac WLAN Adapter > on usbus1
rtwn0: MAC/BB RTL8821AU, RF 6052 1T1R

It is generally working, but suffering the occasional device timeout error, which resets the wireless connection. I've tried to find an explanation for that behavior unsuccessfully.

Although I have read rtwn(4), rtwn_usb(4) and rtwnfw(4), I'm not sure which configuration steps are actually needed:
  • So the rtwn.ko and if_rtwn_usb.ko modules get loaded automatically, but the firmware image rtwn-rtl8821aufw.ko is not.
  • Adding rtwn-rtl8821aufw_load="YES" to /boot/loader.conf loads rtwn-rtl8821aufw.ko, but it does not seem to make any difference.
  • Adding legal.realtek.license_ack=1 to /boot/loader.conf does not seem to make any difference.
What am I missing here?

Isn't the firmware supposed to be loaded automatically or is it intentionally not loaded because it's not necessary (anymore)?

Any idea how to analyze the recurring device timeout error?
 
/boot/loader.conf ?…

I reckon, refrain from early loading unless you have an extraordinary reason to do so.

(Your hardware aside: an unconfirmed suspicion that loss of ability to connect to eduroam related to loader.conf(5) misuse and/or misunderstanding.)

… occasional device timeout error, …

Logged where?

Code:
% which wlandebug
/usr/sbin/wlandebug
% man 8 wlandebug
%

wlandebug(8)

– I don't how to use the command.

Maybe:
  1. aim first for <{link removed}> (browse)
  2. search <{link removed}>
  3. if you do need to debug, try the wiki
{link removed}
 
Last edited:
I reckon, refrain from early loading unless you have an extraordinary reason to do so. (Your hardware aside: an unconfirmed suspicion that loss of ability to connect to eduroam related to loader.conf(5) misuse and/or misunderstanding.)

Well, my attempts with loader.conf(5) were according to the official documentation, but I removed all of it again because rtwn.ko and if_rtwn_usb.ko are loaded automatically anyway, only rtwn-rtl8821aufw.ko does not load automatically and setting legal.realtek.license_ack=1 did not make any difference, which is the confusing part as it does not comply with what the man pages tell.

So it's now working without anything related in loader.conf(5) without loaded firmware and without accepting the license, except those recurring timeout errors (on which neither manually loading the firmware nor accepting the license has any influence).

Logged where?

/var/log/messages

Code:
Jan  9 04:14:11 mzm kernel: rtwn0 on uhub0
Jan  9 04:14:11 mzm kernel: rtwn0: <802.11ac WLAN Adapter > on usbus1
Jan  9 04:14:11 mzm kernel: rtwn0: MAC/BB RTL8821AU, RF 6052 1T1R
Jan  9 04:53:52 mzm kernel: rtwn0: device timeout
Jan  9 04:56:03 mzm kernel: rtwn0: device timeout
Jan  9 04:56:03 mzm kernel: rtwn0: ieee80211_crypto_encap returns NULL.
Jan  9 04:56:25 mzm kernel: rtwn0: device timeout
Jan  9 04:56:25 mzm kernel: rtwn0: ieee80211_crypto_encap returns NULL.
Jan  9 05:33:47 mzm kernel: rtwn0 on uhub0
Jan  9 05:33:47 mzm kernel: rtwn0: <802.11ac WLAN Adapter > on usbus1
Jan  9 05:33:47 mzm kernel: rtwn0: MAC/BB RTL8821AU, RF 6052 1T1R
Jan  9 05:48:51 mzm kernel: rtwn0: device timeout
Jan  9 06:00:38 mzm kernel: rtwn0 on uhub0
Jan  9 06:00:38 mzm kernel: rtwn0: <802.11ac WLAN Adapter > on usbus1
Jan  9 06:00:38 mzm kernel: rtwn0: MAC/BB RTL8821AU, RF 6052 1T1R
Jan  9 06:44:56 mzm kernel: rtwn0: device timeout
Jan  9 06:44:56 mzm kernel: rtwn0: ieee80211_crypto_encap returns NULL.

wlandebug(8) – I don't how to use the command.

Not sure how to use that command either, especially in such a case when it it works with only the occasional error.


Nothing about this in the mailing list, searching pretty much always only points to this thread and the wiki is of no help either.
 
Unfortunately this does not work at all. It's not just the occasional device timeout error, but errors in a frequency under load which make this totally unusable (just found out while trying to install google-fonts).

I can send a hundred pings without error or packet loss, but as soon as I start a download it starts hanging with that repeating error, making a download a long stop & go story.

I don't recall seeing anything unusual when installing using the minimal USB image, which loads the packages using that WiFi connection.

sysctl net.wlan.0.debug What's returned?

net.wlan.0.debug: 0

I have just set it to "1" but the output to /var/log/messages did not get anymore descriptive:

Code:
Jan  9 17:50:18 mzm kernel: rtwn0 on uhub1
Jan  9 17:50:18 mzm kernel: rtwn0: <802.11ac WLAN Adapter > on usbus1
Jan  9 17:50:18 mzm kernel: rtwn0: MAC/BB RTL8821AU, RF 6052 1T1R
Jan  9 17:51:22 mzm kernel: rtwn0: device timeout
Jan  9 17:51:22 mzm kernel: rtwn0: ieee80211_crypto_encap returns NULL.
Jan  9 17:51:56 mzm kernel: rtwn0: device timeout
Jan  9 17:52:41 mzm kernel: rtwn0: device timeout
Jan  9 17:52:41 mzm kernel: rtwn0: ieee80211_crypto_encap returns NULL.
 
Thanks. Not 1.

A mask such as 0x00200000 would have some effect, however:

<{link removed}>

– as far as I can tell, not the effect that's required in your case.



Essentially: I wanted to check that net.wlan.0.debug is a known oid for you, with a GENERIC kernel. I can't experiment because my current kernel is, by choice, GENERIC-NODEBUG.

Code:
% sysctl net.wlan.0.debug
sysctl: unknown oid 'net.wlan.0.debug'
% uname -iKU
GENERIC-NODEBUG 1400046 1400046
% ifconfig wlan0 | grep status
        status: associated
%
 
Last edited:
Damned, there is definitely something wrong with the rtwn(4) driver, because I have now tested four different wireless USB adapters (two of each of the ones I have mentioned in my initial post) with RTL8188EU and RTL8821AU chipsets, and they all show the same behavior with repeating device timeout errors and reconnects.

Tests with an older Ralink wireless USB adapter with RT2860/RT2720/RT2870 chipset using the run(4) driver however were successful and did not show any such problems.

What's noticeable, the rtwn(4) driver does not seem to load any firmware (nothing in /var/log/messages with or without legal.realtek.license_ack=1 in loader.conf(5)), however the run driver does (without adding anything to loader.conf(5)).

So at this point I can not recommend any wireless USB adapters that are using the rtwn(4) driver, which makes it complicated for my use case, as this is about two laptops with Intel AX200 in need of a wireless USB adapter as a temporary solution as long as the Intel AX200 is not supported (in FreeBSD RELEASE), and I only have one of the older Ralink adapters.

Can anyone recommend any other wireless USB adapter which is supported by the run(4) driver and is still available for purchase as new (preferably from Amazon.de)?
 
I use a couple of rtwn adapters without any issues, so I recommend ignoring your recommendation (in general) :)

I was hoping or some more feedback to prove me wrong.

Which RT chipsets are you using?
Are they loading the firmware automatically (with or without acknowledging the license agreement)?
Are you using them with FreeBSD 13.0-RELEASE-p6?
Did you configure anything specific to their use?

If I only knew what's possibly wrong here, but I can not think of anything at all, because it's a fresh FreeBSD 13.0-RELEASE installation with nothing else done or configured that could case the mentioned issue.
 
OK, this is super awkward now, because as it seems, it's not the rtwn(4) driver directly causing the shown device timeout and reconnect errors, but something else, possibly a ssh connection?

So if I start a large download (1GB test file) with fetch on the laptop directly, no errors.

If I connect to the FreeBSD laptop by ssh (from a laptop running Arch Linux) and start that same download (or do anything else that downloads something), or connect by ssh to the FreeBSD laptop while a download is running on that laptop, it starts hanging with the shown device timeout and reconnect errors.

As said, I can send 100 pings without error or packet loss even when connected by ssh, but as soon as I start a download, it starts hanging.

Ever seen something like this? Maybe something with send/receive buffers?

This definitely has not happened while using the older Ralink wireless USB adapter, so there must be a relation between that problem and the rtwn(4) driver.

P.S. I'm aware that this goes totally OT now for the original intent of this thread, but unfortunately my previous comments concerning this are now already in here. Should I nevertheless start a new thread or can a mod split the relevant comments into a new thread?
 
Back
Top