How can I install the driver of TX401 on Linux?

When You Set Up
Updated 10-22-2024 03:54:11 AM 28226
This Article Applies to: 

This article will show you how to install and uninstall the driver of TX401 on Linux.

IMPORTANT NOTE

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.

Identifying Your Adapter

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.

Building and Installation

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")

Check that the driver is working

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

Uninstall the Driver

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.

Recommend Products

Community

TP-Link Community

Still need help? Search for answers, ask questions, and get help from TP-Link experts and other users around the world.

Visit the Community >