[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