[SOLVED] Re: RaLink 5370 USB Wifi Dongle
Kevin J. Cummings
cummings at kjchome.homeip.net
Sun Sep 25 19:47:43 UTC 2011
Finally I got a WiFi driver installed last night that works!
OK, I'm using the following software from RaLink:
> http://www.ralinktech.com/license_us.php?n=2&p=0&t=U0wyRnpjMlYwY3k4eU1ERXhMekExTHpFeEwyUnZkMjVzYjJGa056azVPREF3T1RFek9DNWllakk5UFQweU1ERXhYekEwTURkZlVsUXpNRGN3WDFKVU16TTNNRjlTVkRVek56QmZVbFExTXpjeVgweHBiblY0WDFOVVFWOVdNaTQxTGpBdU1sOUVVRTg9Qw%3D%3D
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 at 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 at verizon.net
cummings at kjchome.homeip.net
cummings at kjc386.framingham.ma.us
Registered Linux User #1232 (http://www.xlinuxcounter.net/)
More information about the users
mailing list