[PATCH] Alternate rtl8192cu driver.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

Attachment: rtl8192cu_alt.diff.gz
Description: application/gzip

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux