4

I use Ubuntu 17.10 and the following USB adapter:

lsusb  | grep -o 'ASUS.*'

ASUSTek Computer, Inc. N10 Nano 802.11n Network Adapter [Realtek RTL8192CU]

sudo lshw -class network | grep -o '.*rtl.*generic'

configuration: broadcast=yes driver=rtl8192cu driverversion=4.13.0-21-generic

When the computer starts the Internet works fine (excepting the upload and download speeds which are 3 times slower than for another device), but after a while (usually just a few minutes) the Internet goes down and I need to run the following command in order to make it available again (or to wait about more than 5 minutes for auto-reconnect):

sudo /etc/init.d/network-manager restart

I read here:

The wireless Realtek chipsets RTL8188CUS and RTL8192CU should run well on the default RTL8192CU driver (at least since the introduction of the 4.4 kernel series). So they should work fine out of the box. Plug and play, no action needed anymore.

The driver from CD seems deprecated for this kernel version.

Disabling IPv6 from my WiFi setting/for the whole system didn't fix the problem.

Is there a problem with the driver?
Or is there something else that can make it fail after a while?


Edit:

iwconfig

Running iwconfigshows a similar output (all of them show Power Management:off) with 2 differences:

  • before the first disconnect

      Link Quality=52/70  Signal level=-58 dBm  
      Tx excessive retries:0  Invalid misc:3   Missed beacon:0
    
  • after disconnect

      Link Quality=52/70  Signal level=-58 dBm  
      Tx excessive retries:0  Invalid misc:135   Missed beacon:0
    
  • after a reconnect (restarting the network-manager service)

      Link Quality=38/70  Signal level=-72 dBm  
      Tx excessive retries:0  Invalid misc:8   Missed beacon:0
    

journalctl

# sudo journalctl -fu NetworkManager

...
dec 25 22:59:50 ... NetworkManager[...]: [...] manager: rfkill: WiFi hardware radio set enabled
dec 25 22:59:50 ... NetworkManager[...]: [...] manager: rfkill: WWAN hardware radio set enabled

The wireless disconnected at about 23:10:00 and after about 5 minutes:

dec 25 23:15:10 ... NetworkManager[...]: [...] connectivity: (wlx...) timed out
dec 25 23:15:26 ... NetworkManager[...]: [...] policy: set '...' (wlx...) as default for IPv6 routing and DNS
dec 25 23:20:10 ... NetworkManager[...]: [...] connectivity: (wlx...) timed out

modprobe.d

Adding the following files/lines didn't fix the problem:

cat /etc/modprobe.d/rtl8192cu.conf

options rtl8192cu fwlps=N

cat /etc/modprobe.d/rtl8xxxu.conf

blackist rtl8xxxu

cat /etc/modprobe.d/blacklist.conf  | grep rtl

blacklist rtl8xxxu
blacklist rtl8192c_common

2 Answers2

3

The problem was fixed using the instructions from here:

sudo apt-get install linux-headers-$(uname -r) build-essential dkms git
git clone https://github.com/pvaret/rtl8192cu-fixes.git
sudo dkms add ./rtl8192cu-fixes
sudo dkms install 8192cu/1.10
sudo depmod -a
sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
sudo cp ./rtl8192cu-fixes/8192cu-disable-power-management.conf /etc/modprobe.d/
reboot

I hope that it's not just a coincidence, but it worked for the last 1 hour.

Until now, I ignored the posts that included this GitHub URL: https://github.com/pvaret/rtl8192cu-fixes because of the README.md file that specified the following:

!! This driver is DEPRECATED !!

The new rtl8xxxu driver initially introduced in kernel 4.4 works pretty well these days, and you almost certainly should prefer it to this repository.

If rtl8xxxu gives you problems, try troubleshooting it before installing this driver. Known things to look for are:

Some devices require that power management be disabled in NetworkManager. Follow the instructions further down to disable power management in NetworkManager. Make sure to blacklist the older rtl8192cu driver, which tends to be loaded by default otherwise.

1

I would try blacklisting the other module that is loaded and reboot

echo "blackist rtl8xxxu" | sudo tee /etc/modprobe.d/rtl8xxxu.conf
Jeremy31
  • 12,602
  • 10
  • 58
  • 114