Wlan Realtek CHIP TYPE: RTL8188C_8192C idVendor=0bda, idProduct=8176, 8192cu, rtl8192cu

My Digitus DN-7045 never really worked with the drivers coming with the default- or pae-kernel.
I use a 3.9.5-12.g08531e3-pae kernel from Tumbleweed OpenSuse 12.3 at the moment.

The Wlan-stick uses the realtek 8192 chip and the native rtl8192cu kernel module allows to connect to a WPA2 secured router, but that connection refuses to work after some time, often minutes, sometimes seconds, without setting off any alarm or failure note. The fact, that the connection is working no more is only showing by time out of web page requests. Of no use, therefore.

With prior kernels (< 3.6 or so), it was possible to download an appropriate driver from Realtek.tw, but that driver doesn’t compile anymore on present kernels like the 3.9.5.
That Realtek.tw driver worked like a charm - even the led of the stick blinked at the rhythm of the data transfer, while the native rtl8192cu module always kept the led switched on with the Wlan-stick attached.

Now I found a site where the problems with compiling the Realtek.tw driver had been solved for ubuntu 13.04 and I decided to give that solution a chance, downloaded the package rtl8192cu-tjp-dkms_1.6_all.deb and extracted the deb-package with ark. The deb package contains three files, control.tar.gz, data.tar.gz and debian-binary.
After extracting further data.tar.gz, you find a directory usr and therein a directory /usr/src/rtl8192cu-tjp-1.6.
You might have to change the access rights to get this directory rtl8192cu-tjp-1.6.
This is the modified Realtek.tw driver that now is compilable with the present 3.9.5 kernel.

Within the directory rtl8192cu-tjp-1.6 with ‘make’ and, as root, ‘make install’, the module 8192cu gets installed and is working fine so far.

As mentioned at the Project Home of the site linked to at the bottom of this post, you better blacklist the native modules to give the Realtek.tw driver the advantage. Add to the file /etc/modprobe.d/50-blacklist.conf the following lines:

blacklist rtl8192cu
blacklist rtl8192c_common
blacklist rtlwifi

https://code.google.com/p/realtek-8188cus-wireless-drivers-3444749-ubuntu-1304/

It would be great, if this working 8192cu module could get merged into a working native kernel driver. At the moment, I am happy with this handmade solution to get the Digitus-Stick up and running at all.

Bruno

On 06/16/2013 09:16 AM, Brunolab wrote:
>
> It would be great, if this working 8192cu module could get merged into
> a working native kernel driver. At the moment, I am happy with this
> handmade solution to get the Digitus-Stick up and running at all.

That will NEVER happen. That Realtek driver violates nearly every coding
standard of the kernel. You may use it if you wish; however, the version of
rtl8192cu in kernels 3.10-rc1 and later has a large number of bug fixes, and
it implements all the features of a modern mac80211-based driver that the vendor
version will never have.

I now use the 3.10.0-16.g3dcd746-pae kernel and hoped to get the Realtek 8192 Wlan-stick working with the native kernel module, but the symptoms are still the same as described above.
Connection seems to work at first, but after minutes, no more data exchange with the internet and no failure note either.
But unfortunately now the workaround using the rtl8192cu-tjp-dkms_1.6_all.deb package doesn’t compile anymore with the 3.10 kernel.

So finally I can’t use at all the Realtek 8192cu Wlan-USB-stick with the new 3.10 kernel.

Finally I succeeded in compiling a patched version of the rtl8192cu-tjp-1.6 driver mentioned above with the current 3.10.1-17.gb92a291-pae kernel from Tumbleweed.

To get there, I downloaded

https://github.com/archlinuxarm/PKGBUILDs/blob/81f39bc21223b072935e8e83c462f926c7b0cdf7/aur/dkms-8192cu/fix_310_proc.patch

and stored it in the rtl8192cu-tjp-1.6 directory.
Execute
patch -Np1 -i fix_310_proc.patch
in this directory.
Then compile with make and, as root, make install.

You have to blacklist the native drivers as listed above in /etc/modprobe.d/50-blacklist.conf

blacklist rtl8192cu
blacklist rtl8192c_common
blacklist rtlwifi

The 8192cu driver works as expected so far.

I tried the native rtl8192cu module of every new Tumbleweed kernel up to the present 3.11.0-27.g0a1c41f-pae kernel.

Nothing has improved. Still the wlan connection is working at the beginning and after few minutes ( ~5 -15 min), with no warning nor sign, the connection just doesn’t work anymore.
You only notice, that it takes forever for loading a website until the browser gives up trying.

Luckily the patched Realtek driver (see earlier posts) compiles fine with the new kernels and is working like a charm.

I also tried the Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS], idVendor=7392, idProduct=7811,
with the same problems and the same solution.

I’m wondering why you use the pae kernel? The normal 32 bit desktop kernel supports pae.

Would the normal 32 bit desktop kernel solve the problem with the native rtl8192cu module? - I have installed the normal desktop kernel in addition, but usually I boot to the pae-kernel, wondering, why the pae- suffix is chosen, if the desktop kernel is also supporting pae.

I doubt it would solve the problem. But really don’t know. In the old days you had to have a pae kernel to address more then 4gig (32 bit limit). pae does a bank switching trick to address the above 4 gig addresses. But for some time now the pae code is just included in all the normal 32 bit builds. I suspect that a separate pae kernel is still around if you don’t want the Desktop optimizations. ie if you are running a server maybe.