XL710-QDA2 disables Rx/Tx with non-Intel QSFP+ cables: "unsupported SFP+ module type" in i40e
The poster compiled and loaded i40e 3.4.2 on Ubuntu 16.04 for an Intel XL710-QDA2 dual-port 40GbE adapter. The driver loaded fine, but as soon as non-Intel QSFP+ cables were attached dmesg reported "Rx/Tx is disabled on this device because an unsupported SFP+ module type was detected." and no link came up; they asked whether non-Intel QSFP+ cables are simply incompatible and whether there is any way to allow unsupported modules. Months later a second user reported the identical failure on Ubuntu 16.04 (kernel 4.4.0-138-generic) with i40e 2.4.10 and firmware 6.01 0x800034a4 1.1747.0: ethtool showed "Link detected: no" with speed and duplex unknown, and dmesg additionally printed "Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules."
- Hardware: Intel XL710-QDA2
- Transceivers: non-Intel QSFP+ cables
- Form factor: QSFP+, DAC
Symptoms / messages:
Rx/Tx is disabled on this device because an unsupported SFP+ module type was detected.
Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules.
Link detected: no
Speed: Unknown! / Duplex: Unknown! (255)
no link with third-party QSFP+ cables
Comments 3
Intel support said only validated cables and modules from the XL710 compatibility list (Intel article 000006051) should be used and, when asked directly, confirmed there is no supported way to allow unsupported SFP/QSFP+ modules on this adapter.
Support suggested buying validated cables through Intel's authorized resellers (locate.intel.com) and asked for the adapter serial number from the white sticker plus the exact brand and model of the QSFP+ cables for further checking; the original poster never followed up.
For the second user, support requested the kernel version, cable brand/model, product-label markings and the output of ethtool and ethtool -i to identify firmware and driver; the user supplied them (i40e 2.4.10, NVM 6.01), but no remedy beyond using validated modules appears in the captured part of the thread.