0bda:8178 buggy driver rtl8192cu

Bug #1365844 reported by paraquat on 2014-09-05
82
This bug affects 17 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Low
Unassigned

Bug Description

Ubuntu 14.04/14.10 driver rtl8192cu for a Realtek USB wireless card is buggy. I can connect to wifi, but soon the connection is dropped.

WORKAROUND: 1. First check whether the buggy driver rtl8192cu is active in your operating system. Execute at a terminal window:
lsmod | grep rtl

2. Disconnect your wireless connection (unplug the USB adapter that contains the Realtek chipset), and temporarily connect to the internet by means of an ethernet cable (or by means of another wireless chipset that does function well).

3. Now install some applications for building the right driver via a terminal:
sudo apt-get install linux-headers-generic build-essential dkms git

4. Now download the source code of the driver via a terminal:
git clone https://github.com/pvaret/rtl8192cu-fixes.git

5. Set it up as a DKMS module via a terminal:
sudo dkms add ./rtl8192cu-fixes

6. Build and install the new driver via a terminal:
sudo dkms install 8192cu/1.9

7. Refresh the module list via a terminal:
sudo depmod -a

8. Blacklist the faulty driver via a terminal:
sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/

9. Reboot your computer. The problem should now be solved: disconnect the temporary ethernet cable and insert the Realtek device again. With the following terminal command you can check whether the right driver is active now (copy and paste it into the terminal):
lsmod | grep 8192

Note: a possibly surprising side effect might be, that the light on your wireless card is blinking constantly now. That's normal: the light is blinking whenever data are being sent or received.

Source: https://github.com/pvaret/rtl8192cu-fixes

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-headers-3.13.0-24 3.13.0-24.47
ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
Uname: Linux 3.13.0-35-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: bob 1852 F.... pulseaudio
 /dev/snd/controlC1: bob 1852 F.... pulseaudio
CurrentDesktop: LXDE
Date: Fri Sep 5 14:02:05 2014
HibernationDevice: RESUME=UUID=6d790ec4-ec3d-43a7-ab1a-c4b574e60673
InstallationDate: Installed on 2014-05-20 (107 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140417)
MachineType: ASUS All Series
PackageArchitecture: all
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-35-generic root=UUID=37f58aeb-6419-4ca6-a667-002bb0791572 ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-35-generic N/A
 linux-backports-modules-3.13.0-35-generic N/A
 linux-firmware 1.127.5
RfKill:

SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 01/07/2014
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 0803
dmi.board.asset.tag: To be filled by O.E.M.
dmi.board.name: H81I-PLUS
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: Rev X.0x
dmi.chassis.asset.tag: Asset-1234567890
dmi.chassis.type: 3
dmi.chassis.vendor: Chassis Manufacture
dmi.chassis.version: Chassis Version
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0803:bd01/07/2014:svnASUS:pnAllSeries:pvrSystemVersion:rvnASUSTeKCOMPUTERINC.:rnH81I-PLUS:rvrRevX.0x:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: All Series
dmi.product.version: System Version
dmi.sys.vendor: ASUS

paraquat (robert-storey) wrote :

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
tags: added: bios-outdated-2105
description: updated
summary: - buggy driver rtl8192c
+ 0bda:8178 buggy driver rtl8192cu
Changed in linux (Ubuntu):
importance: Undecided → Low

paraquat, thank you for reporting this and helping make Ubuntu better. Could you please reverse your WORKAROUND and test the latest upstream kernel available from the very top line at the top of the page (not the daily folder) following https://wiki.ubuntu.com/KernelMainlineBuilds ? It will allow additional upstream developers to examine the issue. Once you've tested the upstream kernel, please comment on which kernel version specifically you tested. If this bug is fixed in the mainline kernel, please add the following tags:
kernel-fixed-upstream
kernel-fixed-upstream-VERSION-NUMBER

where VERSION-NUMBER is the version number of the kernel you tested exactly shown as:
kernel-fixed-upstream-3.17-rc3

This can be done by clicking on the yellow circle with a black pencil icon next to the word Tags located at the bottom of the bug description.

If the mainline kernel does not fix this bug, please add the following tags:
kernel-bug-exists-upstream
kernel-bug-exists-upstream-VERSION-NUMBER

Once testing of the upstream kernel is complete, please mark this bug's Status as Confirmed. Please let us know your results. Thank you for your understanding.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
paraquat (robert-storey) wrote :

Hello Chris, I'm sorry that it has taken me so long to respond. The truth is that none of the hoped-for fixes in the upstream kernels worked. I waited awhile to see if things would get better, but they have not.

Here are my latest experiments, and the results...

I downloaded and installed Ubuntu 14.10-beta2 today, and after updating it, the kernel (as identified by the output of "uname -r") was 3.16.0-20-generic. That had the same bug, so no joy there.

I then went and downloaded the latest package for the latest upstream kernel:

linux-headers-3.17.0-031700rc7-generic_3.17.0-031700rc7.201409281835_amd64.deb

Installed this, rebooted, and confirmed that I was now running kernel 3.17.0-031700rc7-generic. But wireless was broken as before.

Removed the upstream kernel, ran update-grub just to be sure the system would be bootable, and rebooted. Back in kernel 3.16.0-20-generic and applied my workaround. A reboot later and I was OK, wireless fixed, but not in a nice way.

I decided to give another distro a try, in particular, Linux Mint Debian, which is based on Debian Testing. Same bug exists there, and same workaround solves it. This is running kernel 3.11-2-amd64.

Well, at least it's not just a Ubuntu thing.

Let me know if you have any other experiments that you would like me to try.

best regards,
Paraquat

paraquat, the issue you are reporting is an upstream one. Could you please report this problem through the appropriate channel by following the instructions _verbatim_ at https://wiki.ubuntu.com/Bugs/Upstream/kernel ?

Please provide a direct URL to your e-mail to the mailing list once you have made it so that it may be tracked.

Thank you for your understanding.

tags: added: utopic
tags: added: kernel-bug-exists-upstream kernel-bug-exists-upstream-3.17-rc7
Changed in linux (Ubuntu):
status: Incomplete → Triaged

Same Issue; tested on fresh installed Ubuntu 14.10 and no surprise, connection drop after a while...

NOTE: i did the same exact way as explained by the above to load the module for chip 8192. When i do `lsmod | grep 8192` i can see it has been loaded. But the problem continuous.

keshara Dorakumbura, thank you for your comment. So your hardware and problem may be tracked, could you please file a new report with Ubuntu by executing the following in a terminal while booted into the default Ubuntu kernel (not a mainline one) via:
ubuntu-bug linux

For more on this, please read the official Ubuntu documentation:
Ubuntu Bug Control and Ubuntu Bug Squad: https://wiki.ubuntu.com/Bugs/BestPractices#X.2BAC8-Reporting.Focus_on_One_Issue
Ubuntu Kernel Team: https://wiki.ubuntu.com/KernelTeam/KernelTeamBugPolicies#Filing_Kernel_Bug_reports
https://wiki.ubuntu.com/Kernel/Policies/DuplicateBugs
Ubuntu Community: https://help.ubuntu.com/community/ReportingBugs#Bug_reporting_etiquette

When opening up the new report, please feel free to subscribe me to it.

As well, please do not announce in this report you created a new bug report.

Thank you for your understanding.

Helpful bug reporting tips:
https://wiki.ubuntu.com/ReportingBugs

Probably the "WORKAROUD" listed above should solve this bug. But, i think, most of users might lead not to get it right because of DKMS behavior. See my procedure, where i will point it out howto get it right...

01. install necessaries
$ sudo apt-get install linux-headers-generic build-essential dkms

02. reboot the system
### - this is where, I think, most of us do not get it right because anyone who won't reboot the system now, probably build a kernel module that would not worth to the system.

Why.?
When you execute part01 commands, the chances of installing new kernel version are probably be high. So, building kernel module using DKMS without a reboot will install kernel module only for the current kernel version, not for the new kernel version ,which, of course, will be the working kernel when the system reboots. Therefore, after executing step01 commands, make sure to reboot the system, so that following DKMS related commands will build a kernel module for the right kernel version.

03. Clone this repository
$ git clone https://github.com/pvaret/rtl8192cu-fixes.git

04. Set it up as a DKMS module
$ sudo dkms add ./rtl8192cu-fixes

05. Build and install it
$ sudo dkms install 8192cu/1.9

06. Refresh the module list
$ sudo depmod -a

07. Ensure the native (and broken) kernel driver is blacklisted
$ sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/

08. There is a known issue with power management on some hardware. If your WiFi connection drops after a few minutes, install the following module setting file to disable power management in your WiFi interface
$ sudo cp ./rtl8192cu-fixes/8192cu-disable-power-management.conf /etc/modprobe.d/

- reboot the system & have fun -

Jeb E. (jebeld17) on 2015-04-27
Changed in linux (Ubuntu):
status: Triaged → Confirmed

Jeb E., please do not adjust the Status, or mark this a duplicate of another report (or vice versa).

Changed in linux (Ubuntu):
status: Confirmed → Triaged
sgon00 (sgon00) wrote :

Any updates on this?

paraquat, could you please test the latest mainline kernel (4.1.1) and advise to the results?

Changed in linux (Ubuntu):
status: Triaged → Incomplete
gwern (gwern0) wrote :

I can confirm this is still a problem on 15.04:

Distributor ID: Ubuntu
Description: Ubuntu 15.04
Release: 15.04
Codename: vivid
Linux craft 3.19.0-26-generic #27-Ubuntu SMP Tue Jul 28 18:27:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Plugging in an "EDIMAX EW-7811Un N150 USB 2.0 Wireless nano Adapter" using the rtl8192cu default driver leads to a working WiFi device which will connect to open networks but then silently fail after a few seconds or minutes. Following http://github.com/pvaret/rtl8192cu-fixes fixes the issue 100% as far as I can tell so far.

(This was also the case for a Debian 8 Stretch install I tried it on, and IIRC, I also tried out the dongle on a 4.2x kernel fork I was compiling in order to get working ath10k/Atheros WiFi drivers and the dongle did not work by default there, so I guess it's still an issue upstream?)

Uriel Tunn (u2n) wrote :

Fresh installs of both Ubuntu and Lubuntu (i32) still have this ANNOYING bug.

Thanks, @paraquat for the fix, which works perfectly. Have you made a patch and "signed ze papers" so that it can be incorporated upstream?

Jes Sorensen (jes-sorensen) wrote :

If you are willing to compile your own kernel, you can try my rtl8xxxu driver. It's under development and currently
on supports station mode (no AP or MESH mode). It should work with the 7811, but I don't have one to test with:

http://git.kernel.org/cgit/linux/kernel/git/jes/linux.git/log/?h=rtl8723au-mac80211

Any feedback is welcome

Jes

Florian Echtler (floe) wrote :

For the record, this still is a problem on 14.04 with HWE kernel (currently linux-image-generic-lts-vivid-3.19.0.26.13). Bad throughput and massive packet loss with built-in driver, no issues anymore with out-of-tree driver.

Florian Echtler, it will help immensely if you filed a new report via a terminal:
ubuntu-bug linux

Please feel free to subscribe me to it.

Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
Vincent Thiele (vincentthiele) wrote :

still not working on wily

tags: added: wily

Vincent Thiele, it will help immensely if you filed a new report via a terminal:
ubuntu-bug linux

Please feel free to subscribe me to it.

tags: removed: wily
Vincent Thiele (vincentthiele) wrote :

Christopher M. Penalver, I can't subscribe you, filled new bug here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1518642

For the records, I am having this very same problem with e TP-Link TL-WN821N, shipped with a rtl8192cu chipset.

I have recompiled the kernel enabling Jes Sorensen driver,

## file: drivers/net/wireless/realtek/rtl8xxxu/Kconfig
##
CONFIG_RTL8XXXU=m
CONFIG_RTL8XXXU_UNTESTED=y

and added this line to a file under /etc/modprobe.d

alias usb:v0BDAp8178d*dc*dsc*dp*icFFiscFFipFFin* rtl8xxxu

If the dongle is initially connected, system loads the module when booting but seems not to initialize the dongle, so I have no connection. However, if I disconnect the dongle and reconnect it again with the system on, everything seems to work well, no connection dropping. Only minimally tested, but apart from the boot problem apparently much better that with the built-in rtl8192cu kernel module.

Forgot to mention,

All tests in a Debian jessie box with with kernel 4.7.8 from Debian jessie backports (source package linux_4.7.8-1~bpo8+1.dsc). Not Ubuntu, but should also be useful for Ubuntu.

Agustin Martin, it will help immensely if you filed a new report with Ubuntu, using the default repository kernel (not mainline/upstream/3rd party) via a terminal:
ubuntu-bug linux

Please feel free to subscribe me to it.

For more on why this is helpful, please see https://wiki.ubuntu.com/ReportingBugs.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers