Sunday, March 16, 2008

Get Atheros 5007eg working under GNU/Linux

The Wifi card in my new ASUS lappy was Atheros 5007eg and unlike intel's wifi cards, Atheros doesn't seems to be working "out of the box" in any Linux distributions :( But you can use MadWifi tools to get them working right??? well, thats what i thought until i tried madWifi, I've seen many success stories on the web which madWifi worked for Atheros 5006 cards but apparently 5007eg is relatively new and doesn't seems to be working with madWifi "yet"
After typing sudo iwconfig in the Terminal here's what i got...

lo no wireless extensions.

eth0 no wireless extensions.


So i decided to do it the other way. By using the windows driver with "ndiswrapper" and after few hours of hard work ;) i was able to get wifi up and running :D. And the first thing came to my mind was "I gotta blog about this so that no one else will have to waste their time finding ways to get Atheros 5007 working with linux" :)

So, here i'll describe how to get Atheros 5007eg working with Ubuntu. I'm also planning to write a post on how to get it working with Slackware as soon as i get some time to try. :D ok here's what i did.


First go to system>>administration>>Restricted Drivers Manager, Disable HAL and then reboot.

Then you'll have to install ndiswrapper from Synaptic. Here are the three packages you are gonna install.
ndisgtk
ndiswrapper-common
ndiswrapper-utils-1.9

After installing ndiswrapper you'll need the windows driver of your wifi card in my case. I had the Atheros 5007eg driver in a DVD which came with my lappy and if you don't have, you can get appropriate driver from the Atheros website. its http://www.atheros.cz/


Open the Terminal. Go to the folder where you got the windows driver(the .inf file) for your Atheros card and type
ndiswrapper -i xxx.inf (replace xxx with the name of the inf file)

Now we have to blacklist ath_pci for type gksu gedit /etc/modprobe.d/blacklist in the terminal

Add the following line to the end of the file.

blacklist ath_pci

Then type ndiswrapper -l to list the installed drivers if your driver is working you should see something like the following

net5211 : driver installed
device (168C:001C) present (alternate driver: ath_pci)

Type these commands in the terminal one after other

sudo depmod -a

sudo modprobe ndiswrapper

sudo ndiswrapper -m

And type gksudo gedit /etc/modules
and add ndiswrapper to the end of the file and save it.

That's all folks! :D now reboot the machine and you can check whether the wifi is working (of course it is!) by typing sudo iwconfig in the Terminal here's what i get after the process.

lo no wireless extensions.

eth0 no wireless extensions.

ath0 IEEE 802.11g ESSID:off/any
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:54 Mb/s
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0



Ok! Have fun! and feel free to let me know if you have any problems or any unclear steps in this post
~seejay~

14 comments:

  1. no idea what this post is, but u have been tagged :P .
    oh and sorry for tagging u ;)

    ReplyDelete
  2. Thanks a lot for the post. As a linux novice i would have never been able to install the card without this post.

    ReplyDelete
  3. Thanks for the post.. Im having problems though.. I followed your instructions and the driver was added to the wireless networks driver gui of ndiswrapperand it says there is hardware present.. however im still not getting any wireless..

    $ iwconfig
    lo no wireless extensions.

    eth0 no wireless extensions.

    Any suggestions?

    ReplyDelete
  4. hi thanks for leaving the info, but i'm not sure what you by 'add ndiswrapper to the end of the file and save it.'

    can you explain that part? it's right at the end so im kind of worried about trying this when i don't get the last part. :( thanksk.

    ReplyDelete
  5. @Drew White

    when you type gksudo gedit /etc/modules the file /etc/modules will be opened for editing. all you have to do is insert the word ndiswrapper in a new line at the bottom and save the file.

    Here's how my /etc/modules file look like


    ####################################
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.

    fuse
    lp
    ndiswrapper

    ReplyDelete
  6. Thanks for posting this dood, I was looking for a solution to this problem. I have slackware so I'll let you know in a comment if I have the same results that you had with Slowbuntu

    ReplyDelete
  7. In the end I couldn't get ndiswrapper to work properly with my atheros 5007eg in slackware 12.2.

    I recommend that anyone with the above setup use the this snapshot of the madwifi driver:

    http://snapshots.madwifi-project.org...0090116.tar.gz

    and make sure that you black list your ath5k driver.

    ReplyDelete
  8. @Jeffrey
    @Anonymous
    Guys I'm using slackware 12.2 and it recognizes the wireless chipset automatically. No need to use ndiswrapper anymore.
    I don't see any good GUI tools to connect to wireless networks so I use the command line to scan and connect to my networks. And I kinda like it than the gui apps so didn't bother finding anything else :)

    ReplyDelete
  9. It works for me too. Thanks a lot.

    ReplyDelete
  10. @seejay:
    Try wicd. Easy GUI tool.

    Me Slack 12.2 as well with atheros driver (no madwifi; no ndiswrapper). No issues. (Recommend get Robby Workman's wicd from Slackbuilds.org).

    Cheers. N.

    ReplyDelete
  11. hello seejay,

    do you have such a nice description how to unlock the huawei e160 as you have for the e220?

    hope to hear from you!

    Horst

    ReplyDelete
  12. ya this is what i get when i check it with ( sudo iwconfig )

    lo no wireless extensions.

    eth0 no wireless extensions.

    pan0 no wireless extensions.

    and i already blcklisted it like this at the end...right??

    # This file lists those modules which we don't want to be loaded by
    # alias expansion, usually so some other driver will be loaded for the
    # device instead.

    # evbug is a debug tool that should be loaded explicitly
    blacklist evbug

    # these drivers are very simple, the HID drivers are usually preferred
    blacklist usbmouse
    blacklist usbkbd

    # replaced by e100
    blacklist eepro100

    # replaced by tulip
    blacklist de4x5

    # causes no end of confusion by creating unexpected network interfaces
    blacklist eth1394

    # snd_intel8x0m can interfere with snd_intel8x0, doesn't seem to support much
    # hardware on its own (Ubuntu bug #2011, #6810)
    blacklist snd_intel8x0m

    # Conflicts with dvb driver (which is better for handling this device)
    blacklist snd_aw2

    # causes failure to suspend on HP compaq nc6000 (Ubuntu: #10306)
    blacklist i2c_i801

    # replaced by p54pci
    blacklist prism54

    # replaced by b43 and ssb.
    blacklist bcm43xx

    # most apps now use garmin usb driver directly (Ubuntu: #114565)
    blacklist garmin_gps

    # replaced by asus-laptop (Ubuntu: #184721)
    blacklist asus_acpi

    # low-quality, just noise when being used for sound playback, causes
    # hangs at desktop session start (Ubuntu: #246969)
    blacklist snd_pcsp
    blacklist ath_pci

    ReplyDelete
  13. macho can u unlock huawei e1550?

    ReplyDelete
  14. Who knows where to download XRumer 5.0 Palladium?
    Help, please. All recommend this program to effectively advertise on the Internet, this is the best program!

    ReplyDelete

Feel free to share your views!