I2csfp - sfp debugging via i2c

I had a good experience here. Many thanks to the author!

https://forum.banana-pi.org/t/bpi-r4-and-sfp/16945/26?u=vasya

Added control/readout of gpio lines.

Is it possible to add temperature limits? I have one module with the wrong minimum temperature limit. It issues an alarm because the minimum temperature limit is set at 127 degrees Celsius.

Is this value possible to change without password? Is so, then you can simply use byte access to change it.

I tried to change via byte, the value is not write.

I’ve just pushed newest version, where you can specify a password for byte operations. So first get it with rbpassword and use it with byte write.

Be careful.

Oh, and need to fix checksum if it is in the checksum range.

1 Like

Oh that’s very good I’ll try it!

Fix checksum with eepromfix, without options.

1 Like

Yes it worked, you need a password to change the limits.

Thanks to the author!

Here’s the broken limit

root@OpenWrt:/tmp# ethtool -m eth2
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
        Connector                                 : 0x07 (LC)
        Transceiver codes                         : 0x10 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
        Transceiver type                          : 10G Ethernet: 10G Base-SR
        Encoding                                  : 0x06 (64B/66B)
        BR, Nominal                               : 10300MBd
        Rate identifier                           : 0x00 (unspecified)
        Length (SMF,km)                           : 0km
        Length (SMF)                              : 0m
        Length (50um)                             : 80m
        Length (62.5um)                           : 20m
        Length (Copper)                           : 0m
        Length (OM3)                              : 300m
        Laser wavelength                          : 850nm
        Vendor name                               : OEM
        Vendor OUI                                : 00:00:00
        Vendor PN                                 : SFP-10G-T
        Vendor rev                                : 1
        Option values                             : 0x00 0x1a
        Option                                    : RX_LOS implemented
        Option                                    : TX_FAULT implemented
        Option                                    : TX_DISABLE implemented
        BR margin, max                            : 0%
        BR margin, min                            : 0%
        Vendor SN                                 : C2312180141
        Date code                                 : 231218
        Optical diagnostics support               : Yes
        Laser bias current                        : 6.000 mA
        Laser output power                        : 0.5000 mW / -3.01 dBm
        Receiver signal average optical power     : 0.0000 mW / -inf dBm
        Module temperature                        : 35.53 degrees C / 95.95 degrees F
        Module voltage                            : 3.3345 V
        Alarm/warning flags implemented           : Yes
        Laser bias current high alarm             : Off
        Laser bias current low alarm              : Off
        Laser bias current high warning           : Off
        Laser bias current low warning            : Off
        Laser output power high alarm             : Off
        Laser output power low alarm              : Off
        Laser output power high warning           : Off
        Laser output power low warning            : Off
        Module temperature high alarm             : Off
        Module temperature low alarm              : On
        Module temperature high warning           : Off
        Module temperature low warning            : Off
        Module voltage high alarm                 : Off
        Module voltage low alarm                  : Off
        Module voltage high warning               : Off
        Module voltage low warning                : Off
        Laser rx power high alarm                 : Off
        Laser rx power low alarm                  : On
        Laser rx power high warning               : Off
        Laser rx power low warning                : On
        Laser bias current high alarm threshold   : 15.000 mA
        Laser bias current low alarm threshold    : 1.000 mA
        Laser bias current high warning threshold : 13.000 mA
        Laser bias current low warning threshold  : 2.000 mA
        Laser output power high alarm threshold   : 1.9952 mW / 3.00 dBm
        Laser output power low alarm threshold    : 0.1584 mW / -8.00 dBm
        Laser output power high warning threshold : 1.5848 mW / 2.00 dBm
        Laser output power low warning threshold  : 0.1778 mW / -7.50 dBm
        Module temperature high alarm threshold   : 95.00 degrees C / 203.00 degrees F
        Module temperature low alarm threshold    : 127.01 degrees C / 260.62 degrees F
        Module temperature high warning threshold : 90.00 degrees C / 194.00 degrees F
        Module temperature low warning threshold  : -45.00 degrees C / -49.00 degrees F
        Module voltage high alarm threshold       : 3.6000 V
        Module voltage low alarm threshold        : 3.0000 V
        Module voltage high warning threshold     : 3.5000 V
        Module voltage low warning threshold      : 3.1000 V
        Laser rx power high alarm threshold       : 1.1220 mW / 0.50 dBm
        Laser rx power low alarm threshold        : 0.0199 mW / -17.01 dBm
        Laser rx power high warning threshold     : 1.0000 mW / 0.00 dBm
        Laser rx power low warning threshold      : 0.0223 mW / -16.52 dBm

And here is the corrected one

root@OpenWrt:/tmp# ethtool -m eth2
        Identifier                                : 0x03 (SFP)
        Extended identifier                       : 0x04 (GBIC/SFP defined by 2-wire interface ID)
        Connector                                 : 0x07 (LC)
        Transceiver codes                         : 0x10 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
        Transceiver type                          : 10G Ethernet: 10G Base-SR
        Encoding                                  : 0x06 (64B/66B)
        BR, Nominal                               : 10300MBd
        Rate identifier                           : 0x00 (unspecified)
        Length (SMF,km)                           : 0km
        Length (SMF)                              : 0m
        Length (50um)                             : 80m
        Length (62.5um)                           : 20m
        Length (Copper)                           : 0m
        Length (OM3)                              : 300m
        Laser wavelength                          : 850nm
        Vendor name                               : OEM
        Vendor OUI                                : 00:00:00
        Vendor PN                                 : SFP-10G-T
        Vendor rev                                : 1
        Option values                             : 0x00 0x1a
        Option                                    : RX_LOS implemented
        Option                                    : TX_FAULT implemented
        Option                                    : TX_DISABLE implemented
        BR margin, max                            : 0%
        BR margin, min                            : 0%
        Vendor SN                                 : C2312180141
        Date code                                 : 231218
        Optical diagnostics support               : Yes
        Laser bias current                        : 6.000 mA
        Laser output power                        : 0.5000 mW / -3.01 dBm
        Receiver signal average optical power     : 0.0000 mW / -inf dBm
        Module temperature                        : 35.98 degrees C / 96.77 degrees F
        Module voltage                            : 3.3300 V
        Alarm/warning flags implemented           : Yes
        Laser bias current high alarm             : Off
        Laser bias current low alarm              : Off
        Laser bias current high warning           : Off
        Laser bias current low warning            : Off
        Laser output power high alarm             : Off
        Laser output power low alarm              : Off
        Laser output power high warning           : Off
        Laser output power low warning            : Off
        Module temperature high alarm             : Off
        Module temperature low alarm              : Off
        Module temperature high warning           : Off
        Module temperature low warning            : Off
        Module voltage high alarm                 : Off
        Module voltage low alarm                  : Off
        Module voltage high warning               : Off
        Module voltage low warning                : Off
        Laser rx power high alarm                 : Off
        Laser rx power low alarm                  : On
        Laser rx power high warning               : Off
        Laser rx power low warning                : On
        Laser bias current high alarm threshold   : 15.000 mA
        Laser bias current low alarm threshold    : 1.000 mA
        Laser bias current high warning threshold : 13.000 mA
        Laser bias current low warning threshold  : 2.000 mA
        Laser output power high alarm threshold   : 1.9952 mW / 3.00 dBm
        Laser output power low alarm threshold    : 0.1584 mW / -8.00 dBm
        Laser output power high warning threshold : 1.5848 mW / 2.00 dBm
        Laser output power low warning threshold  : 0.1778 mW / -7.50 dBm
        Module temperature high alarm threshold   : 95.00 degrees C / 203.00 degrees F
        Module temperature low alarm threshold    : -50.00 degrees C / -58.00 degrees F
        Module temperature high warning threshold : 90.00 degrees C / 194.00 degrees F
        Module temperature low warning threshold  : -45.00 degrees C / -49.00 degrees F
        Module voltage high alarm threshold       : 3.6000 V
        Module voltage low alarm threshold        : 3.0000 V
        Module voltage high warning threshold     : 3.5000 V
        Module voltage low warning threshold      : 3.1000 V
        Laser rx power high alarm threshold       : 1.1220 mW / 0.50 dBm
        Laser rx power low alarm threshold        : 0.0199 mW / -17.01 dBm
        Laser rx power high warning threshold     : 1.0000 mW / 0.00 dBm
        Laser rx power low warning threshold      : 0.0223 mW / -16.52 dBm

If the author does not mind, I will post a binary file for aarch64, I run directly on BPI-R4 from /tmp/ i2csfp.tar.gz (300,2 КБ)

That’s ok, I also had some, for aarch64, armv7h and x86_64. But the code is still changing quite often, so for now, I have removed them, since it is still an alfa/beta version.

Would this tool also be able to show me, why I don’t see that full output from ethtool? Like if there is some issue with the i2c configuration or something?

Because I’m not seeing the power usage and temperature and all the other diagnostics data of my module, even though according to the manufacturer, it supports DOM.

It isn’t a very smart tool. Just send and receive bytes using different protocols.

If you don’t exactly know what you’re writing to the module, then it is more likely to break things then do something usefull with it.

If you are using openwrt you need ethtool not from busybox and it should be Full to check the packages before building.

Hello, when I tried to change the eeprom of my module, it showed that it had been changed after running it, but when I unplugged the module and plugged it back in, the eeprom was restored again. Does it mean that my module does not support modification? :smiling_face_with_tear:

root@ImmortalWrt:~# ./i2csfp /dev/i2c-3 eepromdump
0x50:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 03 04 07 00 00 00 00 00 00 40 00 01 1f 00 00 00   .........@......
10: 00 00 00 00 4f 45 4d 20 20 20 20 20 20 20 20 20   ....OEM
20: 20 20 20 20 00 00 00 00 53 46 50 2d 32 47 35 20       ....SFP-2G5
30: 20 20 20 20 20 20 20 20 31 2e 30 20 00 00 00 82           1.0 ....
40: 00 18 00 00 32 47 35 32 32 31 31 32 33 32 34 32   ....2G5221123242
50: 31 38 20 20 32 32 30 38 30 31 20 20 00 00 00 9f   18  220801  ....
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
0x51:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 50 00 f6 00 4b 00 fb 00 8c a0 75 30 88 b8 79 18   P...K.....u0..y.
10: 1d 4c 01 f4 19 64 03 e8 4d f0 06 30 3d e8 06 f2   .L...d..M..0=...
20: 2b d4 00 c7 27 10 00 df 00 00 00 00 00 00 00 00   +...'...........
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
40: 00 00 00 00 3f 80 00 00 00 00 00 00 01 00 00 00   ....?...........
50: 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 23   ...............#
60: 18 40 83 bd 0b b8 13 88 00 00 00 00 00 00 02 00   .@..............
70: 00 40 00 00 00 40 00 00 00 00 00 ff ff ff ff 00   .@...@..........
0x51 PAGE 0x00:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x01:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x02:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x03:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
root@ImmortalWrt:~#
root@ImmortalWrt:~# ./i2csfp /dev/i2c-3 eepromfix -V OEM -N SFP-2.5G-T
Checksum 0x00-0x3e matched 82
Checksum 0x40-0x5e matched 9f
RollBall Password used: 0x00000000
Changed Vendor name to: OEM
Changed Vendor PN to: SFP-2.5G-T
Checksum 0x00-0x3e failed, set at 82, but should be d1
Writing checksum d1
Checksum 0x40-0x5e matched 9f
root@ImmortalWrt:~# ./i2csfp /dev/i2c-3 eepromdump
0x50:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 03 04 07 00 00 00 00 00 00 40 00 01 1f 00 00 00   .........@......
10: 00 00 00 00 4f 45 4d 20 20 20 20 20 20 20 20 20   ....OEM
20: 20 20 20 20 00 00 00 00 53 46 50 2d 32 2e 35 47       ....SFP-2.5G
30: 2d 54 20 20 20 20 20 20 31 2e 30 20 00 00 00 d1   -T      1.0 ....
40: 00 18 00 00 32 47 35 32 32 31 31 32 33 32 34 32   ....2G5221123242
50: 31 38 20 20 32 32 30 38 30 31 20 20 00 00 00 9f   18  220801  ....
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
0x51:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 50 00 f6 00 4b 00 fb 00 8c a0 75 30 88 b8 79 18   P...K.....u0..y.
10: 1d 4c 01 f4 19 64 03 e8 4d f0 06 30 3d e8 06 f2   .L...d..M..0=...
20: 2b d4 00 c7 27 10 00 df 00 00 00 00 00 00 00 00   +...'...........
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
40: 00 00 00 00 3f 80 00 00 00 00 00 00 01 00 00 00   ....?...........
50: 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 23   ...............#
60: 18 40 83 bd 0b b8 13 88 00 00 00 00 00 00 02 00   .@..............
70: 00 40 00 00 00 40 00 00 00 00 00 ff ff ff ff 00   .@...@..........
0x51 PAGE 0x00:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x01:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x02:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x03:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
root@ImmortalWrt:~#

After unplugging and plugging back in

root@ImmortalWrt:~#
root@ImmortalWrt:~# ./i2csfp /dev/i2c-3 eepromdump
0x50:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 03 04 07 00 00 00 00 00 00 40 00 01 1f 00 00 00   .........@......
10: 00 00 00 00 4f 45 4d 20 20 20 20 20 20 20 20 20   ....OEM
20: 20 20 20 20 00 00 00 00 53 46 50 2d 32 47 35 20       ....SFP-2G5
30: 20 20 20 20 20 20 20 20 31 2e 30 20 00 00 00 82           1.0 ....
40: 00 18 00 00 32 47 35 32 32 31 31 32 33 32 34 32   ....2G5221123242
50: 31 38 20 20 32 32 30 38 30 31 20 20 00 00 00 9f   18  220801  ....
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
0x51:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
00: 50 00 f6 00 4b 00 fb 00 8c a0 75 30 88 b8 79 18   P...K.....u0..y.
10: 1d 4c 01 f4 19 64 03 e8 4d f0 06 30 3d e8 06 f2   .L...d..M..0=...
20: 2b d4 00 c7 27 10 00 df 00 00 00 00 00 00 00 00   +...'...........
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
40: 00 00 00 00 3f 80 00 00 00 00 00 00 01 00 00 00   ....?...........
50: 01 00 00 00 01 00 00 00 01 00 00 00 00 00 00 23   ...............#
60: 18 40 83 bd 0b b8 13 88 00 00 00 00 00 00 02 00   .@..............
70: 00 40 00 00 00 40 00 00 00 00 00 ff ff ff ff 00   .@...@..........
0x51 PAGE 0x00:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x01:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x02:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x51 PAGE 0x03:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f   0123456789abcdef
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
root@ImmortalWrt:~#

If this command is entered, without specifying the password, then it is tried as Rollballl module, where we can easily find the password automatically. In your case it finds 00000000, because it ain’t Rollball.

You will need to find the password to edit the eeprom. If your module even supports this.

Just changing the vendor/product strings is not going to be very usefull. Do you know what your kernel does with a module that identifies as OEM / SFP-2.5G-T ? Do you even know what type of module you have?

Using this tool, without knowing exactly what you’re doing, you might do more harm than something useful.

On the 6.6 kernel, my module cannot be recognized normally, the situation is the same as here

I tried adding this line before make and it worked fine

So I want to change the name of the module directly so that I don’t have to modify the code.:smiling_face_with_tear:

Try the brute force attack from the tool to find the oassword, if the works at all for your module. If you find it, please share ir here.

You may want to limit the bytes to readable ascii, shortening the time it takes.

the tool outputs this

root@ImmortalWrt:~# ./i2csfp /dev/i2c-3 bruteforce
Checking 0x0000XXXX (1/65536)
Readback matched at SOMEWHERE!
Readback matched at 0xXXXX0000

I am a novice, how should I output it in ascii format?:sob:

The data can be edited at runtime, only changed back after reinserting. so the brute force does not work.

I didn’t even know I can write chinese…

Sorry, this is the translation plug-in of my browser.:thinking:

I understand