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_...@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
kjch...@verizon.net
cummi...@kjchome.homeip.net
cummi...@kjc386.framingham.ma.us
Registered Linux User #1232 (http://www.xlinuxcounter.net/)
-- 
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines

Reply via email to