Unsupported SFP ixgbe

Hello

I got a X86 19.07.3 openwrt router with a intel X520 pcie card. The card its detected well after install kmod_ixgbe but when i try to put a SFP module tells that its incompatible and dissapears the interface. How i can set allow_unsupported_sfp?

I tried to rmmod ixgbe and modprobe ixgbe allow_unsupported_sfp=1 but doesnt make anything. i tried too to put in /etc/modules.d/35-ixgbe the line but i got the same result. the kmod_ixgbe support this command?

The modprobe tool in Openwrt doesn't support parameters. Use insmod instead.

rmmod ixgbe
insmod /lib/modules/$(uname -r)/ixgbe.ko allow_unsupported_sfp=1
1 Like

Doesnt do anything still show in the DMESG unsupported SFP. i

Post logs. Something is wrong with the story we've got.

[    5.385325] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 5.1.0-k
[    5.387496] ixgbe: Copyright (c) 1999-2016 Intel Corporation.
[    5.413557] ixgbe 0000:01:00.0: failed to load because an unsupported SFP+ or QSFP module type was detected.
[    5.416050] ixgbe 0000:01:00.0: Reload the driver after installing a supported module.

Check eeprom for your card


1 Like

Passing allow_unsupported_sfp=1 to the cmdline should disable the check

1 Like

And 5 seconds into the boot you already logged in, unloaded the driver, and reloaded it with a very long parameter?

I really don't see the point asking questions if you are not going to follow the advice you get. I understand that you have found a smarter way to debug the problem. This is way over my head, so I'll just leave you with your method which I'm sure is much better than mine.

the eeprom its unlocked in the x520 card . i tried too to modify ma5671a with a compatible card but still no luck

@robimarko how i can put that on cmdline? in the boot?

@bmork i dont know how to debug this Ixgbe driver about the boot time remember its a X86 computer with nvme ssd so the time for me its correct

Load the driver as module, you can set the parameters per module in configuration files

Ah, right. Now it makes sense. You didn't mention what SFP you are trying to use, and I for one have assumed that it simply was a non-Intel SR or LR. The fact that this is a weird SFP makes all the difference.

Looking at the driver, I see that many unusual SFPs will end up with that error regardless of the allow_unsupported_sfp values, as you are experiencing. The error code which translates into that error messsage has actually two different meanings:

  1. LR or SR SFP+ with unsupported vendor code,
  2. any SFP with unexpected eeprom contents

The first meaning is an artificial incompatiblity wich can be removed by setting allow_unsupported_sfp. The second meaning might be a real incomatibility. Hard to know. It is not affected by any driver setting.

But you can obviously patch the driver if you want to test that. You'll have to figure out exactly where it ends up returning IXGBE_ERR_SFP_NOT_SUPPORTED to the probe, and then change that code. I assume it's one of the tests in ixgbe_identify_sfp_module_generic() :

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c#n1393

But it might also be in ixgbe_get_sfp_init_sequence_offsets(). Or somewhere else I am missing.

I suggest starting by turning on all debugging in the driver. But looking at the code, you'll probably have ot add a few more debug printk's to get any useful info out of it.

No, you cannot expect an ONT SFP to "just work". That's not just another SFP.

1 Like

Maybe the issue is that the MA5671a eeprom its software emulated and when boots fails? i can emulate any eeeprom (i tried to emulate a intel sfp without luck)

I would not expect that to make any difference as long as the driver can read the emulated eeprom. Any I2C issues would result in IXGBE_ERR_SFP_NOT_PRESENT AFAICS, which you don't get. So I guess the emulation is fine.

All 1000BaseT, LX or SX SFPs should be accepted regardless of vendor and module options. So try to emulate something like that. If you have such an SFP, then maybe try with the real thing and then just clone it if it works? Maybe changing the serial number to avoid confusing yourself :wink:

Im going to try a Gigabit SFP Copper RJ45 Módulo 1000BASE-T if it works... from qsfptek vendor