How can I install the driver of TX401 on Linux?

When You Set Up
Cập Nhật10-22-2024 03:54:11 AM 30289
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

Câu hỏi thường gặp này có hữu ích không?

Phản hồi của bạn giúp cải thiện trang web này.

Sản phẩm khuyến nghị

From United States?

Get products, events and services for your region.