[drivers/net/phy/sfp] intermittent failure in state machine checks
From: ѽ҉ᶬḳ℠ <hidden>
Date: 2020-01-09 13:47:36
On node with 4.19.93 and a SFP module (specs at the bottom) the following is intermittently observed: libphy: SFP I2C Bus: probed sfp sfp: module ALLNET ALL4781 rev V3.4 sn 0000000FC9157640 dc 29-03-18 sfp sfp: unknown connector, encoding 8b10b, nominal bitrate 1.3Gbps +0% -0% sfp sfp: 1000BaseSX+ 1000BaseLX- 1000BaseCX- 1000BaseT- 100BaseTLX- 1000BaseFX- BaseBX10- BasePX- sfp sfp: 10GBaseSR- 10GBaseLR- 10GBaseLRM- 10GBaseER- sfp sfp: Wavelength 0nm, fiber lengths: sfp sfp: 9µm SM : unsupported sfp sfp: 62.5µm MM OM1: unsupported/unspecified sfp sfp: 50µm MM OM2: unsupported/unspecified sfp sfp: 50µm MM OM3: unsupported/unspecified sfp sfp: 50µm MM OM4: 2.540km sfp sfp: Options: retimer sfp sfp: Diagnostics: sfp sfp: module transmit fault indicated sfp sfp: module transmit fault recovered sfp sfp: module transmit fault indicated sfp sfp: module persistently indicates fault, disabling To my humble understanding that pertains to checks in state machine - SFP_S_WAIT_LOS - SFP_S_LINK_UP being done via the I2C | SM bus but it is not clear to me what causes the check to fail and how to remedy it. ____ SFP module specs Identifier : 0x03 (SFP) Extended identifier : 0x04 (GBIC/SFP defined by 2-wire interface ID) Connector : 0x22 (RJ45) Transceiver codes : 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 Transceiver type : Ethernet: 1000BASE-SX 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) : 255m Length (OM3) : 0m Laser wavelength : 0nm Vendor name : ALLNET Vendor OUI : 00:0f:c9 Vendor PN : ALL4781 Vendor rev : V3.4 Option values : 0x08 0x00 Option : Retimer or CDR implemented BR margin, max : 0% BR margin, min : 0%