public inbox for pve-user@lists.proxmox.com
 help / color / mirror / Atom feed
From: Kyle Schmitt <kyleaschmitt@gmail.com>
To: pve-user@lists.proxmox.com
Subject: [PVE-User] tn40xx network driver issue
Date: Sun, 14 Mar 2021 21:06:16 -0500	[thread overview]
Message-ID: <CAO6gj4_x7J6a-D25_t91Nu5Oea=jOcSgq30SxNHqC2EQ3q4+Uw@mail.gmail.com> (raw)

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


                 reply	other threads:[~2021-03-15  2:06 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAO6gj4_x7J6a-D25_t91Nu5Oea=jOcSgq30SxNHqC2EQ3q4+Uw@mail.gmail.com' \
    --to=kyleaschmitt@gmail.com \
    --cc=pve-user@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal