Ubuntu 7:10 Gutsy and Belkin USB Wireless Networking
What a week.
I have been setting up a new development environment in the office and the one thing that is sure to always get me frustrated is properly configuring a wireless network adaptor on a linux system.
Windows XP, Mac OS X – no problems. Plug the device into the USB port and its already being configured for you. Linux on the other hand decides that it might have a working driver and automatically sets it up for you. What it doesnt seem to have is any intelligence to determine that the driver it just installed is of absolutely no use whatsoever.
But it doesnt stop there. The driver actually does let you do some things i.e Scan for Wireless networks. What it doesnt let you do is actually connect to any. Thanks for the 5 hours wasted finding this one out, Ubuntu.
So as help to anyone interested or just as a mental note I thought it pertinent to post about it.
Here is how I got it working:
Wireless USB : Belkin F5D9050B with chipset RT2671F
Ubuntu ver: Gutsy Gibbon 7.10 Server (i.e everything will be done from the command line – but Desktop users can just open a terminal and do exactly the same).
* I will make the assumption that you don’t have any internet access on the box.
First Things First
- Download the following rt73 driver on another machine and transfer it to a pen drive or CD or heaven forbid – a floppy disk.
- Next transfer the driver to your ubuntu machine. Put it in your home directory (/home/smcn for me).
- Untar (read: unzip) the file :
- sudo tar -xvzf rt73-cvs-daily.tar.gz
- Change into the directory of the untarred driver :
- /home/smcn/rt73-cvs-2008030817/Module
Now we are ready to get into the good stuff.
We need to compile the driver that we just downloaded. To ensure this goes smoothly you will need to install the kernel headers. Do this with the following :
sudo aptitude install build-essential linux-headers-`uname -r`
You will probably need your Ubuntu install disk for the above.
Now to compile. Move to the directory in step 4 above and type :
sudo make
This will compile the driver using the linux (kernel) headers installed previously. When you do this you may get some output at the end which says the following :
!!! WARNING: Module file much too big (>1MB)
!!! Check your kernel settings or use 'strip'
If this happens do this :
sudo strip -S rt73.ko
Now to Install the Driver
sudo make install
Great – the driver is now installed.
As mentioned previously Ubuntu tries to install a driver to use with the adapter – but this is crap. Unfortunately Ubuntu doesn’t realize this and will continue to load the same driver when you plug your device in – so we need to get rid of it and any others that Ubuntu feels might work. Do this:
sudo ifconfig wlan0 down
sudo modprobe -r rt73usb
sudo modprobe -r rt2570
sudo modprobe -r rt2500usb
sudo modprobe -r rt2x00lib
This brings down your adaptor, if it is up, and then removes any dud drivers. We now need to blacklist these drivers from ever starting again.
sudo nano /etc/modprobe.d/blacklist
Now append the following to the end of this file:
blacklist rt73usb
blacklist rt2570
blacklist rt2500usb
blacklist rt2x00lib
blacklist rt2x00usb
Save the file by holding CTRL and X then hit Y and return. This saves the file.
Load and Configure the Driver
This loads the driver:
sudo modprobe -v rt73
Test to ensure the driver is loaded by :
lsmod
Under ‘usbcore’ you should see something like this :
usbcore 138760 7 usb_storage,xpad,usbhid,libusual,rt73,ohci_hcd
As you can see the rt73 driver is loaded.
Now we can configure the wireless settings and start doing what people do with networks.
sudo nano /etc/network/interfaces
At the end of the file append this :
iface wlan0 inet dhcp
pre-up ifconfig wlan0 up
pre-up iwconfig wlan0 essid your_SSID
pre-up iwpriv wlan0 set AuthMode=WPAPSK
pre-up iwpriv wlan0 set WPAPSK=your_network_encryption_key
pre-up iwpriv wlan0 set EncrypType=TKIP
auto wlan0
The above configuration is for WPA TKIP wireless encryption. You should adapt this to your level of encryption.
After saving these changes (CTRL and X followed by ‘y’ and hit return) type the following:
sudo /etc/init.d/networking restart
This will restart your network card and hopefully connect you to the network.
Phew. Thats a whole lot of post.
Categories: Linux
What a post!
Thanks so much ! This has just saved my brain from meltdown.
Still not working – I still need to use the ancient linux kernel
BELKIN Wireless G USB Network Adapter
Model F5D7050
Hi Charles,
Why do you “need” to use an old kernel?
The model of the Belkin wireless adaptor used in this tutorial is F5D9050B and that uses the rt73 driver. I don’t think your F5D7050 has the same chip inside.
Try this tutorial instead :
http://wiki.ubuntu-it.org/Hardware/DispositiviSenzaFili/BelkinF5D7050
Hope this helps.
Wow, thank you, you probably just saved my life.
This worked with the Belkin Wireless USB F5D7050. I had previously been messing around with the Windows drivers and ndiswrapper, and wasn’t getting anywhere.
Just had to leave a thank you note
Hi Mike!
Glad this helped. I have rebuilt my ubuntu box about 3 times since and these steps have been followed word for word without fail I found proper details about WPA hard to come by.
first of all thanx for the post
It works fine for me except that now if i boot my pc while the usb card is plugged in the computer will hang. If i boot with the usb unplugged then plug it when i login, then do network restart everything works fine.
I have ubuntu gutsy
Hi Ahmad,
I have read similar stories about people having the same issue as yourself. Some times the driver wasn’t the correct one – as the chipset in the wireless adaptor is different. If you are sure that you have the EXACT same adaptor then I am not sure of the reason. Do your logs show anything? You might want to recompile the driver again – just incase.
can some one help me i got ubuntu 7.10 and i got belkin f5d7050 so its support so plz can some one help me
Hi,
thanks for the post, although when you configure the encryption at the end of the post, what commands would you use for WEP encryption? so far I have
pre-up iwpriv wlan0 set AuthMode=WEPPSK
the settings for the next two lines elude me…perhaps
pre-up iwpriv wlan0 set WEPPSK=your_network_encryption_key ….and…
pre-up iwpriv wlan0 set EncrypType=WEP
????
Thanks