From 53e3229683adc18c979fc8b60d7a8f1d7c3a83cc Mon Sep 17 00:00:00 2001 From: Nick Charlton Date: Mon, 15 Jan 2024 16:18:12 +0000 Subject: [PATCH] Add post on working around unsupported SFP modules --- ...d-sfp-modules-intel-x520-debian-freebsd.md | 155 ++++++++++++++++++ .../images/unsupported-sfp-intel-x520.png | Bin 0 -> 50975 bytes 2 files changed, 155 insertions(+) create mode 100644 _posts/2024-01-15-unsupported-sfp-modules-intel-x520-debian-freebsd.md create mode 100644 resources/images/unsupported-sfp-intel-x520.png diff --git a/_posts/2024-01-15-unsupported-sfp-modules-intel-x520-debian-freebsd.md b/_posts/2024-01-15-unsupported-sfp-modules-intel-x520-debian-freebsd.md new file mode 100644 index 0000000..83a6b83 --- /dev/null +++ b/_posts/2024-01-15-unsupported-sfp-modules-intel-x520-debian-freebsd.md @@ -0,0 +1,155 @@ +--- +title: "Fixing unsupported SFP+ modules/\"no carrier\" errors with Intel X520 cards on Debian & FreeBSD" +tags: debian freebsd networking +--- + +I've been reconfiguring a router I built at the end of last year to be a +[transparent firewall (or filtering bridge) using Opnsense][1]. On the router, +I've got a Dell-branded Intel X520-DA2 NIC, along with some [Flypro 10GBase-T +SFP+ modules][2] which I picked up on offer last year. But … they don't work. + +Intel — like a lot of other vendors — restricts the SFP+ modules +to those which have been approved, regardless of whether they may pose a +problem and so you can't just use any SFP+ module which isn't programmed for +that vendor's hardware. I'd not actually considered that this was going to be a +problem (even knowing about the vendor restriction with some cards), so it +derailed the project whilst I tried to debug what was going wrong, as at least +in Opnsense this wasn't that clear. + +You might see disconnected interfaces which list "no carrier" even when modules +are inserted, or just no interfaces at all (if you booted with them in, the +driver won't use them). The screenshot below shows when the interfaces _do_ +show up, but this required booting up with no SFP+ modules, then inserting them +afterwards. + +{% picture url: "resources/images/unsupported-sfp-intel-x520.png" + alt: "Screenshot from Opnsense's interface section, showing no + carrier (even though there is)." +%} + Screenshot from Opnsense's interface section, showing no carrier (even though + there is). +{% endpicture %} + +After reconfiguring a few times, I noticed the interface was always +disconnected, regardless of what was physically plugged in or what I'd set up. +I'm not so familiar with Opnsense/FreeBSD, so booted up a Debian live image to +try out something I was familiar with. I'd originally thought that maybe it was +a platform driver issue, but booting Debian left me with the following error: + +``` +ixgbe 0000:04:00.0: failed to load because an unsupported SFP+ or QSFP module type was detected. +ixgbe 0000:04:00.0: Reload the driver after installing a supported module. +``` + +(You can find it later in `dmesg`.) + +[Some third-party vendors supply tools to re-programme the boards][3], but +these Flypro modules don't support that (nor do I have one), but there are +options. + +## Debian workaround + +On Debian, [we can disable the check in the driver module][8]: + +``` +root@debian:~# rmmod ixgbe +root@debian:~# modprobe ixgbe allow_unsupported_sfp=1 +``` + +Then bring the interfaces up (with a module in/remove and reinsert if already +there): + +``` +ip link set dev ens2f0 up +``` + +If we wanted to persist, it we could do: + +``` +root@debian:~# echo "options ixgbe allow_unsupported_sfp=1" > /etc/modprobe.d/ixgbe.conf +root@debian:~# depmod -a +root@debian:~# update-initramfs -u -k `uname -r` # if you're not running a live system +``` + +We can then reload the module to bring up the new configuration: + +``` +root@debian:~# rmmod ixgbe +root@debian:~# modprobe ixgbe +``` + +## FreeBSD workaround + +On [FreeBSD (and so Opnsense, pfSense, etc), we see a similar log message][6] +and [can work around it similarly][7]. On boot, we'll see (and also in +`/var/log/dmesg.today`): + +``` +ix2: Unsupported SFP+ module detected! +``` + +We can then [set a tunable][9] to allow unsupported modules: + +``` +echo "hw.ix.unsupported_sfp=1" > /boot/loader.conf.d/ix.conf +``` + +After a reboot, the interface should be usable. I did this on Opnsense and it +persists between reboots, and also when resetting to factory defaults. + +## Disabling the check on the card + +These workarounds were really helpful to isolate my problem to the restriction +and not any other hardware or software configuration, but it'd be much better +to just not have to think about this problem again, especially as this +workaround is reportedly not possible with something like Windows or ESXi, both +of which I use elsewhere. + +[Over on the ServeTheHome forums, _NathanA_][4] figured out exactly how to do +this after digging into various data sheets and support threads. [Raymond +Douglas then distilled this down into the steps][5] required. It relies on +using `ethtool` (I used a ["standard" (without desktop environment) live CD +image][10]) to compare a bit (`IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP`, in the Linux +ixgbe driver) on the device's EEPROM before writing a new version. + +### 1. Identify the current value + +``` +root@debian:~# ethtool -e enp4s0f0 offset 0x58 length 1 +Offset Values +------ ------- +0x0058: fc +``` + +### 2. Write the new value + +``` +root@debian:~# ethtool -E enp4s0f0 magic 0x10fb8086 offset 0x58 value 0xfd +``` + +### 3. Verify by reading back + +``` +root@debian:~# ethtool -e enp4s0f0 offset 0x58 length 1 +Offset Values +------ ------- +0x0058: fd +``` + +After a reboot, the Debian live environment then used the new module without +any further configuration. + +I'd really recommend reading the original ServeTheHome post, as it explains in +much more depth what's going on, why this works and why you need to be careful +not to modify or set incorrect values, as you risk bricking the card. + +[1]: https://docs.opnsense.org/manual/how-tos/transparent_bridge.html +[2]: https://www.flypro.com/p423.html +[3]: https://www.fs.com/uk/c/fs-box-3389 +[4]: https://forums.servethehome.com/index.php?threads/patching-intel-x520-eeprom-to-unlock-all-sfp-transceivers.24634/ +[5]: https://rymnd.net/blog/2020/unsupported-sfp-intel-x520/ +[6]: https://forums.freebsd.org/threads/status-no-carrier-for-ethernet-port.67721/ +[7]: https://forums.freebsd.org/threads/intel-sfp-card-not-compatible.85348/ +[8]: https://blog.route1.ph/2019/09/27/stretch-ixgbe-driver-allow-unsupported-sfp-modules-on-intel-x520-cards/ +[9]: https://wiki.freebsd.org/sysctl +[10]: https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/ diff --git a/resources/images/unsupported-sfp-intel-x520.png b/resources/images/unsupported-sfp-intel-x520.png new file mode 100644 index 0000000000000000000000000000000000000000..a27ccfab3356928f742b600ed41bcd0351301fac GIT binary patch literal 50975 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