Followup on the Belkin F5D8053 and Ubuntu

Seems my previous blog post about the Belkin is found quite often when people search for how to get it to work on Ubuntu in general, also with ndiswrapper. Please note, my post is not about getting it to work with ndiswrapper (that worked fine in my case, but I’m on 32-bit Ubuntu, and didn’t try it on 64-bit). There are quite some posts about getting it to work with ndiswrapper (also posts about it not working, will drop him a comment). This one also explains how to unpack the windows driver if you don’t have a windows installation.

Anyway, so far about using ndiswrapper. Recently ralink released a new version of it’s native linux driver, 1.3.1.0 which can be found on their linux support page, and with this one I got the Belkin F5D8053 working. It doesn’t see the 5Ghz network I’ve over here, but well I don’t want to do normal Wireless over that network anyways, since that will decrease the speed of the Wireless to Wireless bridge I setup. I’m still blaming incompatibility between the Belkin USB stick and the Apple Airport routers for the Belkin not being able to find the 5Ghz network.

What I had to do to get it working.

1. make sure you can build kernel modules: sudo apt-get install build-essential linux-headers-generic
2. check if your Belkin USB id is listed in the driver: lsusb | grep Belkin | awk '{print $6}';, which returns 050d:815c in my case. Then use the id found in grep -i '0x050d,0x815c' include/rt2870.h if that returns a result, then skip step 3 since your device is already supported by the driver (please note the '0x' added before the 2 parts and the ',' in stead of the ':').
3. If it’s not there add it: edit include/rt2870.h Search for Belkin; Copy/Paste that line and change the usb id of your device to that you found in step 2.
4. Edit os/linux/config.mk and change the HAS_WPA_SUPPLICANT=n HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n to =y.
5. Edit Makefile and remove any line containing /tftpboot (still don’t know why they are in there, and running make as normal user fails if they are in there)
6. make && sudo make install
7. Edit (as root) /etc/modules and add rt2870sta to it (remove ndiswrapper if you used that before to get it working).
8. Either reboot or do modprobe rt2870sta to get it working (if you used ndiswrapper before you first need to run modprobe -r ndiswrapper). You will also need a /etc/init.d/networking restart if you won’t reboot.

That was all I needed to do.

13 thoughts on “Followup on the Belkin F5D8053 and Ubuntu

  1. Pingback: Trying to get the Belkin F5D8053 v3 to work on Ubuntu Hardy without ndiswrapper » It’s all in a day’s work

  2. DelGurth Post author

    Brett: Uh, what directory is include/rt2870.h in?

    If you download the latest version of the driver at the ralink linux drivers section and extract it, you will get a directory called:

    2008_0925_RT2870_Linux_STA_v1.4.0.0

    . The include/rt2870.h (and all other paths) are relative from that directory. This latest version still didn’t have the Belkin USB id in it, unfortunately.

    Reply
  3. Artair

    so i have followed yours and many other instructions and i can get the thing to actually compile, i keep getting an error about:

    rt_main_dev.c:698: error: ‘struct net_device’ has no member named ‘nd_net’

    and i dont know enough to even guess what to do next

    Reply
  4. wredefine

    Thank you, thank you, thank you! This was just what I needed to get my D-Link Wireless N USB (DWA-130 B1) dongle working. The key piece of information that I didn’t see in any other post on this topic elsewhere was the need to edit the rt2870.h file. It didn’t have my device ID, but after adding it and recompiling I was up and running.

    Reply
  5. David R. Ingham

    For me, it says:
    david@ubuntu:~$ ndiswrapper -l
    autorun : invalid driver!
    netr28u : driver installed
    device (050D:825A) present
    rt2870 : driver installed
    device (050D:825A) present
    (The netr28u appeared after I tried the Vista driver.)
    I got one “unknown symbol” message when I installed rt2870 and several on netr28u.
    I downloaded and installed a new ndiswrapper. When I tried installing all available updates, it would not boot.

    Reply
  6. Scia'

    When i try to “make && sudo make install” it says to me “make: *** No targets specified and no makefile found. Stop.”
    Why?
    Thanks for help.

    Reply
  7. Daniel

    Thanks for the guide! I just like to make a notice: In the latest version on the ralink page F5D8053 is supported out-of-the-box. So no more fiddling around with the source :-)

    Reply
  8. DelGurth Post author

    @James

    Seeing Daniel’s comment, you don’t need to edit dthe rt2870.h file anymore. And indeed, it doesn’t seem to be in the sources anymore. Seems I’ve to update my post. Ralink changed their linux support page location as well… You could try it without changing the rt2860.h step. I’m no longer using my wireless usb stick, since online gaming + wireless usb is a no-no, at least in my case.

    Reply
  9. James

    When I try the make command, it gives me this:
    make -C tools
    make[1]: Entering directory `/home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/tools'
    gcc -g bin2h.c -o bin2h
    make[1]: Leaving directory `/home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/tools'
    /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/tools/bin2h
    cp -f os/linux/Makefile.6 /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/Makefile
    make -C /lib/modules/2.6.31-14-generic/build SUBDIRS=/home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux modules
    make[1]: Entering directory `/usr/src/linux-headers-2.6.31-14-generic'
    CC [M] /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/../../common/rtmp_init.o
    CC [M] /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/../../os/linux/rt_profile.o
    /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/../../os/linux/rt_profile.c: In function ‘RTMPReadParametersHook’:
    /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/../../os/linux/rt_profile.c:808: error: ‘struct task_struct’ has no member named ‘fsuid’
    /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/../../os/linux/rt_profile.c:809: error: ‘struct task_struct’ has no member named ‘fsgid’
    /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/../../os/linux/rt_profile.c:810: error: ‘struct task_struct’ has no member named ‘fsuid’
    /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/../../os/linux/rt_profile.c:810: error: ‘struct task_struct’ has no member named ‘fsgid’
    /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/../../os/linux/rt_profile.c:1458: error: ‘struct task_struct’ has no member named ‘fsuid’
    /home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/../../os/linux/rt_profile.c:1459: error: ‘struct task_struct’ has no member named ‘fsgid’
    make[2]: *** [/home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux/../../os/linux/rt_profile.o] Error 1
    make[1]: *** [_module_/home/james/2008_0528_RT2870_Linux_STA_v1.3.0.0/os/linux] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-14-generic'
    make: *** [LINUX] Error 2

    Reply

Leave a Reply to Daniel Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>