Finally I got a WiFi driver installed last night that works!
OK, I'm using the following software from RaLink:
This is the 2.5.0.2 driver dated 05/11/2011. I had to make the
following edits to the source in order for it to work for me with the
2.6.35.14-96.fc14.x86_64 kernel:
This change is to ensure that the module works properly with Fedora's
NetworkManager!
os/linux/config.mk:
--- config.mk~ 2011-04-06 21:46:49.000000000 -0400
+++ config.mk 2011-09-24 23:50:16.020580997 -0400
@@ -54,11 +54,11 @@
HAS_APCLI=n
# Support Wpa_Supplicant
-HAS_WPA_SUPPLICANT=n
+HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
-HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
+HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
#Support Net interface block while Tx-Sw queue full
HAS_BLOCK_NET_IF=n
This next change removes the "tainted" message when installing the module.
os/linux/usb_main_dev.c:
--- usb_main_dev.c~ 2011-04-06 21:46:49.000000000 -0400
+++ usb_main_dev.c 2011-09-23 01:23:44.772507004 -0400
@@ -38,6 +38,7 @@
/* Otherwise post to forum in ralinktech's web site(www.ralinktech.com) and let all
users help you. *** */
MODULE_AUTHOR("Paul Lin <paul_lin(a)ralinktech.com>");
MODULE_DESCRIPTION("RT2870 Wireless Lan Linux Driver");
+MODULE_LICENSE("GPL");
#ifdef CONFIG_STA_SUPPORT
#ifdef MODULE_VERSION
MODULE_VERSION(STA_DRIVER_VERSION);
And finally, this last change fixes the "unknown symbols" problem when
the module is loaded.
include/os/linux/rt_linux.h:
--- rt_linux.h~ 2011-04-06 21:46:49.000000000 -0400
+++ rt_linux.h 2011-09-23 01:29:52.752507004 -0400
@@ -1160,8 +1160,8 @@
#define RTUSB_URB_ALLOC_BUFFER(_dev, _size, _dma) usb_alloc_coherent(_dev, _size,
GFP_ATOMIC, _dma)
#define RTUSB_URB_FREE_BUFFER(_dev, _size, _addr, _dma) usb_free_coherent(_dev, _size,
_addr, _dma)
#else
-#define RTUSB_URB_ALLOC_BUFFER(_dev, _size, _dma) usb_buffer_alloc(_dev, _size,
GFP_ATOMIC, _dma)
-#define RTUSB_URB_FREE_BUFFER(_dev, _size, _addr, _dma) usb_buffer_free(_dev, _size,
_addr, _dma)
+#define RTUSB_URB_ALLOC_BUFFER(_dev, _size, _dma) usb_alloc_coherent(_dev, _size,
GFP_ATOMIC, _dma)
+#define RTUSB_URB_FREE_BUFFER(_dev, _size, _addr, _dma) usb_free_coherent(_dev, _size,
_addr, _dma)
#endif
#else
#define RTUSB_URB_ALLOC_BUFFER(_dev, _size, _dma) kmalloc(_size, GFP_ATOMIC)
Actually, this last change probably should be wrapped with:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
as it was in os/linux/rt_usb_util.c
To build it, I did:
make clean; make; sudo make install
from the top level directory, and it will produce a kernel module named:
rt5370sta
(at least it does for me). While testing, I used modprobe to load it,
after making sure that no other rtxxxxx module was loaded (rmmod). When
I rebooted, the interface came up automatically.
--
Kevin J. Cummings
kjchome(a)verizon.net
cummings(a)kjchome.homeip.net
cummings(a)kjc386.framingham.ma.us
Registered Linux User #1232 (
http://www.xlinuxcounter.net/)