Atheros AR8131 and Linux
Tags : compile • Linux • networking • ubuntu
A while back I picked up an ECS 945GCD-M motherboard to replace my dead VIA board that was running my RAID server. The board is pretty nice, sitting there completely silent, running 64-bit Ubuntu and packing far more power than the board it was replacing. But it has one glaring problem; the network card on the thing didn’t work out of the box in Linux. I had been running a cheap USB network card I had laying around, but it was slow and I hated that I couldn’t get it working. So, I set out to make the onboard Atheros AR8131M chipset work.
Google will give you a plethora of guides for compiling the drivers (this one is probably the best), but I just couldn’t get things to load. It was also never clear what version of the drivers I should be trying to run. Most tutorials made reference to 1.0.0.9, some to 1.0.0.10, but the current version (at the time of this writing) is 1.0.1.9. In the end, though, that’s the version I did manage to get working. Here’s how I did it:
- Grab the driver from the
Atheros siteDead link, copy is here - Locate the file on your computer, then make a new directory (name it anything, AR8131 will work) and move that file there
- Decompress the file
- Enter the resulting src directory
Once you’re in there, it’s time to start that terminal magic! One note; if you’ve already added another network card to your machine, the Atheros card may be eth1, not eth0. This was the case for me, and I’ll treat all the instructions here as though that’s the case for you too. If it’s not, just change eth1 to eth0.
make && sudo make install
sudo modprobe atl1e
sudo ifconfig eth1 up
sudo dhclient eth1
At this point, the machine will try to assign an IP address for the card. This may or may not work; for me, it did not. To get mine working, I simply restarted the networking init script. Before that though, let’s add the following to /etc/network/interfaces
# The secondary network interface
auto eth1
iface eth1 inet dhcp
And lastly, restart the network on the machine (you CAN reboot, but there’s no need).
sudo /etc/init.d/networking restart
At this point, you should have your network card up and running with an IP address assigned by your DHCP server or router. If not, keep hunting I guess, but you should at least be very close!
6 responses to "Atheros AR8131 and Linux"
Good instructions!
We use static IP on our network–how would the instructions be if we do not use Dynamic IP (dhcp)?\
Thanks!
steve, you would just set it up like you would any other static ip. Google gave me this site. Basically, in the interfaces file, you’d do something like this:
iface eth1 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
All the other steps would be the same.
Joe, I bought the ECS 760gm-p35 and it also has the Atheros ar8131 interface. I am having a problem finding the drivers your mention. Would you know of aonther site that might have those or could you make those driver available?
Scott, sure thing. It may be out of date a bit, but it’s the same version I’m still using. http://joefleming.net/files/AR81Family-Linux-v1.0.1.9.tar.gz You’ll likely get some errors when you decompress it, but you can ignore them. I got the same errors and it worked fine for me. Good luck!
Joe, worked great for me too. How on Earth did you finally find the correct driver. I searched for several hours and finally ended up with a much older version in which the .gz file was corrupted — that’s when I quit. -Wim
Wim, I found it around the time I wrote this post, May 2010. Apparently Atheros has since removed the driver and the only versions around are really old. Back then, it took me a while to get things working, but the files were at least easy to get a hold of. Not sure if Atheros still hosts them at all or not, I haven’t bothered to look since I still had a copy laying around.
As for the corruption, that’s a normal thing, and I’m not sure what it happens. You can ignore the errors though, it all still works.