Unlocking Any Brand SFP modules on Intel X710

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

tfboy

New Member
Mar 19, 2023
17
3
3
Sorry, I thought I'd replied to this thread when I hadn't.

After much experimentation with Protectli support and playing around with different firmware, BSD drivers and settings in pfSense, etc, I still couldn't get my ISP-provided SFP to work in the X710 SFP+ interface cage.

In the end, I took a punt on getting an fs.com SFP (I needed to get the exact correct one - a simplex SMF SFP coded to the right RX and TX frequencies).

After getting that and programming it to be an Intel branded one (I had access to fs.com's programming box - great bit of kit!), the SFP and link sprung to life. True plug and play. No tweaking, further customisation or anything required. Link light came up immediately :cool:

I tagged the correct VLAN on it in pfSense and my internet link came up, obtained IPv4 address over DHCP by my ISP. They're either unaware or don't seem to care - my services run fine and if anything, a little faster than using their own router box. I didn't have to clone and MAC address either (I could have programmed it on the SFP I think or instruct pfSense to use a custom one).

Here's what pfSense / BSD now reports:

ifconfig -vvvmm ixl0
ixl0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
options=4e100bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,VLAN_HWFILTER,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG>
capabilities=4f507bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWFILTER,VLAN_HWTSO,NETMAP,RXCSUM_IPV6,TXCSUM_IPV6,HWSTATS,MEXTPG>
ether 64:62:66:22:88:35
inet6 fe80::6662:66ff:fe22:8835%ixl0 prefixlen 64 scopeid 0x1
media: Ethernet autoselect (1000baseLX <full-duplex>)
status: active
supported media:
media autoselect
media 1000baseLX
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
plugged: SFP/SFP+/SFP28 1000BASE-LX (LC)
vendor: FS PN: SFP-GE-BX SN: S2307479033 DATE: 2021-11-24
module temperature: 38.33 C voltage: 3.24 Volts
lane 1: RX power: 0.07 mW (-11.33 dBm) TX bias: 11.35 mA

SFF8472 DUMP (0xA0 0..127 range):
03 04 07 00 00 00 02 00 00 00 00 01 0d 00 0a 64
00 00 00 00 46 53 20 20 20 20 20 20 20 20 20 20
20 20 20 20 00 00 1b 21 53 46 50 2d 47 45 2d 42
58 20 20 20 20 20 20 20 20 20 20 20 05 1e 00 0d
00 1a 00 00 53 32 33 30 37 34 37 39 30 33 33 20
20 20 20 20 32 31 31 31 32 34 20 20 68 90 01 77
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
 
Last edited:

gonzalog

New Member
Nov 19, 2024
7
4
3
Maybe I am doing something wrong but GitHub - terpstra/xl710-unlocker: Unlock Intel XL710 / X710 cards for use with any SFP+ is not working for my Lenovo 710x-da2

I have firmware 8.15 on my 710x-da2 and checked that my parameters are the same as in the readme (open issue).
I have made the changes to mypoke.c, and + 08 and +16 addresses has changed from 6b0c -> 630c (change bit 11 as instructions say):
Code:
root@m910x:~/xl710-unlocker# ./mytool 0x6940|grep 630c
00006940 + 08 => 630c
00006940 + 16 => 630c
I have rebooted my proxmox node and I am getting this log when plugging my cisco transceiver:
Code:
[    1.449497] i40e: Intel(R) Ethernet Connection XL710 Network Driver
[    1.449500] i40e: Copyright (c) 2013 - 2019 Intel Corporation.
[    1.463468] i40e 0000:01:00.0: fw 8.13.63341 api 1.12 nvm 8.15 0x80009e52 1.3755.0 [8086:1572] [8086:000a]
[    1.705006] i40e 0000:01:00.0: MAC address: XX:YY:ZZ:AA:BB:CC
[    1.705272] i40e 0000:01:00.0: FW LLDP is enabled
[    1.709823] i40e 0000:01:00.0: PCI-Express: Speed 8.0GT/s Width x4
[    1.709826] i40e 0000:01:00.0: PCI-Express bandwidth available for this device may be insufficient for optimal performance.
[    1.709828] i40e 0000:01:00.0: Please move the device to a different PCI-e link with more lanes and/or higher transfer rate.
[    1.710322] i40e 0000:01:00.0: Features: PF-id[0] VFs: 64 VSIs: 66 QP: 12 RSS FD_ATR FD_SB NTUPLE DCB VxLAN Geneve PTP VEPA
[    1.734306] i40e 0000:01:00.1: fw 8.13.63341 api 1.12 nvm 8.15 0x80009e52 1.3755.0 [8086:1572] [8086:000a]
[    1.982812] i40e 0000:01:00.1: MAC address: XX:YY:ZZ:AA:BB:CC
[    1.983120] i40e 0000:01:00.1: FW LLDP is enabled
[    1.993872] i40e 0000:01:00.1: PCI-Express: Speed 8.0GT/s Width x4
[    1.993875] i40e 0000:01:00.1: PCI-Express bandwidth available for this device may be insufficient for optimal performance.
[    1.993877] i40e 0000:01:00.1: Please move the device to a different PCI-e link with more lanes and/or higher transfer rate.
[    2.002540] i40e 0000:01:00.1: Features: PF-id[1] VFs: 64 VSIs: 66 QP: 12 RSS FD_ATR FD_SB NTUPLE DCB VxLAN Geneve PTP VEPA
[   10.998192] i40e 0000:01:00.0 enp1s0f0np0: renamed from eth0
[   11.027216] i40e 0000:01:00.1 enp1s0f1np1: renamed from eth2
[   17.486834] i40e 0000:01:00.0 enp1s0f0np0: entered allmulticast mode
[   17.488223] i40e 0000:01:00.0: entering allmulti mode.
[   17.530919] i40e 0000:01:00.1 enp1s0f1np1: entered allmulticast mode
[   17.530966] i40e 0000:01:00.1 enp1s0f1np1: entered promiscuous mode
[   17.532222] i40e 0000:01:00.1: entering allmulti mode.
[   27.232784] i40e 0000:01:00.0 enp1s0f0np0: entered promiscuous mode
[  151.985619] i40e 0000:01:00.0: Rx/Tx is disabled on this device because an unsupported SFP module type was detected.
[  151.985632] i40e 0000:01:00.0: Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules.
[  208.575446] i40e 0000:01:00.1: Rx/Tx is disabled on this device because an unsupported SFP module type was detected.
[  208.575451] i40e 0000:01:00.1: Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules.
What am I missing? I do not know how to move on any help would be appreciated
 

blunden

Well-Known Member
Nov 29, 2019
978
314
63
Maybe I am doing something wrong but GitHub - terpstra/xl710-unlocker: Unlock Intel XL710 / X710 cards for use with any SFP+ is not working for my Lenovo 710x-da2

I have firmware 8.15 on my 710x-da2 and checked that my parameters are the same as in the readme (open issue).
I have made the changes to mypoke.c, and + 08 and +16 addresses has changed from 6b0c -> 630c (change bit 11 as instructions say):
Code:
root@m910x:~/xl710-unlocker# ./mytool 0x6940|grep 630c
00006940 + 08 => 630c
00006940 + 16 => 630c
I have rebooted my proxmox node and I am getting this log when plugging my cisco transceiver:
Code:
[    1.449497] i40e: Intel(R) Ethernet Connection XL710 Network Driver
[    1.449500] i40e: Copyright (c) 2013 - 2019 Intel Corporation.
[    1.463468] i40e 0000:01:00.0: fw 8.13.63341 api 1.12 nvm 8.15 0x80009e52 1.3755.0 [8086:1572] [8086:000a]
[    1.705006] i40e 0000:01:00.0: MAC address: XX:YY:ZZ:AA:BB:CC
[    1.705272] i40e 0000:01:00.0: FW LLDP is enabled
[    1.709823] i40e 0000:01:00.0: PCI-Express: Speed 8.0GT/s Width x4
[    1.709826] i40e 0000:01:00.0: PCI-Express bandwidth available for this device may be insufficient for optimal performance.
[    1.709828] i40e 0000:01:00.0: Please move the device to a different PCI-e link with more lanes and/or higher transfer rate.
[    1.710322] i40e 0000:01:00.0: Features: PF-id[0] VFs: 64 VSIs: 66 QP: 12 RSS FD_ATR FD_SB NTUPLE DCB VxLAN Geneve PTP VEPA
[    1.734306] i40e 0000:01:00.1: fw 8.13.63341 api 1.12 nvm 8.15 0x80009e52 1.3755.0 [8086:1572] [8086:000a]
[    1.982812] i40e 0000:01:00.1: MAC address: XX:YY:ZZ:AA:BB:CC
[    1.983120] i40e 0000:01:00.1: FW LLDP is enabled
[    1.993872] i40e 0000:01:00.1: PCI-Express: Speed 8.0GT/s Width x4
[    1.993875] i40e 0000:01:00.1: PCI-Express bandwidth available for this device may be insufficient for optimal performance.
[    1.993877] i40e 0000:01:00.1: Please move the device to a different PCI-e link with more lanes and/or higher transfer rate.
[    2.002540] i40e 0000:01:00.1: Features: PF-id[1] VFs: 64 VSIs: 66 QP: 12 RSS FD_ATR FD_SB NTUPLE DCB VxLAN Geneve PTP VEPA
[   10.998192] i40e 0000:01:00.0 enp1s0f0np0: renamed from eth0
[   11.027216] i40e 0000:01:00.1 enp1s0f1np1: renamed from eth2
[   17.486834] i40e 0000:01:00.0 enp1s0f0np0: entered allmulticast mode
[   17.488223] i40e 0000:01:00.0: entering allmulti mode.
[   17.530919] i40e 0000:01:00.1 enp1s0f1np1: entered allmulticast mode
[   17.530966] i40e 0000:01:00.1 enp1s0f1np1: entered promiscuous mode
[   17.532222] i40e 0000:01:00.1: entering allmulti mode.
[   27.232784] i40e 0000:01:00.0 enp1s0f0np0: entered promiscuous mode
[  151.985619] i40e 0000:01:00.0: Rx/Tx is disabled on this device because an unsupported SFP module type was detected.
[  151.985632] i40e 0000:01:00.0: Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules.
[  208.575446] i40e 0000:01:00.1: Rx/Tx is disabled on this device because an unsupported SFP module type was detected.
[  208.575451] i40e 0000:01:00.1: Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules.
What am I missing? I do not know how to move on any help would be appreciated
I think this fork is more up to date:

 

gonzalog

New Member
Nov 19, 2024
7
4
3
I think this fork is more up to date:

I have tried patching with that tool and it seems to be unlocked but I am still getting: "Rx/Tx is disabled on this device because an unsupported SFP module type was detected"

This unlocker gives me:
Code:
root@m910x:~/2/xl710-unlocker# ./xl710_unlock -n enp1s0f0np0
EMP SR offset: 0x67f1
PHY offset: 0x6940
PHY data struct size: 0x000d
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
Ready to fix it? [y/N]:
Thanks for your quick response
 

blunden

Well-Known Member
Nov 29, 2019
978
314
63
I have tried patching with that tool and it seems to be unlocked but I am still getting: "Rx/Tx is disabled on this device because an unsupported SFP module type was detected"

This unlocker gives me:
Code:
root@m910x:~/2/xl710-unlocker# ./xl710_unlock -n enp1s0f0np0
EMP SR offset: 0x67f1
PHY offset: 0x6940
PHY data struct size: 0x000d
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
Ready to fix it? [y/N]:
Thanks for your quick response
Hmm, then I don't know. I suppose you could try flashing the generic Intel firmware on it. I've seen a guide for doing so on the Level1Techs forum, and possibly here as well.
 
  • Like
Reactions: gonzalog

gonzalog

New Member
Nov 19, 2024
7
4
3
Hmm, then I don't know. I suppose you could try flashing the generic Intel firmware on it. I've seen a guide for doing so on the Level1Techs forum, and possibly here as well.
Thank you very much, I have flashed the intel firmware and the "unsupported SFP module" warning is gone. Now I am trying to get an IP and send packets from enp1s0f0np0 interface but I think that the auto-negotiation is somehow broken:

Code:
root@m910x:~# ethtool enp1s0f0np0
Settings for enp1s0f0np0:
        Supported ports: [  ]
        Supported link modes:   10000baseT/Full
                                1000baseX/Full
                                10000baseSR/Full
                                10000baseLR/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10000baseT/Full
                                1000baseX/Full
                                10000baseSR/Full
                                10000baseLR/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: off
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: no
DMESG output
Code:
[    2.038581] i40e 0000:01:00.1: Please move the device to a different PCI-e link with more lanes and/or higher transfer rate.
[    2.039062] i40e 0000:01:00.1: Features: PF-id[1] VFs: 64 VSIs: 66 QP: 12 RSS FD_ATR FD_SB NTUPLE DCB VxLAN Geneve PTP VEPA
[   11.025054] i40e 0000:01:00.0 enp1s0f0np0: renamed from eth0
[   11.062100] i40e 0000:01:00.1 enp1s0f1np1: renamed from eth2
[   17.496484] i40e 0000:01:00.0 enp1s0f0np0: entered allmulticast mode
[   17.498155] i40e 0000:01:00.0: entering allmulti mode.
[   17.541140] i40e 0000:01:00.1 enp1s0f1np1: entered allmulticast mode
[   17.541183] i40e 0000:01:00.1 enp1s0f1np1: entered promiscuous mode
[   17.566866] i40e 0000:01:00.1: failed to get phy cap., ret =  -EIO last_status =  I40E_AQ_RC_EAGAIN
[   17.567915] i40e 0000:01:00.1: entering allmulti mode.
[   27.086893] i40e 0000:01:00.0 enp1s0f0np0: entered promiscuous mode

I am testing on the proxmox host.
Thanks again for your help. I think I almost have the connection up
 
  • Like
Reactions: blunden

gonzalog

New Member
Nov 19, 2024
7
4
3
Hmm, then I don't know. I suppose you could try flashing the generic Intel firmware on it. I've seen a guide for doing so on the Level1Techs forum, and possibly here as well.
Many thanks for your help blunden. I have reverted my firmware to 8.15, and now I can see that my transceiver is an SFP (not SFP+). That might be the reason why I'm not getting a link. If I buy any SFP+ transceiver, could I get a 1 Gb uplink? I'm planning to connect a 1 Gb switch to the other side of the RJ45 cable.

Code:
root@m910x:~# ethtool  -m enp1s0f1np1
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
 
  • Like
Reactions: blunden

blunden

Well-Known Member
Nov 29, 2019
978
314
63
Many thanks for your help blunden. I have reverted my firmware to 8.15, and now I can see that my transceiver is an SFP (not SFP+). That might be the reason why I'm not getting a link. If I buy any SFP+ transceiver, could I get a 1 Gb uplink? I'm planning to connect a 1 Gb switch to the other side of the RJ45 cable.

Code:
root@m910x:~# ethtool  -m enp1s0f1np1
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
I would have expected it to be backwards compatible. Have you tried setting the link speed and duplex manually? Auto-negotiation isn't as reliable on SFP* in my admittedly limited experience.

Many SFP+ transceivers support 1 Gbps too, yes. Not necessarily all of them though.
 

gonzalog

New Member
Nov 19, 2024
7
4
3
I would have expected it to be backwards compatible. Have you tried setting the link speed and duplex manually? Auto-negotiation isn't as reliable on SFP* in my admittedly limited experience.

Many SFP+ transceivers support 1 Gbps too, yes. Not necessarily all of them though.
I have been trying to set speed and duplex manually but there are some errors.
It seems that setting duplex manually is not supported:

Code:
root@m910x:~# sudo ethtool -s enp1s0f0np0 duplex full
netlink error: link settings update failed
netlink error: Operation not supported
root@m910x:~# dmesg | grep i40e
[ 6212.897057] i40e 0000:01:00.0 enp1s0f0np0: Only speed and autoneg are supported.
I think that I have successfully set the speed manually Advertised link modes: 1000baseX/Full: but I cannot set duplex and there is no link
Code:
root@m910x:~# sudo ethtool -s enp1s0f0np0 speed 1000
root@m910x:~# ethtool enp1s0f0np0
Settings for enp1s0f0np0:
        Supported ports: [  ]
        Supported link modes:   10000baseT/Full
                                1000baseX/Full
                                10000baseSR/Full
                                10000baseLR/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseX/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: off
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: no
Thanks again for your help blunden
 

blunden

Well-Known Member
Nov 29, 2019
978
314
63
I have been trying to set speed and duplex manually but there are some errors.
It seems that setting duplex manually is not supported:

Code:
root@m910x:~# sudo ethtool -s enp1s0f0np0 duplex full
netlink error: link settings update failed
netlink error: Operation not supported
root@m910x:~# dmesg | grep i40e
[ 6212.897057] i40e 0000:01:00.0 enp1s0f0np0: Only speed and autoneg are supported.
I think that I have successfully set the speed manually Advertised link modes: 1000baseX/Full: but I cannot set duplex and there is no link
Code:
root@m910x:~# sudo ethtool -s enp1s0f0np0 speed 1000
root@m910x:~# ethtool enp1s0f0np0
Settings for enp1s0f0np0:
        Supported ports: [  ]
        Supported link modes:   10000baseT/Full
                                1000baseX/Full
                                10000baseSR/Full
                                10000baseLR/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  1000baseX/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: off
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: no
Thanks again for your help blunden
What specific transceiver are you trying to use?
 

gonzalog

New Member
Nov 19, 2024
7
4
3
What specific transceiver are you trying to use?
Its a CISCO one. Also it is a bit confusing for me that when the transceiver is plugged on port 0 (see enp1s0f0np0 in my previous post) the module is being listed on port 1 (enp1s0f1np1)
Code:
root@m910x:~# ethtool -m enp1s0f1np1
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
        Connector                                 : 0x00 (unknown or unspecified)
        Transceiver codes                         : 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x01
        Transceiver type                          : Ethernet: 1000BASE-T
        Transceiver type                          : Extended: 100G AOC or 25GAUI C2M AOC with worst BER of 5x10^(-5)
        Encoding                                  : 0x01 (8B/10B)
        BR, Nominal                               : 1300MBd
        Rate identifier                           : 0x00 (unspecified)
        Length (SMF,km)                           : 0km
        Length (SMF)                              : 0m
        Length (50um)                             : 0m
        Length (62.5um)                           : 0m
        Length (Copper)                           : 100m
        Length (OM3)                              : 0m
        Laser wavelength                          : 16652nm
        Vendor name                               : CISCO-ACCELINK
        Vendor OUI                                : 00:1c:ad
        Vendor PN                                 : RTXL185-200-D01
        Vendor rev                                : 1.0
        Option values                             : 0x00 0x10
        Option                                    : TX_DISABLE implemented
        BR margin, max                            : 0%
        BR margin, min                            : 0%
        Vendor SN                                 : XXXSUPPRESSEDXXX
        Date code                                 : 22021
 

gonzalog

New Member
Nov 19, 2024
7
4
3
What specific transceiver are you trying to use?
Finally, I have resolved the issue by changing my SFP to an SFP+ transceiver . Many thanks to you blunden and this forum. Creating communities like this one is crucial to spreading knowledge over the Internet. Link up:

Code:
root@m910x:~# ethtool enp1s0f1np1
Settings for enp1s0f1np1:
        Supported ports: [ FIBRE ]
        Supported link modes:   10000baseSR/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10000baseSR/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Auto-negotiation: off
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes
 

jasonhuan

New Member
May 25, 2024
1
0
1
Hi all,

Just a PSA to all of those who are reading to this point...

Intel 500 and 700 series cards are not supported by Mikrotik switches, amongst a few other (QNAP) vendors...

If you happen to be in this situation, you will have to set your Mikrotik switch to turn off auto-negotiation and force a 1Gb full-duplex link. Also, turn Tx and Rx loss to "auto".

In order to be able to support a 1Gb link, not all DACs will be capable (e.g. 10GTek, FS), so you should use optical transceivers for the best functionality. Which brings me to: Intel E10GSRSFP transceivers... made and designed by intel... what an ironic situation.

After using those transceivers, you should be able to get a 1Gb/s link until Mikrotik fixes this problem.

Thanks everybody :)
 
Last edited:

blunden

Well-Known Member
Nov 29, 2019
978
314
63
Hi all,

Just a PSA to all of those who are reading to this point...

Intel 500 and 700 series cards are not supported by Mikrotik switches, amongst a few other (QNAP) vendors...

If you happen to be in this situation, you will have to set your Mikrotik switch to turn off auto-negotiation and force a 1Gb full-duplex link. Also, turn Tx and Rx loss to "auto".

In order to be able to support a 1Gb link, not all DACs will be capable (e.g. 10GTek, FS), so you should use optical transceivers for the best functionality. Which brings me to: Intel E10GSRSFP transceivers... made and designed by intel... what an ironic situation.

After using those transceivers, you should be able to get a 1Gb/s link until Mikrotik fixes this problem.

Thanks everybody :)
It has been an issue since 2018? Seriously?
 

TechTheAwesome

New Member
May 29, 2025
2
0
1
Yes, because Minisforum disables the vendor lock from the factory on the NIC they use. :)

Most X710 NICs don't ship like that though, causing these unlocking tools to be needed.
Hi, I am running a MS-A2 model from minisforum, and apparently it is true that it should be unlocked, according to my run of the tool

Code:
root@pve:~/xl710-unlocker#  ./xl710_unlock -n enp5s0f0np0
EMP SR offset: 0x67eb
PHY offset: 0x693b
PHY data struct size: 0x000d
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
Ready to fix it? [y/N]: N
However, I am still running into this message on my dmesg. I am stuck after a week of on & off diagnosing, and would be glad to have a second opinion.

Code:
[ 7284.415316] i40e 0000:05:00.0: Rx/Tx is disabled on this device because an unsupported SFP module type was detected.
[ 7284.415321] i40e 0000:05:00.0: Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules.
Well technically it only shows up when I set
Code:
ethtool -s enp5s0f0np0 speed 1000 autoneg off
More details are below
Note the SFP module is working and is a GPON ONT SFP, and it works on TP-Link MC220L.

Code:
05:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 02)
05:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 02)

root@pve:~# ethtool -m enp5s0f0np0
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
        Connector                                 : 0x01 (SC)
        Transceiver codes                         : 0x00 0x00 0x00 0x80 0x00 0x00 0x00 0x00 0x00
        Transceiver type                          : Ethernet: BASE-PX
        Encoding                                  : 0x01 (8B/10B)
        BR, Nominal                               : 1300MBd
        Rate identifier                           : 0x00 (unspecified)
        Length (SMF,km)                           : 10km
        Length (SMF)                              : 10000m
        Length (50um)                             : 0m
        Length (62.5um)                           : 0m
        Length (Copper)                           : 0m
        Length (OM3)                              : 0m
        Laser wavelength                          : 1310nm
        Vendor name                               : NTT
        Vendor OUI                                : 00:00:00
        Vendor PN                                 : 0000000000000000
        Vendor rev                                : 0000
        Option values                             : 0x02 0x00
        Option                                    : Power level 2 requirement
        BR margin, max                            : 0%
        BR margin, min                            : 0%
        Vendor SN                                 : 0000000000000000
        Date code                                 : 150519


root@pve:~# ethtool enp5s0f0np0
Settings for enp5s0f0np0:
        Supported ports: [  ]
        Supported link modes:   Not reported
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: off
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: no
root@pve:~# ethtool -s enp5s0f0np0 speed 1000 duplex full autoneg off
netlink error: link settings update failed
netlink error: Operation not supported
 

blunden

Well-Known Member
Nov 29, 2019
978
314
63
Hi, I am running a MS-A2 model from minisforum, and apparently it is true that it should be unlocked, according to my run of the tool

Code:
root@pve:~/xl710-unlocker#  ./xl710_unlock -n enp5s0f0np0
EMP SR offset: 0x67eb
PHY offset: 0x693b
PHY data struct size: 0x000d
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
Ready to fix it? [y/N]: N
However, I am still running into this message on my dmesg. I am stuck after a week of on & off diagnosing, and would be glad to have a second opinion.

Code:
[ 7284.415316] i40e 0000:05:00.0: Rx/Tx is disabled on this device because an unsupported SFP module type was detected.
[ 7284.415321] i40e 0000:05:00.0: Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules.
Well technically it only shows up when I set
Code:
ethtool -s enp5s0f0np0 speed 1000 autoneg off
More details are below
Note the SFP module is working and is a GPON ONT SFP, and it works on TP-Link MC220L.

Code:
05:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 02)
05:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 02)

root@pve:~# ethtool -m enp5s0f0np0
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
        Connector                                 : 0x01 (SC)
        Transceiver codes                         : 0x00 0x00 0x00 0x80 0x00 0x00 0x00 0x00 0x00
        Transceiver type                          : Ethernet: BASE-PX
        Encoding                                  : 0x01 (8B/10B)
        BR, Nominal                               : 1300MBd
        Rate identifier                           : 0x00 (unspecified)
        Length (SMF,km)                           : 10km
        Length (SMF)                              : 10000m
        Length (50um)                             : 0m
        Length (62.5um)                           : 0m
        Length (Copper)                           : 0m
        Length (OM3)                              : 0m
        Laser wavelength                          : 1310nm
        Vendor name                               : NTT
        Vendor OUI                                : 00:00:00
        Vendor PN                                 : 0000000000000000
        Vendor rev                                : 0000
        Option values                             : 0x02 0x00
        Option                                    : Power level 2 requirement
        BR margin, max                            : 0%
        BR margin, min                            : 0%
        Vendor SN                                 : 0000000000000000
        Date code                                 : 150519


root@pve:~# ethtool enp5s0f0np0
Settings for enp5s0f0np0:
        Supported ports: [  ]
        Supported link modes:   Not reported
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: off
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: no
root@pve:~# ethtool -s enp5s0f0np0 speed 1000 duplex full autoneg off
netlink error: link settings update failed
netlink error: Operation not supported
This unlock just removes the vendor lock. It doesn't mean that the NIC will accept every single transceiver type. I know my other Intel NIC was a bit picky in terms of the transceiver EEPROM data, where I had to try many different profiles on my Flexoptix 10GBASE-T transceiver before it was accepted.

I think it might simply be that it doesn't like the "Ethernet: BASE-PX" type. I'm just guessing though. The safest bet is usually to spoof the data to make it look like a fiber transceiver of some kind.
 

TechTheAwesome

New Member
May 29, 2025
2
0
1
This unlock just removes the vendor lock. It doesn't mean that the NIC will accept every single transceiver type. I know my other Intel NIC was a bit picky in terms of the transceiver EEPROM data, where I had to try many different profiles on my Flexoptix 10GBASE-T transceiver before it was accepted.

I think it might simply be that it doesn't like the "Ethernet: BASE-PX" type. I'm just guessing though. The safest bet is usually to spoof the data to make it look like a fiber transceiver of some kind.
Does spoofing the data requires something like this? Transceiver Programmer | FS Fiber Transceiver - FS.com
Or is there a way to do it programmatically on the host machine?


Code:
root@pve:~# ethtool -i enp5s0f0np0
driver: i40e
version: 6.8.12-11-pve
firmware-version: 9.20 0x8000d8c5 1.3602.0
expansion-rom-version:
bus-info: 0000:05:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
 

blunden

Well-Known Member
Nov 29, 2019
978
314
63
Does spoofing the data requires something like this? Transceiver Programmer | FS Fiber Transceiver - FS.com
Or is there a way to do it programmatically on the host machine?


Code:
root@pve:~# ethtool -i enp5s0f0np0
driver: i40e
version: 6.8.12-11-pve
firmware-version: 9.20 0x8000d8c5 1.3602.0
expansion-rom-version:
bus-info: 0000:05:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
I used a device like that to reprogram the transceiver, yes. Those only work with that brand of transceivers though.

If the transceiver password is known, it's possible to rewrite the EEPROM data using a normal computer though, as far as I know. Maybe the seller can help you get a reprogrammed transceiver?
 

missing

New Member
Jul 3, 2025
1
0
1
Hi, I am running a MS-A2 model from minisforum, and apparently it is true that it should be unlocked, according to my run of the tool

Code:
root@pve:~/xl710-unlocker#  ./xl710_unlock -n enp5s0f0np0
EMP SR offset: 0x67eb
PHY offset: 0x693b
PHY data struct size: 0x000d
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
MISC: 0x630c <- unlocked
Ready to fix it? [y/N]: N
However, I am still running into this message on my dmesg. I am stuck after a week of on & off diagnosing, and would be glad to have a second opinion.

Code:
[ 7284.415316] i40e 0000:05:00.0: Rx/Tx is disabled on this device because an unsupported SFP module type was detected.
[ 7284.415321] i40e 0000:05:00.0: Refer to the Intel(R) Ethernet Adapters and Devices User Guide for a list of supported modules.
Well technically it only shows up when I set
Code:
ethtool -s enp5s0f0np0 speed 1000 autoneg off
More details are below
Note the SFP module is working and is a GPON ONT SFP, and it works on TP-Link MC220L.

Code:
05:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 02)
05:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 02)

root@pve:~# ethtool -m enp5s0f0np0
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
        Connector                                 : 0x01 (SC)
        Transceiver codes                         : 0x00 0x00 0x00 0x80 0x00 0x00 0x00 0x00 0x00
        Transceiver type                          : Ethernet: BASE-PX
        Encoding                                  : 0x01 (8B/10B)
        BR, Nominal                               : 1300MBd
        Rate identifier                           : 0x00 (unspecified)
        Length (SMF,km)                           : 10km
        Length (SMF)                              : 10000m
        Length (50um)                             : 0m
        Length (62.5um)                           : 0m
        Length (Copper)                           : 0m
        Length (OM3)                              : 0m
        Laser wavelength                          : 1310nm
        Vendor name                               : NTT
        Vendor OUI                                : 00:00:00
        Vendor PN                                 : 0000000000000000
        Vendor rev                                : 0000
        Option values                             : 0x02 0x00
        Option                                    : Power level 2 requirement
        BR margin, max                            : 0%
        BR margin, min                            : 0%
        Vendor SN                                 : 0000000000000000
        Date code                                 : 150519


root@pve:~# ethtool enp5s0f0np0
Settings for enp5s0f0np0:
        Supported ports: [  ]
        Supported link modes:   Not reported
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: Unknown!
        Duplex: Unknown! (255)
        Auto-negotiation: off
        Port: Other
        PHYAD: 0
        Transceiver: internal
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: no
root@pve:~# ethtool -s enp5s0f0np0 speed 1000 duplex full autoneg off
netlink error: link settings update failed
netlink error: Operation not supported
looks like this is an EPON SFP ONU from NTT. You might need to patch i40e to stop it from blocking BASE-PX type SFP modules
have you tried upgrading the NVM version?