Mikrotik hEX S - Checksum failure on fiber module using Snapshot

Hello there,

I am trying to use a Sercomm FSG202 GPON module on a Mikrotik hEX-S (RB760iGS).

I have installed OpenWRT Snapshot, as it is noted that fiber module does not work with 21.02 (https://openwrt.org/toh/mikrotik/rb760igs#sfp)

When I insert the module, I have those messages in dmesg:

[   51.548295] sfp sfp1: EEPROM base structure checksum failure: 0xc1 != 0xff
[   51.555156] sfp EE: 00000000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
[   51.563829] sfp EE: 00000010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
[   51.572497] sfp EE: 00000020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
[   51.581166] sfp EE: 00000030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
[   51.589845] sfp EE: 00000040: 64 5e d6 81 20 4c 02 81 e0 4b 02 81 c0 9c 80 80  d^.. L...K......
[   51.598517] sfp EE: 00000050: fe ff ff ff 60 cc 43 81 00 00 81 80 e0 4b 02 81  ....`.C......K..

The command ethtool -m sfp is only able to show FFs in values.

The module works fine in my RB3011:

[admin@MikroTik] > /interface/ethernet/monitor sfp1 once
                      name: sfp1
                    status: no-link
          auto-negotiation: done
               advertising:
  link-partner-advertising:
        sfp-module-present: yes
               sfp-rx-loss: yes
                  sfp-type: SFP-or-SFP+
        sfp-connector-type: SC
        sfp-link-length-sm: 20km
           sfp-vendor-name: SERCOMM
    sfp-vendor-part-number: FGS202
       sfp-vendor-revision: 0001
         sfp-vendor-serial: SCOM210B4A68
    sfp-manufacturing-date: 17-11-11
            sfp-wavelength: 1310nm
           sfp-temperature: 42C
        sfp-supply-voltage: 3.3V
       sfp-tx-bias-current: 14mA
           eeprom-checksum: good
                    eeprom: 0000: 03 04 01 00 00 00 00 00  00 00 00 03 0c 00 14 c8  ........ ........
                            0010: 00 00 00 00 53 45 52 43  4f 4d 4d 20 20 20 20 20  ....SERC OMM
                            0020: 20 20 20 20 00 00 00 00  46 47 53 32 30 32 20 20      .... FGS202
                            0030: 20 20 20 20 20 20 20 20  30 30 30 31 05 1e 00 c1           0001....
                            0040: 00 1a 00 00 53 43 4f 4d  32 31 30 42 34 41 36 38  ....SCOM 210B4A68
                            0050: 20 20 20 20 31 37 31 31  31 31 20 20 6c f0 05 51      1711 11  l..Q
                            0060: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20
                            *
                            0080: 50 00 fb 00 4b 00 00 00  8c a0 75 30 87 8c 7a 44  P...K... ..u0..zD
                            0090: 88 b8 00 00 75 30 00 00  9b 82 22 d0 7b 86 2b d4  ....u0.. ..".{.+.
                            00a0: 07 cb 00 0c 06 30 00 0f  00 00 00 00 00 00 00 00  .....0.. ........
                            00b0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
                            00c0: 00 00 00 00 3f 80 00 00  00 00 00 00 01 00 00 00  ....?... ........
                            00d0: 01 00 00 00 01 00 00 00  01 00 00 00 00 00 00 12  ........ ........
                            00e0: 2a d9 80 e8 1c 7c 00 00  00 00 00 00 00 00 02 00  *....|.. ........
                            00f0: 01 40 00 00 01 40 00 00  00 00 00 00 00 00 00 00  .@...@.. ........

In comparison, here are some tests with an Elfcamm copper module.

In dmesg:

[ 5660.390978] sfp sfp1: module OEM              ES-T2-R          rev 1.0  sn ESC21TX256087    dc 210621
[ 5660.400375] Qualcomm Atheros AR8031/AR8033 mdio-bus:07: SFP interface sgmii

In ethtool:

# ethtool -m sfp
Offset          Values
------          ------
0x0000:         03 04 22 00 00 00 08 00 00 00 00 01 0d 00 00 00
0x0010:         00 00 64 00 4f 45 4d 20 20 20 20 20 20 20 20 20
0x0020:         20 20 20 20 00 00 00 00 45 53 2d 54 32 2d 52 20
0x0030:         20 20 20 20 20 20 20 20 31 2e 30 20 00 00 00 bd
0x0040:         00 1a 00 00 45 53 43 32 31 54 58 32 35 36 30 38
0x0050:         37 20 20 20 32 31 30 36 32 31 20 20 00 00 00 0c
0x0060:         00 00 11 7d c0 48 10 8d 9f 7f 36 a4 7d e6 6b 46
0x0070:         91 cb 08 00 00 00 00 00 00 00 00 00 3c 58 15 a7
0x0080:         ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0090:         ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00a0:         ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00b0:         ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00c0:         ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00d0:         ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00e0:         ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x00f0:         ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

And on the RB3011 (you can see the eeprom matches the ethtool output):

[admin@MikroTik] > /interface/ethernet/monitor sfp1 once
                               name: sfp1
                             status: no-link
                   auto-negotiation: done
                        advertising:
           link-partner-advertising:
                 sfp-module-present: yes
                        sfp-rx-loss: yes
                           sfp-type: SFP-or-SFP+
                 sfp-connector-type: RJ45
  sfp-link-length-copper-active-om4: 100m
                    sfp-vendor-name: OEM
             sfp-vendor-part-number: ES-T2-R
                sfp-vendor-revision: 1.0
                  sfp-vendor-serial: ESC21TX256087
             sfp-manufacturing-date: 21-06-21
                    eeprom-checksum: good
                             eeprom: 0000: 03 04 22 00 00 00 08 00  00 00 00 01 0d 00 00 00  .."..... ........
                                     0010: 00 00 64 00 4f 45 4d 20  20 20 20 20 20 20 20 20  ..d.OEM
                                     0020: 20 20 20 20 00 00 00 00  45 53 2d 54 32 2d 52 20      .... ES-T2-R
                                     0030: 20 20 20 20 20 20 20 20  31 2e 30 20 00 00 00 bd           1.0 ....
                                     0040: 00 1a 00 00 45 53 43 32  31 54 58 32 35 36 30 38  ....ESC2 1TX25608
                                     0050: 37 20 20 20 32 31 30 36  32 31 20 20 00 00 00 0c  7   2106 21  ....
                                     0060: 00 00 11 7d c0 48 10 8d  9f 7f 36 a4 7d e6 6b 46  ...}.H.. ..6.}.kF
                                     0070: 91 cb 08 00 00 00 00 00  00 00 00 00 3c 58 15 a7  ........ ....<X..
                                     0080: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
                                     *

Best regards,
Alexis.

Hi Alexis

i got issues too with SFP on my HexS : openwrt 22.03.0-rc4

my dmesg says :

[   10.452474] sfp sfp1: Host maximum power 1.0W
[   10.558515] kmodloader: done loading kernel modules from /etc/modules.d/*
[   12.053642] sfp sfp1: please wait, module slow to respond
[   18.684233] mtk_soc_eth 1e100000.ethernet sfp: PHY [mdio-bus:07] driver [Qualcomm Atheros AR8031/AR8033] (irq=POLL)
[   18.694788] mtk_soc_eth 1e100000.ethernet sfp: configuring for phy/rgmii-rxid link mode
[   18.703543] at803x_config_aneg: fiber
[   27.653606] sfp sfp1: module FS               GPON-ONU-34-20BI rev 01   sn XXXXXXXXXXX      dc XXXXXX
[   27.663008] Qualcomm Atheros AR8031/AR8033 mdio-bus:07: SFP interface 1000base-x
[   38.453770] mtk_soc_eth 1e100000.ethernet sfp: Link is Up - 1Gbps/Full - flow control off
[   38.461980] IPv6: ADDRCONF(NETDEV_CHANGE): sfp: link becomes ready
[   38.468822] IPv6: ADDRCONF(NETDEV_CHANGE): sfp.832: link becomes ready
[  242.612130] sfp sfp1: failed to read SFP soft status: -6
[  504.873404] sfp sfp1: module transmit fault indicated
[  506.203408] sfp sfp1: module transmit fault recovered
[  811.944834] sfp sfp1: failed to read SFP soft status: -6