Sunday, October 14, 2007

HOWTO: Get Airgo-Based WiFi Enabled Using ndiswrapper

*UPDATE* February 21, 2008
Due to some changes in the ndiswrapper software, this tutorial became obsolete. As per comments in the original post, I have changed the instructions to once again make them work.

For months I was trying to get my Belkin F5D8010 Pre-N WiFi card to work in my laptop under Ubuntu Feisty Fawn (7.04). Finally I have figured it out, using the Ubuntu Documentation & the NDISwrapper page on Sourceforge. Now I present these steps to you.

Cards This Will Work On:

Note: This list is from the ndiswrapper wiki. I do not know if these steps will actually work for your card. Verified cards are in bold. If you follow these steps and they work for your card, leave a comment and I will point it out.

  • Belkin F5D8010

  • Linksys WPC511GX

  • Netgear WGM511

  • Buffalo WLI-CB-G108

  • AeroGuard AGN1023PC

  • Planex CQW-NS108AG

  • Planex CQW-NS108G

  • amsung X20 Laptop

  • GemTek WPCO-131G

  • Corega CG-WLCB108GM

Ubuntu Version Required:

Ubuntu 6.10 (Edgy Eft) or later

Because I was able to get this to work under Feisty Fawn, I am going to write these steps as if you were using that version. I will post the links for files required by Edgy and Gutsy, but I can't guarantee it will work for you. I am providing two versions of instructions: one if you can get online through a wired connection (the preferred method), and one if you cannot get online through a wired connection.

Online Version

Part One: Installing ndisWrapper

  1. Open Terminal.

  2. Type lspci -nn

  3. Look for the following: 03:00.0 Ethernet Controller: Airgo Networks Inc AGN100 802.11 a/b/g True MIMO Wireless Card [17cb:0001] (rev 01)

    • If the line is not present, these instructions will not work for you.

  4. Type (or copy/paste) the following lines into Terminal:
    sudo modprobe -r ndiswrapper
    sudo apt-get --purge remove ndiswrapper-utils
    sudo rm -r /etc/ndiswrapper/
    sudo rm -r /etc/modprobe.d/ndiswrapper
    sudo rm /lib/modules/$(uname -r)/kernel/drivers/net/ndiswrapper/ndiswrapper.ko

  5. Type (or copy/paste) the following line into Terminal:
    sudo apt-get install linux-headers-$(uname -r)

  6. Type (or copy/paste) the following line into Terminal:
    sudo apt-get install dh-make fakeroot gcc-3.4 build-essential

  7. Navigate to Sourceforge to download the latest version of ndisWrapper.

  8. Save the file you download in your Home folder

  9. Type (or copy/paste) the following lines into Terminal:
    tar xvfz ndiswrapper-[current version].tar.gz
    cd ndiswrapper-[current version]

    (Where [current version] is the version number of the file you downloaded. i.e.: ndiswrapper-1.52.tar.gz)

  10. Type (or copy/paste) the following lines into Terminal:
    sudo make uninstall
    sudo make

  11. Type (or copy/paste) the following lines into Terminal:
    fakeroot
    sudo make install

Part Two: Installing the drivers

  1. Type (or copy/paste) the following into a terminal to download the drivers:
    wget http://77.91.202.10/~alpoimco/Satanas/belkin_pre-n.tar.gz
    Mirror (If the first link is down): wget http://www.someawe.com/uploads/belkin_pre-n.tar.gz

  2. Type (or copy/paste) the following into a terminal to extract the drivers you just downloaded:
    tar xvfz belkin_pre-n.tar.gz
    cd belkin_pre-n

  3. Type (or copy/paste) the following line into terminal:
    echo 'blacklist bcm43xx' | sudo tee -a /etc/modprobe.d/blacklist

  4. Type (or copy/paste) the following line into terminal:
    sudo ndiswrapper -i NetAni.inf

  5. Type (or copy/paste) the following line into terminal:
    ndiswrapper -l

  6. Look for the following:
    tmimo3p: driver installed
         device (17CB:0001) present

  7. Type (or copy/paste) the following into Terminal to activate the driver:
    sudo depmod -a
    sudo modprobe ndiswrapper

  8. Type (or copy/paste) the following into Terminal to check for errors:
    tail /var/log/messages

  9. Type (or copy/paste) the following into Terminal to open the Network Manager:
    gksudo network-admin

  10. Verify the connection labeled "Wireless connection" says "Roaming mode enabled" beneath it.

  11. Perform the following steps if it does not say "Roaming mode enabled:"

    1. Click the Wireless connection to highlight it.

    2. Click the Properties button to open the properties window.

    3. Click the check box next to Enable roaming mode and click Ok.

    4. Verify that the wireless connection now says "Roaming mode enabled."

  12. Click the close button on the Network manager to close it and return to the Terminal.

  13. Type (or copy/paste) the following into Terminal to create an alias for your wireless card:
    sudo ndiswrapper -m

  14. Type (or copy/paste) the following into Terminal to open the modules list:
    gksudo gedit /etc/modules

  15. Type the following at the end of the text document that loads (if not already present):
    ndiswrapper

  16. Reboot your system to make sure everything is in full working order

Offline Version

  1. Open Terminal.

  2. Type lspci -nn

  3. Look for the following: 03:00.0 Ethernet Controller: Airgo Networks Inc AGN100 802.11 a/b/g True MIMO Wireless Card [17cb:0001] (rev 01)

    • If the line is not present, these instructions will not work for you.

  4. Download the files you need to install the drivers:

  5. Copy the four files you downloaded to your Home folder on your Ubuntu system using a flash drive, CD-ROM, or other means.

  6. Open terminal on your Ubuntu system.

  7. Type (or copy/paste) the following into Terminal to install ndisWrapper:
    sudo dpkg -i ndiswrapper-common_*.deb
    sudo dpkg -i ndiswrapper-utils*.deb
    sudo dpkg -i --force-depends ndisgtk_*.deb

  8. Type (or copy/paste) the following into a terminal to extract the drivers you just downloaded:
    tar xvfz belkin_pre-n.tar.gz
    cd belkin_pre-n

  9. Type (or copy/paste) the following line into terminal:
    echo 'blacklist bcm43xx' | sudo tee -a /etc/modprobe.d/blacklist

  10. Type (or copy/paste) the following line into terminal:
    sudo ndiswrapper -i NetAni.inf

  11. Type (or copy/paste) the following line into terminal:
    ndiswrapper -l

  12. Look for the following:
    tmimo3p: driver installed
         device (17CB:0001) present

  13. Type (or copy/paste) the following into Terminal to activate the driver:
    sudo depmod -a
    sudo modprobe ndiswrapper

  14. Type (or copy/paste) the following into Terminal to check for errors:
    tail /var/log/messages

  15. Type (or copy/paste) the following into Terminal to open the Network Manager:
    gksudo network-admin

  16. Verify the connection labeled "Wireless connection" says "Roaming mode enabled" beneath it.

  17. Perform the following steps if it does not say "Roaming mode enabled:"

    1. Click the Wireless connection to highlight it.

    2. Click the Properties button to open the properties window.

    3. Click the check box next to Enable roaming mode and click Ok.

    4. Verify that the wireless connection now says "Roaming mode enabled."

  18. Click the close button on the Network manager to close it and return to the Terminal.

  19. Type (or copy/paste) the following into Terminal to create an alias for your wireless card:
    sudo ndiswrapper -m

  20. Type (or copy/paste) the following into Terminal to open the modules list:
    gksudo gedit /etc/modules

  21. Type the following at the end of the text document that loads (if not already present):
    ndiswrapper

  22. Reboot your system to make sure everything is in full working order

That's it! I hope that this will help you get onto the Internet through Ubuntu using one of the toughest cards to get working through Ubuntu. Again, if you try out any of the other cards in the list, please feel free to leave a comment to let me know you got it to work. Likewise, if you run into issues, leave a comment and I'll do what I can to assist you.

Technorati Tags: , , , , , , , , , , , , ,

29 comments:

cog7777 said...

Cool blog, I tried to access the drivers on the Airgonet drivers site, but it says access is forbidden, how can I access the files?

Justin said...

Thanks for pointing out the issue. I've updated the instructions to reflect the information you gave me.

Michael Pettet said...

Good post. First let me say that I am a total neewb. I installed my linksys wpc54gx4 card drivers using the windows wireless drivers. First went to synaptic and got the above utility. Then put my windows cd in to drive. Took the files from the opened window and dropped them on the desktop. Closed windows and opened windows wireless driver manager. Followed steps to open a small install box. Drag and drop the correct .inf file. Had to make several attempts till I found the right file. The manager picked up the file and installed the driver. Used the command you used- lspci -nn and found diver. Works!! Now all I need is a linksys router capable of 802.11 g. Present router only 802.ll b. To the best of my knowlege, these are the steps I took. Hope that helps someone.

PS: anyone know where to get code to install ubuntu banners and butons on websites? Like the ubuntu look on this blog. Good stuff.

handheld said...

Good tutorial but it looks like that LaptopVideo2Go link is dead.

Eric said...

I've been trying to get my belkin wireless pre-n desktop F5D8010 to work for a while now and I finally found this post hoping it would work. Unfortunately I'm still having trouble. I installed ndiswrapper and the appropriate drivers and it all went smoothly, but when I look at ndiswrapper's driver list it shows the driver to not be connected to any device. When I used "lspci -nn " it showed the same read-out as yours but I'm left with no actual working device. Incidentally when I go to Administrator --> Network, I cannot see a wireless selection icon, only the wired connection.

I assume this might be due to the PCI to PCMCIA adapter causing some problems but since "lspci -nn" shows it the same as yours I wouldn't think it would.

Any help is appreciated!

Luís said...

Hello,

I was trying to install my Belkin using your HOWTO but i'v the same problem than Eric...

The driver is well installed but when I got o Administrator --> Network, I cannot see a wireless selection icon, only the wired connection.

Any clue?

Thanks in advance.

Sat

Luís said...

Hello!

I've done it!
Finally I get my Belkin card working!

I've used your instructions but I've used the original drivers that are in the cdrom supplied with the card.

I've uploaded the files here:
http://77.91.202.10/~alpoimco/Satanas/belkin_pre-n.tar.gz

Just change this:
sudo ndiswrapper -i tmimo3P.inf

to

sudo ndiswrapper -i NetAni.inf

Thanks for your help!

Sat

Eric said...

Thanks so much Luis! That works great!
I've mirrored the file you uploaded here:
http://www.someawe.com/uploads/belkin_pre-n.tar.gz
Just in case.

Moreno said...

en el paso numero 8.
Cual es el directorio que contiene el INF file???

Moreno said...

Haa.. forge about the last post, I already follow all the steps and on the step 8 it says the driver is already installed and on the step 9 it just says "invalid driver!"

Need some hel please..!!!
Tnx!

Moreno said...

If somebody is reading this, I just wanted to say that the tmimo3P.inf driver didn't work for me, I had to use the netani.inf OG of the card like Luis said...
Finally I got it running and just wanted to thank u all for the blog and comments

Luís said...

One more costumer satisfied... :)

Luís

Justin said...

Guys,

Thanks for the information. At the time of the writing, the Airgonet drivers did work, but I have found, like you, that they no longer do but the Belkin drivers work. I will update my instructions to reflect both the tar file provided by Luis and the mirror by Eric, as well as the instructions to install ndiswrapper via compiling.

Justin said...

I was posting in case anyone subscribed. The instructions on how to setup the Airgo-based wifi have been updated to reflect new information.

Fred said...

What a wonderful help you were with that "HOWTO"! I never used Linux until this week. I installed Ubuntu on Thursday and used it for the first time. I looked around on the net for info on my Belkin Wireless card and was about to give up when. I saw your "How to". Other than learning how to use the command line and some permissions issues on some files, I got it up and running and it works great. Thanks again for your hard work and for sharing.

Luís Gomes said...

Hello Justin,

First of all I need your approval to post this tutorial on my blog in Portuguese.

Please make the change of the URL where I put the driver file to: http://77.91.202.10/~alpoimco/Satanas/belkin_pre-n.tar.gz

not

http://77.91.202.10/~Ealpoimco/Satanas/belkin_pre-n.tar.gz

Thanks,

luis

Justin said...

Luis, be my guest! I don't mind it getting translated for others. I'm not sure how to do it, but if you know how to publish a translation on the Ubuntu Wiki, the link on there is: https://help.ubuntu.com/community/WifiDocs/Device/Belkin_F5D8010.

Luís Gomes said...

Hello again,

Well, I've made my registratrion on the Ubuntu Wiki but I can't find any way to put the translation of your page.

Do you have a clue?

Luís

Tony said...

Justin, can you help me get wpa encryption working? Your instructions have my drivers working I think on my F5D8010 under Gutsy(also playing with Hardy Herron) Release Candidate. However, I can't seem to connect to my wpa based encrypted network at home. Any help is greatly appreciated. Thx.

Justin said...

Tony,

I don't really know anything about WPA or WEP. I'm using MAC Address filtering on my network instead of one of the encryption techniques. I'd suggest posting a message or searching on Ubuntu Forums for more info about WPA. I'm justinmiller87 on the forums. Link back here and let them know the card is at least detecting networks. Someone there should be able to help you out better, unless there is someone subscribed to the comments who knows too.

wesmo said...

I've used the following method with hardy and gutsy successfully getting wpa2 encryption:

after Step 13 (modprobe...)

verify the module is loading by typing lsmod (in a terminal) - if ndiswrapper is liosted it's successfully installed..

Following the wireless howto
http://ubuntuforums.org/showthread.php?t=318539 manually set your wireless.

Make sure you use wpa-driver wext.

A Shadow said...

Perfect! I bought that bloody Belkin card thinking it was a bargain, but I stopped using my Dell Latitude CPi (old, I know!) because I couldn't work out how to fix the ndiswrapper. This has worked awesome. Thank you so much!

carrollw said...

Hey, thanks for the tutorial. I've been wrestling with Ubuntu 8.04 and my Netgear WPNT511 since Wednesday trying to figure out piece by piece what's wrong. It took me a good while to figure out I didn't have build-essential installed, but now I can't get the wireless card to show up in the right places. I tried installing the drivers from the cd, then from the link you provided and I get the same result.

$ ndiswrapper -l
netani : driver installed

But I can't seem to get the hardware to say it's present. It shows up when I enter

lspci -nn
03:00.0 Ethernet controller [0200]: Airgo Networks Inc AGN300 802.11 a/b/g True MIMO Wireless Card [17cb:0002] (rev 01)

I notice now this is slightly different than the output at the start of your howto. Is it so different that my card just won't work? I followed all the directions in your tutorial, so now I'm stuck. How can I give it that last kick in the pants to get it to turn on? Thanks.

Forex Knowledge said...
This comment has been removed by a blog administrator.
j@s said...

A+++
this guide is great, congrat ubunters!

Craig said...

ya know, this sure aint step by step instruction, i've been using windows and have had less confusion then trying to get my belkin f5d8053v4 wireless usb card installed and working. i downloaded the "ndiswrapper" how do ya install it or whatever?

Paul Ryan said...

Great Post, even at this later date.

After my travails getting my Belkin F5D8010 up and running on Karmic 9.10 Ubuntu with kernel 2.6.31-20, I'm duty bound to add a few notes to help others who may encounter similar issues.

First, I did try (hard) to avoid the ndiswrapper approach Justin outlines and somehow get NetworkManager (Ubuntu's built-in system for managing networking "seamlessly") to work as intended. Well, no dice after much twiddling. (But then neither am I am a *NIX expert, having lived most all my software-development days in Windows.)

So, ordering my points according to how they coincide with Justin's ONLINE series of steps:

REPLACING Part 1, steps 4-11: The best way to get the latest ndiswrapper down to the system (remember, Karmic 9.1 here) is to use Synaptic Package Manager (menu System > Administration). No compilation needed, and install is seamless. I got ndiswrapper ver 1.5this way; worked a treat.

REPLACING Part 2, steps 1-2) I noticed that the Airgo drivers embedded in the most recent NetGear WPNT511 download are dated about a year later than the ones linked to by Justin. (Justin's links are down, though I still found a copy here.)

ADJUST 3) In Karmic 9.10 (and probably a few versions earlier, but I did not research it), the blacklist filename has CHANGED to

/etc/modprobe.d/blacklist.conf

from Justin's /etc/modprobe.d/blacklist.

ADJUST 4) If using the NetGear drivers as I suggest above, the command changes to

cd (to directory "Drivers" within the NetGear download)
sudo ndiswrapper -i NETANI.INF

instead of Justin's sudo ndiswrapper -i NetAni.inf.

ADJUST 5) Output should change to

netani: driver installed
device (17CB:0001) present

instead of Justin's "tmimo3p: driver installed
device (17CB:0001) present"

ADJUST 9) Karmic did not come with the network-admin package, so I used Synaptic again to download and install it. Once done, you can carry out Justin's steps here as indicated.

EMPHASIZE 14 & 15) Don't somehow skip over these steps; else you invite unhappiness! (Found this out the hard way.. ;)

Good luck!

iShoot said...

Here it comes- Thanks again for all the hard work building and maintaining this blog-

We are an IT company in Atlanta GA and have a customer with an old D600 and this WPC54GX4 card that has been giving me nightmares for 2 days-

Once again many thanks for the tweaks-
#@angrydogit.local

Ian said...

I'm new to Linux and most Terminal terms are unfamiliar. I got over the warning to add the suffix ".conf" to a couple of files (Why was that not already included in this release?) and I reached the end of Justin's excellently detailed instructions with the Belkin's transmit light flashing.
After a restart, nothing. I opened up Network connections and input my network's SSID but I'm not sure where to input the network password, and more importantly, how to get the Belkin light flashing again.
Help appreciated, thanks; Ian