Name of the piece of Hardware
Hardware
The Attansic L1 is included as the onboard network device for the following Asus mainboards:
M2N8-VMX |
M2V |
M3A |
P2-M2A590G (barebones) |
P5B-E |
P5B-MX/WIFI-AP |
P5B-VM SE |
P5E-VM HDMI |
P5K |
P5KC |
P5KPL-VM |
P5K-SE |
P5K-V |
P5L-MX |
P5LD2-VM |
P5L-VM 1394 |
F3SC (laptop) |
F3SV (laptop) |
Problem
No version of Centos <= 5.3 includes a driver for this chipset.
In-Depth explanation
The driver for this chipset has been merged in the mainline kernel in Feb 2007, as of kernel version 2.6.20-git5. Centos <=5.3 uses older kernels for which no backport exists yet.
Output of `lspci -v`
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
- Subsystem: ASUSTeK Computer Inc. Unknown device 8226
- Flags: bus master, fast devsel, latency 0, IRQ 2301
- Memory at dffc0000 (64-bit, non-prefetchable) [size=256K]
- Expansion ROM at dffa0000 [disabled] [size=128K]
- Capabilities: [40] Power Management version 2
- Capabilities: [48] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
- Capabilities: [58] Express Endpoint IRQ 0
- Capabilities: [6c] Vital Product Data
Solution
There is a driver available from http://atl1.sourceforge.net/. Quoting that site:
IMPORTANT NOTE: This is a vendor version of the L1 driver. It was written by Attansic. We do not support this driver. It's offered here merely as a courtesy to make your life easier. If you have a problem with the driver, contact Attansic/Atheros directly.
IMPORTANT NOTE: The Attansic vendor version of drivers prior to 1.2.40.0 have a problem: TSO is broken, and that results in horrible transmit performance. It's fixed in 1.2.40.2. Don't use a vendor version older than 1.2.40.2!
According to your needs, you can select one of the following solutions:
Driver Disk
If you are installing CentOS 5.2 or CentOS 5.3, pick one of the following driver disks according to your architecture
Upload new attachment "atl1-i686.iso.gz" -- for 32 bit systems
atl1-x86_64.iso.gz -- for x86_64 systems
not yet updated for 5.3
and follow these instructions. The driver disks contain the kernel drivers in rpm format too, so you could also snatch the rpm and install it on already running systems.
Note The kernel module from the driver disk can be used with updated kernels, too
DKMS-enabled driver package
A dkms-enabled driver package is available from RPMForge and can be used on all versions of CentOS. Please follow the instructions available here to install and activate this repository. After that you can use
- yum install dkms-atl1
to install the driver (and all its dependencies) on your system.
Pro:
- After each kernel upgrade, rebuilding of the module is automatically handled by the dkms-autoinstaller program.
- Does not require direct downloading of the drivers in source format.
Against:
- Requires the dkms package (available in RPMForge), which means that you must somehow download the dkms and dkms-atl1 packages from Internet and transfer them to the computer with the Attansic NIC. The total size is around 200KB so any media (for instance floppy disk, USB stick) will do.
List of packages needed to install dkms-atl1
Here is the full list of packages which must be installed in order to install and compile the driver (either directly from source or using dkms):
Centos 5 |
Centos 4 |
Centos 3 |
Repository |
Observation |
binutils |
binutils |
binutils |
standard |
(1) |
gcc |
gcc |
gcc |
standard |
(1) |
glibc-devel |
glibc-devel |
glibc-devel |
standard |
(1) |
glibc-headers |
glibc-headers |
glibc-headers |
standard |
(1) |
kernel-headers |
glibc-kernheaders |
glibc-kernheaders |
standard |
(1) |
kernel-devel |
kernel-devel |
kernel-source |
standard |
(1) (2) |
make |
make |
make |
standard |
(1) |
dkms |
dkms |
dkms |
RPMForge |
(3) |
(1) standard = Base + Updates repositories.
(2)
- Under all circumstances, the kernel-headers / kernel-devel / kernel-source package must match the version of the kernel for which the driver is compiled (not necessarily the running kernel).
- At boot time, dkms will detect if the existing driver module matches the running kernel and will compile a newer one if needed, provided that kernel-headers / kernel-devel / kernel-source matches the running kernel.
If you are compiling the driver manually instead of using dkms, you can compile the driver for another kernel version than the running one by using the same procedure as described in this page under Updating the Kernel. This step is mandatory if you are upgrading the kernel via a remote connection and you are not using dkms.
(3) You can check the state of the module any time using the command dkms status. The most interesting states are: added (the module has been successfully registered with the dkms system, but it has not been compiled) and installed (the module has also been successfully compiled).
Prebuilt kernel module
The driver may be downloaded as a kABI tracking kmod RPM package from the ELRepo repository (thanks to Alan, Philip and Toracat for contributing these packages). Select the kmod package that matches your kernel and install it with:
- rpm -ivh kmod-atl1*.rpm
Pro:
- The module functions seamlessly across kernel updates via the weak-updates mechanism.
- Does not require nor depend on any other packages, particularly development packages.
- Does not require compiling the driver.
Workaround
There is no known workaround for that hardware.
Notes
- The dkms package was tested in CentOS 5.1/x86_64, using kernel-2.6.18-53.el5.x86_64 and kernel-2.6.18-53.1.13.el5.x86_64. The driver disk was tested with CentOS 5.2 using kernel-2.6.18-92.el5.x86_64, kernel-2.6.18-92.1.1.el5.i686 and kernel-devel-2.6.18-92.1.1.el5.x86_64 and Centos 5.3 with kernel-2.6.18-128.el5.i386.
Feedback/comments about the package are waited at wolfy AT [spamfreeplease] fedoraproject.org
