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?
[ 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.
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.
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:
LR or SR SFP+ with unsupported vendor code,
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() :
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.
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