[PVE-User] tn40xx network driver issue

Kyle Schmitt kyleaschmitt at gmail.com
Mon Mar 15 03:06:16 CET 2021


Just an FYI in case this helps anyone:  The tn40xx driver included
with 5.4.101-1-pve wasn't built with the firmware needed to use the Tehuti
Networks TN9710P 10GBase NIC.

Identified like this in lspci:
05:00.0 Ethernet controller: Tehuti Networks Ltd. TN9710P 10GBase-T/NBASE-T
Ethernet Adapter

With this kernel, if you manually modprobe tn40xx, you will see something
like
Tehuti Network Driver from https://github.com/acooks/tn40xx-driver, 004
Supported phys : QT2025 TLK10232 AQR105 MUSTANG

The driver needs build-time firmware for each phy the chip can support, and
the one my NIC needs shows as MV88X3310 in the "Supported phys" list.

Temporary work around:
There may be cleaner methods than this but as a stopgap if you get one of
these:
Grab a version of the linux driver from someplace relatively safe:
https://sgcdn.startech.com/005329/media/sets/tn4010_linux_esxi_drivers/tehuti_tn4010_linux_pcie_10_gigabit_network_card.zip,
and extract the firmware.  In this case the firmware was
x3310fw_0_2_8_0_8850.hdr.

Grab the source for the DKMS module (older since the driver has been moved
in kernel, but still works).  https://github.com/acooks/tn40xx-driver.git.
It makes it easy if you put this into /usr/src/tn40xx-004 via:
git clone -b release/tn40xx-004 https://github.com/acooks/tn40xx-driver.git
/usr/src/tn40xx-004

In the Readme it says you need x3310fw_0_3_4_0_9445.hdr for NICs with this
chip.  Symlinking or renaming x3310fw_0_2_8_0_8850.hdr works just fine. The
firmware you snagged in the first step goes in the /usr/src/tn40xx-004/
directory.

Note: you can build this as a DKMS driver, but understand that since it's
older than what's there, dkms install will complain, and it might not load
automatically.  In my case I had to run:
dkms install tn40xx/004  --force
and it still ended up not putting the right module in place, but a simple:
cp /usr/src/tn40xx-004/tn40xx.ko /lib/modules/5.4.101-1-pve/updates/dkms
worked.

After modprobe tn40xx, this shows in dmesg.

Tehuti Network Driver from https://github.com/acooks/tn40xx-driver, 004
Supported phys : MV88X3120 MV88X3310  QT2025 TLK10232 AQR105 MUSTANG

And the interface works.

Hopes this helps if anyone else runs into this.
--Kyle


More information about the pve-user mailing list