Wednesday, November 4, 2009

Linksys WUSB54GC Ver 3 USB dongle Linux support

Laymanspeak: This is a USB device that provides wireless connectivity on a desktop/laptop. How to include support for this on Linux and what steps to take are explained here.

  1. USB Dongle with ID 1737:0077. Black colour version 3. http://www.linksysbycisco.com/US/en/products/WUSB54GC

  2. This is assumed to be the rt2870 chip.

  3. Uses the rt2x00usb driver by default in Ubuntu 9.04 and Fedora 11. This does not work. The activity light does not come on either. The machine reports a wifi0 interface but cant scan/etc

  4. Had to manually install the firmware rt2870.bin in the /lib/firmware directory. Activity light glows but cannot connect.

  5. Staging drivers in the Fedora 11 kernel (drivers maintained/contributed by individual companies) are old and did not work. They are version 1 of the ralink source.

  6. Downloaded the 2870 chip drivers from ralinktech http://web.ralinktech.com/ralink/Home/Support/Linux.html. The particular source being http://www.ralinktech.com.tw/data/drivers/2009_0820_RT2870_Linux_STA_V2.2.0.0.tar.bz2. This did not work either.

  7. Read up somewhere that this actually is the RT3070 chipset and the driver being http://www.ralinktech.com.tw/data/drivers/2009_0525_RT3070_Linux_STA_v2.1.1.0.bz2. This driver as per the documentation only works uptil 2.6.29 kernel. It compiled on the Fed 11 machine and creates an ra0 interface. Changes required are: Include the USB vend_id/prod_id in the USB definitions file of the ralinktech source and enable support for NetworkManager in the config file.
  8. This setup works for me but I believe there are problems for hidden SSID networks.

12 comments:

  1. Thanks for the info about this WUSB54C adapter, ID 1737:0077, and want to get this device working on Fedora 11.

    I have been trying unsuccessfully to use ndiswrapper with the rt75 and rt2780 windows drivers form the disk that came with the unit. (rt75 loaded but the device was not detected.) (rt2780 loaded, the device was detected but wlan0 was not found.)

    As per your instructions I downloaded the rt3070 files from Ralink. Since I am new to Linux I have some questions, 1) “How do you compile it ? “, 2)” Where does it get loaded? “ 3) “ What is an RAO interface? ”. Thanks , Thomas_P

    ReplyDelete
  2. Version that I downloaded:
    2009_1110_RT3070_Linux_STA_v2.1.2.0.tar

    More questions?:
    USB vend_id/prod_id, are those 1737/0077?

    Which is the USB definitions file? I dont see one called that in the zip file.

    thanks,
    thomas_p

    ReplyDelete
  3. Hi Thomas
    I have not tried to use this dongle using ndiswrapper but using the "native" method.
    I made the following changes to this file
    cd 2009_0820_RT2870_Linux_STA_V2.2.0.0
    cd os/linux
    edit the file
    vi usb_main_dev.c

    you will see stuff like this in the file
    {USB_DEVICE(0x1737,0x0070)}, /* Linksys WUSB100 */
    {USB_DEVICE(0x1737,0x0071)}, /* Linksys WUSB600N */

    after this add a line (if its already not there) like this-->

    {USB_DEVICE(0x1737,0x0070)}, /* Linksys WUSB100 */
    {USB_DEVICE(0x1737,0x0071)}, /* Linksys WUSB600N */
    {USB_DEVICE(0x1737,0x0077)}, /* Linksys WUSB54GC Ver3 */

    save the file.
    "How to compile " instructions can be found in the file "README_STA" in the source directory.
    I havent had a chance to look at the new Ralink source.

    Hope this helps.
    Thanks
    Aj

    ReplyDelete
  4. Thanks for the reply AJ, this is helpful.

    I will give it a shot.

    thomas_p

    ReplyDelete
  5. Hi Thomas
    If you need any other help dont hesitate to ask. If done properly, the general steps are
    1) Add the line vend_id/prod_id in the file
    2) Not sure if the "network manager" option is enabled by default in the "Makefile". Else enable it.
    3) Build the Driver ie run "make" in the source directory and then "make install"
    4) If the driver compiled is rt3070.ko just insmod it.
    5) type a "dmesg" and you will see some output from the kernel driver about wireless. If you see something like ra0, then your job is done.

    ReplyDelete
  6. AJ,

    Ok this worked!

    I have an ra0 for RT2870 Wireless.

    I just have to figure out how to configure it to my wireless router.

    It seems like a lot of trouble to configure a card that is plug and play in Windows but where is the fun in that?

    Thanks!

    thomas_p

    ReplyDelete
  7. Hi Thomas
    Thats very good news. So you got your taste of Linux device enablement. Congrats! Can you please summarise the steps here or elsewhere and provide a pointer so that anybody wanting more info could find it.
    And also, all you ve to do if you included the "Network Manager" option in your compilation is to click on the icon and automatically you will be presented with your AccessPoint (AP) configuration options. If not you will ve to manually configure it, maybe using wpa_supplicant, etc. To check if your interface is good, run an "iwconfig ra0" and then scan using "iwlist ra0 scan". You should see a text dump of the APs in view .
    Regarding Linux device support, in some corner cases a lot of work is required.

    Thanks
    Aj

    ReplyDelete
  8. So here is what I have done so far:

    1) Downloaded 2009_1110_RT3070_Linux_STA_v2.1.2.0.tar
    from www.ralinktech.com.

    2)Unzipped file to a directory,

    3)Within this directory edited usb_main_dev.c
    in OS/Linux.
    at end of /* module table */
    {USB_DEVICE(0x1737,0x0077)}, /* Linksys
    WUSB54GCver3 */

    4)From terminal screen (inside of directory 2009_1110_RT3070_Linux_STA_v2.1.2.0 , logged in as root:
    #make
    (the script runs several lines)

    5) At same directory I ran:
    #make install
    (again several lines of code run)


    6) from terminal in user directory

    [tplasse@localhost ~]$ lsusb

    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 002: ID 1737:0077 Linksys
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub



    [thomasp@localhost ~]$ iwconfig
    lo no wireless extensions.

    eth0 no wireless extensions.

    ra0 RT2870 Wireless ESSID:"" Nickname:""
    Mode:Auto Frequency=2.412 GHz
    Link Quality=10/100 Signal level:0 dBm Noise level:-143 dBm
    Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
    Tx excessive retries:0 Invalid misc:0 Missed beacon:0

    pan0 no wireless extensions.


    I did not figure out how to configure wireless manager nor did I get wpa_supplicant to work.

    As of yet, my wireless device is not configured to talk to my router.

    Inside of GNOME System-Admin-Network I tried to create a new network configuration. ra0 is detected but I havn't been able to Activate the device.

    That's all for now,

    Thomas_P

    ReplyDelete
  9. Report of a working method of configuring Linksys WUSB54GC with the RT75 chipset using ndiswrapper. This didn't work for me but if someone has this version, it might.

    http://jefim.wordpress.com/2007/07/24/how-to-linksys-wusb54gc-wireless-and-ubuntu-linux-704-feisty/


    Thomas_P

    ReplyDelete
  10. AJ,

    So I really need to get wireless going on this computer. I am taking an online class in Linux at UMass Lowell this semester and need internet.

    I bought a Sabrent PCI 802IIG wireless card for $15 that was advertised to work with Linux and it worked out of the box. I plugged it in, turned on the machine and I had a wireless access point on wlan0.

    I am not giving up on this darn USB stick totally, but I am wasting "way" too much time on a $20 piece of hardware. I just cant get ra0 to configure an access point or set a valid ESSID. I tried your suggestions but hit a wall.

    On the bright side, I really learned alot about Linux! Just a couple of weeks ago, I thought a tarball was what washed up on the beach after an oil tanker sank.

    Thanks for the help.

    Tom_P

    ReplyDelete
  11. You article is really helpful. I am planning to purchase this USB device. Thanks for sharing the information. I would like to read your further articles.

    ReplyDelete