How can I install the driver of TX401 on Linux?
This article will show you how to install and uninstall the driver of TX401 on Linux.
WARNING:
- The AQtion driver compiles by default with the LRO (Large Receive Offload) feature enabled.
- This option offers the lowest CPU utilization for receives, but is completely incompatible with *routing/ip forwarding* and *bridging*.
- If enabling ip forwarding or bridging is a requirement, it is necessary to disable LRO using compile time options as noted in the LRO section later in this document.
- The result of not disabling LRO when combined with ip forwarding or bridging can be low throughput or even a kernel panic.
- This driver supports the linux kernels >= 3.10, and includes support for x86_64 and ARM Linux system.
The driver of TX401 1.0 is compatible with Ethernet adapters based on: AQC100, AQC107, AQC108.
The driver of TX401 2.0 is compatible with Ethernet adapters based on: AQC100, AQC108, AQC113.
Note: Can’t find the hardware version of the adapter? Please refer to: How to find the hardware version on a TP-Link device?
SFP+ Devices (for AQC-100 based adapters)
----------------------------------
This FAQ tested with passive Direct Attach Cables (DAC) and SFP+/LC Optical Transceiver.
To manually build this driver:
1. Make sure you have all the environment to build standalone kernel module.
On Debian-based systems you may do the following:
sudo apt install linux-headers build-essential
2. Move the base driver tar file to the directory of your choice.
For example, use /home/username/aquantia.
Untar/unzip archive:
cd ~/aquantia
tar zxf Aquantia-AQtion-x.y.z.tar.gz
3. Change to the driver src directory:
cd Aquantia-AQtion-x.y.z/
4. Compile the driver module:
make
5. Unload the driver, if an older version is in use:
sudo rmmod atlantic
6. Load the dependencies and the module itself:
sudo make load
7. Install the driver in the system:
make && make install
driver will be in:
/lib/modules/`uname -r`/aquantia/atlantic.ko
Alternatively build and install driver with dkms
1. Make sure you have all the environment to build standalone kernel module.
On Debian-based systems you may use the following command:
sudo apt-get install linux-headers-`uname -r` build-essential gawk dkms
On redhat-based systems you may use the following command:
sudo yum install kernel-devel-`uname -r` gcc gcc-c++ make gawk dkms
2. Move the base driver tar file to the directory of your choice.
For example, use /home/username/aquantia.
Untar/unzip archive:
cd ~/aquantia
tar zxf Aquantia-AQtion-x.y.z.tar.gz
3. Change to the driver source directory:
cd Aquantia-AQtion-x.y.z/
4. Build and install driver:
sudo ./dkms.sh install
driver will be in:
/lib/modules/`uname -r`/updates/dkms/atlantic.ko
Install driver on Debian\Ubuntu using atlantic-x.y.z.deb
1. Make sure you have all the environment to build standalone kernel module.
Execute the commands:
sudo apt-get install linux-headers-`uname -r`
2. Move the atlantic-x.y.z.deb file to the directory of your choice.
For example, use /home/username/aquantia.
3. Execute the commands:
cd /home/username/aquantia
sudo apt-get install ./atlantic-x.y.z.deb
After this driver will be installed.
(You can check this via "dpkg -l | grep -i atlantic")
Alternatively you can use atlantic-x.y.z.noarch.rpm
1. Make sure you have all the environment to build standalone kernel module.
Execute the commands:
sudo yum install kernel-devel-`uname -r`
2. Move the atlantic-x.y.z.noarch.rpm file to the directory of your choice.
For example, use /home/username/aquantia.
3. Execute the commands:
cd /home/username/aquantia
sudo yum install ./atlantic-x.y.z.noarch.rpm
After this driver will be installed. (You can check this via "rpm -qa | grep -i atlantic")
1. Verify that ethernet interface appears:
ifconfig
or
ip addr show
If there's no new interface in the output, then check the dmesg output.
If you see a "Bad firmware detected" message there, please update the firmware on your ethernet card.
2. Assign an IP address to the interface
(replace 'ethX' with an actual interface name):
ifconfig ethX <IP_address> netmask <netmask>
or
ip addr add <IP_address> dev ethX
3. Verify that the interface works
(replace '<IP_address>' with an actual IP address of another machine on
the same subnet with the interface under test):
ping <IP_address>
or (for IPv6)
ping6 <IPv6_address>
4. Make sure you are using the correct version of the driver (replace 'ethX' with an actual interface name):
ethtool -i ethX
To manually uninstall this driver:
Run the following command:
make uninstall
or:
sudo rmmod atlantic
sudo rm -f /lib/modules/`uname -r`/aquantia/atlantic.ko
depmod -a `uname -r`
Uninstall driver with dkms
Run the following command:
sudo ./dkms.sh uninstall
Uninstall driver on Debian\Ubuntu using atlantic-x.y.z.deb
Run the following command:
sudo dpkg -P atlantic
Uninstall driver using atlantic-x.y.z.noarch.rpm
Run the following command:
sudo rpm -e atlantic-x.y.z.noarch
Is this faq useful?
Your feedback helps improve this site.
TP-Link Community
Still need help? Search for answers, ask questions, and get help from TP-Link experts and other users around the world.