So I decided to buy a new one. I bought one with only RM10 (including shipping fee), but I neither knew what brand it was nor what chipset it used. I just trusted the description on the web page that it would just work perfectly in Linux. Can't ask for much with only RM10.
Here is a photo showing the old (on the left, of course) and the new one. Behold! Technology advances fast!
(Edited: I have later tested this driver r8188eu with options rtw_power_mgnt=0 rtw_enusbss=0. The speed does improve greatly to about but is still slower, in the range of 30 Mbps+.)
I decided to find out more. I checked the CD that it shipped with and found that it included a Linux driver. Weird, because Linux kernel has usually included all popular drivers, and the manufacturer does not have to provide one. Then I found something: This dongle embeds RealTek RTL8188ETV, and somehow the driver included by the current version of Linux kernel is not good enough. Better drivers are available out there.
Here's the procedure I follow to set it up, tested to work fine on Ubuntu 18.04 and Ubuntu 19.04:
- Check the existing driver and add it into the blacklist:
$ lsmod | grep 8188
r8188eu ...
$ vi /etc/modprobe.d/50-blacklist-8188eu.conf
blacklist r8188eu - Obtain the latest source code from https://github.com/quickreflex/rtl8188eus:
$ git clone -b v5.2.2.4 https://github.com/quickreflex/rtl8188eus.git - Compile, install, and use the driver:
$ cd rtl8188eus/
$ make all
$ sudo make install
$ sudo rmmod r8188eu
$ sudo depmod -a
$ sudo update-initramfs -u
$ sudo modprobe 8188eu - Test it now, or to play safe, reboot the computer and test it again.
If you run into the problem of losing connection after some time (so far I haven't encountered this problem), you may want to set some options for the driver:
$ cat /sys/module/8188eu/parameters/rtw_power_mgnt # Check the current value
$ cat /sys/module/8188eu/parameters/rtw_enusbss # Check the current value
$ vi /etc/modprobe.d/8188eu.conf
options 8188eu rtw_power_mgnt=0 rtw_enusbss=0
Here are the values defined for these options:
- rtw_power_mgnt
- 0: disable power saving
- 1: power saving on, minPS
- 2: power saving on, maxPS
- rtw_enusbss
- 0: disable auto suspend
- 1: enable auto suspend
External References:
No comments:
Post a Comment