Monday, July 26, 2010

How to install AR8151 v1.0 Gigabit Ethernet driver on Fedora 13

Ive spent at least a month, just trying to get my wired connection work on an ACER Aspire 4745G running on Fedora 13. The linux driver for my AR8151 v1.0 Gigabit Ethernet LAN card was giving me nightmares! It was always telling me that the driver cannot be built since I was using an old version of the linux kernel (which was really annoying, mind you, since I was running the latest version of the linux kernel (2.6.33.6-147.fc13.i686)). So here's how I made it work, with lots of help from my colleagues.

Prerequisites (Thanks to Nikhil Pawar for this info):
1. Install kernel-devel and kernel-headers. Do this using the following command:
yum install kernel-devel kernel-headers
2. Install compilers. Do this using the following command:
yum install make automake autoconf gcc gcc-c++

Installation Steps:

1. Download the Atheros ethernet driver for linux from here. Download the file named AR81Family-Linux-v1.0.1.9.tar.gz
2. Extract the contents of the gzip file using the following command
tar zxvf AR81Family-Linux-v1.0.1.9.tar.gz
3. Become root using the following command
su
4. Enter the root password.
5. Navigate to the src directory of the extracted files by executing the following command.
cd src
6. Build the driver from source by executing the following command.
make
NOTE: If it complains about your kernel version being outdated / and / or not being the latest version, do the following:
6.a) Edit the MakeFile. (the one inside the src folder from the file that you extracted on step 2) Comment out the following lines by adding a # sign before all of the lines.
ifeq ($(KKVER), 0)
$(error *** Aborting the build.
*** This driver is not supported on kernel versions older than 2.4.0)
endif
After editing, the said lines should look like the following:
# ifeq ($(KKVER), 0)
# $(error *** Aborting the build.
# *** This driver is not supported on kernel versions older than 2.4.0)
# endif
6.b) Save the MakeFile.
6.c) Execute the make command again. Ignore the warnings that you see, they're annoying.
make
7. Install the driver by executing the following command.
make install
8. Inside the src folder. Find the file atl1e.ko. Copy it to the following folder.
/lib/modules/"your kernel version"/kernel/drivers/net/atl1e/
NOTE: Replace the text "your kernel version" with the version of your kernel. You can find that out by executing the following command:
uname -r
For example, in my machine:
[root@mybox src]$ uname -r

2.6.33.6-147.fc13.i686
So the command to copy my .ko file to the proper folder will be:
cp ./atl1e.ko /lib/modules/2.6.33.6-147.fc13.i686/kernel/drivers/net/atl1e/
9. Make your system automatically load the driver modules during system boot by executing the following command.
modprobe atl1e
NOTE: After executing the command above and you got an error that looks like the following:
[root@mybox ~]$ modprobe atl1e

FATAL: Module atl1e not found.
Do the following:
9.a) Execute the following command.
depmod -a
9.b) Create a .module file inside /etc/sysconfig/modules by executing the following command.
echo /sbin/modprobe atl1e >> /etc/sysconfig/modules/local.modules
9.c) Chmod the newly created module file to 755 by executing the following command
chmod 755 /etc/sysconfig/modules/local.modules
10. Restart your machine.

Thats it! That should do it! It worked on my machine, I hope it will work on yours too!
Please comment on this post for any questions!

UPDATE!

I upgraded my kernel version to 2.6.33.6-147.2.4.fc13.i686, if you upgraded yours too, you'll have to repeat the process above all over again, I'll try to find a way so we can avoid that, but for the meantime, repeating the process above will solve the problem.

For Fedora 14, please refer to Patrik Martinsson's blog post.

56 comments:

  1. Many, many thanks for posting this. Worked on my machine (Toshiba L650) too!

    ReplyDelete
  2. You're welcome! Thanks for the comment, I really appreciate it. I'm glad it worked on your machine too!

    ReplyDelete
  3. also works for Ar8152 in fedora 2.6.33.3-85.fc13.x86_64, computer is Dell Inspiron.
    Many, many thanks.
    kendall

    ReplyDelete
  4. Many, many thanks for Toshiba L650 - Fedora 13 (2.6.33.8-149.fc13.i686.PAE) from Kosice, Slovakia.

    ReplyDelete
  5. Thanks a million. I have never used Linux before and even I could do this on Ubuntu using your guidance.

    ReplyDelete
  6. can you help me with this on CentOS linux

    ReplyDelete
  7. its not working on my acer 5745g...
    the first command tar zxvf AR81Family-Linux-v1.0.1.9.tar.gz
    gives error.. child returned status 2..operation failed ..
    plzzzz helpppp...

    ReplyDelete
  8. Hello pooja,

    Please make sure that the gz file that you downloaded is not corrupted? Please try downloading it again?
    How about trying to extract the tar.gz file using the Archive Manager?

    ReplyDelete
  9. i downloaded it from the link u provided on wndows 7 and den used it via USB in fedora because i dnt hav any working net connection in fedora..neither ethernet nor wireless..

    ReplyDelete
  10. plzzz help me.. my colg project is totally depends on it.. plzz plzz

    ReplyDelete
  11. i tried extracting it using archive manager.. shows same error.. child returned status 2. operation failed due to previous errors..

    ReplyDelete
  12. Hey pooja,

    Can you please try the following?
    1. On a Terminal, navigate to the directory where the gzipped driver file is located.

    2. Execute the following command

    tar -xvf ./AR81Family-linux-v1.0.1.13.tar.gz

    It should decompress the driver files (just ignore the errors). NOTE: Please replace "AR81Family-linux-v1.0.1.13.tar.gz" with the actual filename of the driver file that you downloaded.

    3. Execute the following command.

    chmod a+rwx ./*

    4. Navigate to the src folder of the extracted files.

    5. Exeute the following command.

    chmod a+rwx ./*

    6. Look at my original post and execute step 3 onwards.

    Please tell me if it works okay?

    ReplyDelete
  13. i tried dis out.. now wen i plugin my lan cable the green and yellow light blinks.. but still the network does not detect any wired connection...
    ???
    i m so confusd...

    ReplyDelete
  14. in network configuration (system->administration->network)
    it doesnt show any installed device.. however in hardware section it is now showing atheros...

    ReplyDelete
  15. hey.. it finally workd... thanku so much..
    just love u for dis .. :)
    thanku...

    ReplyDelete
  16. It worked!!! <3333333333
    Acer Aspire 4745G with Ubuntu 10.04 LTS

    Just needed to specify root password first before I could execute step 3.

    I hate you for getting this many number of hits because of this post :)) Thanks!

    ReplyDelete
  17. when executing command 'make' it appeared an error: "Makefile:118: *** Compiler not found. Stop." what should I do? I have ubuntu 10.04 LTS

    ReplyDelete
  18. Hi,
    Brand new Inspiron14 with a Windows 7 and Fedora 13. I got an error when i executed the 'make' command saying
    "Makefile:61: Linux Kernel source not found. Stop."
    Installed kernel-devel and kernel-headers and got beyond this error. Now I get an error saying
    "Makefile:118: compiler not found. Stop"

    Will I need a gcc compiler? Can I get an rpm or will I have to build from source? I have no internet access on the laptop so I yum is out of the question.

    ReplyDelete
  19. Found a solution... albeit a very "windows" solution. Not the best way to do it but as long as it works!

    Reinstalled Fedora using my installation DVD and this time chose to customize all packages myself instead of letting the installer do it. Included all the development tools and anything else that I though might sort this issue out. It did. All errors other than the ones you mentioned disappeared :D Followed the steps and sending this message from my laptop :)

    Great help. Thanks a lot. Cheers..

    ReplyDelete
  20. hello, does this imply to Linux Mint 9 Isadora 64 bit also?

    I'm using a Toshiba Satellite L650 C13 with Mint 9 64 bit installed and when I plug in my internet cable nothing happens. I'm able to use mobile broadband though.

    Would appreciate a quick answer as I need this working ASAP.

    ReplyDelete
  21. @Малигіна : You'll need to install build essentials. Install it on Ubuntu using the following command:
    sudo apt-get install build-essentials

    @Nikhil Pawar : Great! Im glad it worked! Yep you'll need to install gcc..

    @Anathaen : I havent tried to do this on Mint, can you please try downloading the latest Atheros driver (found on a link on the post above) and try compiling it? Please post the results here if you encounter any problems.

    ReplyDelete
  22. s/build-essentials/build-essential/ # drop last 's'

    ReplyDelete
  23. Getting this error when executing 'make'
    Makefile:105: *** Linux kernel source not configured - missing autoconf.h. Stop.


    What to do then? Any help plz :(

    ReplyDelete
  24. @Nuhil : Did you install kernel-devel kernel-headers ?

    ReplyDelete
  25. Hey

    I install kernel-devel and kernel-header

    But when i use tar zxvf Ar81*
    then after using this i run command cd /src
    then i run make
    It shows error

    Makefile :61: *** Linux Kernel source not found. Stop
    ======Now i comment these 61 number lines then i again run make
    then again it shows error:

    Makefile:101: *** Linux kernel source not configured - missing version.h. Stop.

    again i comment these 101 nuber lines then again it shows error :

    Makefile:107: *** Linux kernel source not configured - missing version.h. Stop.

    then i run make and again it shows

    Makefile:173: *** *** Aborting the buid. *** This driver is not supported on kernel version older than 2.4.0. stop

    Now tell me the solution pls

    My Email id is er.chetansoni@ymail.com

    ReplyDelete
  26. and also pls mail me the driver ... I can't download from the website

    ReplyDelete
  27. Your guidance is very helpful. While installing fedora 14 (x86_64) I got the same problem of wireless with acer aspire 4820T. I followed the above mentioned steps. But I got trouble after executing the command make. It is giving me two error while compiling

    1. /src/atl1e_main.c:1859:24: error: 'struct net_device' has no member named 'mc_list'
    2. /src/atl1e_main.c:1859:58: error: dereferencing pointer to incomplete type

    Please help me out.
    Thank you.

    ReplyDelete
  28. Hi there,

    I am trying to install the AR8151 driver on Fedora 13 on Acer Aspire 4820TG laptop.
    Since the network is not accessible, I could not use the yum command to install the kernel packages and gcc packages. I managed to install the kernel packages from the Fedora DVD; however struggling on the gcc install. It has too many dependencies to resolve.

    Without the prerequisite steps, I am facing errors same as Chetan Soni (comment of Nov 17, 2010).

    Thanks,
    Ujjwal

    ReplyDelete
  29. hey ujjwal
    I found a solution of this problem

    Just install a new kernel or recompile the old kernel with latest .......


    Itz automatically installs drivers and graphics and all problems will gone

    ReplyDelete
  30. This comment has been removed by the author.

    ReplyDelete
  31. Thanks for the post, really helped me out.
    I linked to it from my blog and I also explained how to get it working in Fedora 14.
    @siddhartha check it out if your'e interested.

    ReplyDelete
  32. Super...!!, that's work for my NIC on board Gigabyte G41MT-S2, Atheros AR8151(10/100/1000 Mbit)... thank you very much...

    ReplyDelete
  33. hi,

    I am facing same issue.

    but Idon;t have any other way for internet, and when i pass the first two command i got an confirmation asking to download some files but as i dont have any other internet option it fails.

    please guide.

    ReplyDelete
  34. Sorry about that, been away for quite some time.
    Hi Sourabh,

    For step 1.
    Have you tried this?
    http://www.fedoraforum.org/forum/showthread.php?t=220708

    For step 2. You can also install those using the same technique, just download the necessary rpms on another machine.

    ReplyDelete
  35. Hello. I am experiencing some troubles building the module itself. After some lines of make output it shows:
    /home/standa/Desktop/atheros/src/atl1e_main.c: In function ‘atl1e_set_multi’:
    /home/standa/Desktop/atheros/src/atl1e_main.c:1859:24: error: ‘struct net_device’ has no member named ‘mc_list’
    /home/standa/Desktop/atheros/src/atl1e_main.c:1859:58: error: dereferencing pointer to incomplete type
    /home/standa/Desktop/atheros/src/atl1e_main.c:1860:51: error: dereferencing pointer to incomplete type
    Any ideas what the trouble is? It is ver 1.0.1.14

    ReplyDelete
  36. My vaio vpccb15g lpatop shows Atheros AR8151 PCI-E gigabit ethernet controller (NDIS 6.20) as network adapter in windows 7. When tried to configure ethernet in RHEL 5.1.19.6 (kernel 2.6.18-8.el5), it is asking to select ethernet adapter. But Atheros type is not there in dropdown selection. So i installed AR81Family-Linux-v1.0.1.9.tar.gz successfully by above procedure. After that also, Atheros adapter is not showing in adapter list while configuring using #system-config-network utility.

    If i select any other, it will show like failed to find adapter... Anyone help..

    ReplyDelete
  37. The link to download the Atheros is not working, I download the Atheros from another website but the file doesn't have the atl1e.ko file. What can I do?

    ReplyDelete
  38. This comment has been removed by the author.

    ReplyDelete
  39. Probably those in trouble could use this.

    It's a .rpm file with a direct install. Haven't tried it myself but I will in the coming few days.

    ReplyDelete
  40. where i can find the driver, cause this link http://partner.atheros.com/Drivers.aspx is not exist anymore

    ReplyDelete
  41. Gracias, muchas gracias. Esto me ha solucionado un tremendo problema. Felicitaciones...

    ReplyDelete
  42. Thanks Man...you saved me...it works like a charm...on CentOS 5.6

    ReplyDelete
  43. hey,

    i have tried it in centos 6.2,
    its not working
    can anyone help me

    ReplyDelete
  44. compiling AR81Family-linux-v1.0.1.14.tar.gz on debian 6.03 worked like a charm for the AR8151(rev c0)

    ReplyDelete
  45. This comment has been removed by the author.

    ReplyDelete
  46. Working on my Aspire 721-142SS (Ububtu lucid lynx) Thanks :)

    ReplyDelete
  47. How are you using yum if the network driver is f'd?

    ReplyDelete
  48. Hi

    When I use "make" command,It is throwing error as
    Makefile:61; *** Linux kernel siurce not found. Stop.

    Please anyone help me to solve this.

    ReplyDelete
  49. Hi

    I'm having trouble configuring my wired network in ubuntu 12.04 with NIC AR8151 v2.0 Gigabit Ethernet. I think it's a driver issue can anyone please upload/share the driver since https://partner.atheros.com/zimbra/Drivers.aspx is already down.

    ReplyDelete