TTL and ONT

Apparently the SFP module only accepts 1 byte reads only. So you can read it in this thread.

LINK

I don't know if the FreeBSD driver supports that type of reading, how would I know? In some list of the driver?

I have synchronization problems at least that's what I can see, from the cxgbe(4)driver manual:

hw.cxgbe.autoneg
Link autonegotiation settings. This tunable establishes the de-
fault autonegotiation settings for all ports. Settings can be
displayed and controlled on a per-port basis via the
dev.<port>.X.autoneg sysctl. 0 disables autonegotiation. 1 en-
ables autonegotiation. The default is -1 which lets the driver
pick a value. dev.<port>.X.autoneg is -1 for port and module
combinations that do not support autonegotiation.

It gives me to understand that if I get a -1 it is that autonegotiation is not possible and the module will not be able to work

And it is effectively the result I get, this is an output of the kernel state:

$ sysctl -a |grep autoneg
hw.cxgbe.autoneg: 1

dev.cxl.1.autoneg: -1
dev.cxl.0.autoneg: 1

Being port 1 where the SFP is connected, if I exchange the port SFP the same thing happens, port zero becomes -1 and port one becomes 1.

My loader.conf:

if_cxgbe_load="YES"
hw.cxgbe.autoneg=1
dev.cxl.0.autoneg=1
dev.cxl.1.autoneg=1

But apparently the Chelsio T520-CR card and the module cannot be set to the same speed. These are the speeds supported by the card.

$ ifconfig -m cxl1

cxl1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=6ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6,HWRXTSTMP,NOMAP>
capabilities=6ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6,HWRXTSTMP,NOMAP>
ether 00:07:43:33:a2:08
media: Ethernet 1000baseSX <full-duplex,rxpause,txpause>
status: no carrier
supported media:
media 1000baseSX mediaopt full-duplex,rxpause,txpause
media 1000baseSX mediaopt full-duplex,rxpause
media 1000baseSX mediaopt full-duplex,txpause
media 1000baseSX mediaopt full-duplex
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

According to chelsio’s paper the T520-CR supports the IEEE802.3z coding. But according to ifconfig it doesn’t support the 1000baseLX standard which is what the module is supposed to use.

What gives me to understand that the card is not designed to use a single fiber module if not multiple, according to the standard.

Gigabit Ethernet

Which gives me to understand all those failures, forgetting the possible problem with reading a single byte of the module.

What do you think?
 
Apparently the card does recognize the module, it just wasn’t executing the correct options:

ifconfig -vvvm cxl0

cxl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=6ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6,HWRXTSTMP,NOMAP>
capabilities=6ec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6,HWRXTSTMP,NOMAP>
ether 00:07:43:33:a2:00
inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet 1000baseSX <full-duplex,rxpause,txpause>
status: active
supported media:
media 1000baseSX mediaopt full-duplex,rxpause,txpause
media 1000baseSX mediaopt full-duplex,rxpause
media 1000baseSX mediaopt full-duplex,txpause
media 1000baseSX mediaopt full-duplex
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
plugged: SFP/SFP+/SFP28 1000BASE-LX (SC)
vendor: C PN: V SN: C DATE: 202
module temperature: 52.00 C voltage: 2.82 Volts
lane 1: RX power: 0.00 mW (-inf dBm) TX bias: 0.00 mA

SFF8472 DUMP (0xA0 0..127 range):
03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 69 00 00 00 00 00 00 00
20 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00
20 00 00 00 00 00 00 00 56 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 32 00 00 00 00 00 00 00
31 00 00 00 00 00 00 00 30 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

We can see some values such as the speed of the module, the temperature and the voltage, apparently the vendor and the SN do not appear correctly.

I think the problem may be in the DUMP, I think that in the link I shared they talk about it, on the other hand I can't put the card at the same speed as the module.

Has anyone come up with something?
 
Apparently there is a tool to view and debug cxbge. But I still can't get the module to work, but with this tool I was able to identify it and see, for example, that the ifconfig dump does not correspond to the i2c port:


cxgbetool t5nex0 modinfo 0
ID: SFP/SFP+/SFP28
Vendor CarlitoxxPro
SN CP202003180114
PN V2801F
Rev V2.
Temp: +44C
Vcc 2.867200V
TX Bias 0.000000uA
TX Power 0.000000mW
RX Power 0.000000mW

And this is when I read the i2c that does not correspond to the ifconfig dump the first 3 bytes:

cxgbetool t5nex0 i2c 0 0xa0 0....3
0x3 [3]
0x4 [4]
0x0 [0]

This tool also has filtering, but I don't know how it works, I go back to the start according to the controller, I have synchronization problems, I don't know what else to do. If it is a definite compatibility problem or a bad adjustment on my part, but according to the manufacturer you only have to assign it an IP address and it will work.
 
I returned to resumethe thread, I found this information apparently it could work but with another sfp G-010S-A GPON SFP.

In this github thread, there is information about firmwares and patches for the FreeBSD kernel, I'll have to read it calmly as soon as I can, and see if it's the correct solution.

https://github.com/hwti/G-010S-A

But hey, as I said at the beginning of the thread, it would only be a part, if I make it work, then I will have to see what I can associate with the OLT of my ISP, that is another part of the problem

Thanks.
 
Back
Top