[PATCH] Alternate rtl8192cu driver.
P. Varet
p.varet at gmail.com
Mon Jul 6 16:25:25 UTC 2015
Hi all,
This is me keeping a promise I made to Greg KH half a year ago. (Thread here:
https://www.reddit.com/r/linux/comments/2ny1lz/im_greg_kroahhartman_linux_kernel_developer_ama/cmhyvqh)
WHAT IS THIS?
=============
This is an alternate implementation of a driver for the RTL8192CU family of
chipsets. It's exactly the driver made available by Realtek on their website,
except patched so it will compile against kernels that no longer provide the old
procfs API and with calls to strnicmp() replaced with strncasecmp().
A bunch of tiny details also got fixed, but nothing important. (Making logs less
verbose and such.)
This alternate driver is maintained here: https://github.com/pvaret/rtl8192cu-fixes
The original Realtek driver is available here:
http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#2772
WHY NOT USE THE EXISTING DRIVER?
================================
The RTL8192CU driver that currently ships with the kernel doesn't work well, or
sometimes at all, with many of the devices that it purports to support. As far
as I can tell, this is due to this still unsolved bug:
https://bugzilla.kernel.org/show_bug.cgi?id=57171
The driver provided in this patch works with many such devices (though, sadly,
not all). It allows owners of devices such as the Belkin N300 USB WiFi adapter
to use them on Linux.
My knowledge of the inner workings of that class of hardware is WAY too low to
tell why it doesn't work with some devices even though those use the 8192cu
chipset. (I blame Realtek.)
IS THIS PATCH COMPLETE?
=======================
Alas, no.
The Makefile that comes with this driver is intended to compile it as a DKMS
module. It would have to be ported to a 'proper' kernel Makefile.
It also lacks a proper port of the procfs populating code to the new procfs API,
though that doesn't prevent it from working. (I only disabled the code that uses
the old API on kernel versions > 3.9.)
WHY MERGE IT?
=============
As far as I know, it's the only way to get certain devices, like the
aforementioned Belkin N300, to work at all on Linux.
I therefore get a LOT of requests to try and see this driver mainlined. I also
promised Greg KH I'd submit it here. (And sorry about the latency, by the way.
These have been busy months.)
That said, it's obviously not ready to be mainlined yet, of course. There's the
Makefile issue, and from what I can tell, the code could use a good scrubbing.
(Stuff that's sadly out of my immediate skillset.)
PATCH
=====
Attached as a bzipped file because it's LARGE. I hope that's okay.
Thanks, all. Keep up the good work. You've done more for Linux than I could ever
dream to achieve. :)
-- P. Varet
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rtl8192cu_alt.diff.gz
Type: application/gzip
Size: 1100274 bytes
Desc: not available
URL: <http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/attachments/20150706/c3b1f9ce/attachment-0001.bin>
More information about the devel
mailing list