Fixup del kernel per moduli Cotsworks SFF con byte identificativi EEPROM non validi e checksum base errato
Alcuni moduli in fibra Cotsworks SFF vengono forniti con dati non validi nei primi byte dell'EEPROM (ID fisico, ID fisico esteso, tipo di connettore) e con checksum programmati prima di finalizzare i campi, quindi il driver phy/sfp di Linux non li rileva come moduli validi. Un fixup del kernel riscrive i tre byte errati con i valori corretti, inserendo un ritardo di 50 ms tra le scritture come richiesto da questi moduli, e ricalcola il checksum della struttura base.
- Hardware: host Linux con gabbia sfp
- Transceiver: moduli Cotsworks SFF
- Fattore di forma: SFP
Sintomi / messaggi:
invalid identity bytes
module not detected as valid
bad base checksum
Comments 1
Il fixup si applica a part number Cotsworks specifici, riscrive i byte corrotti con un ritardo di 50 ms tra le scritture e aggiorna il checksum base; quello esteso viene lasciato intenzionalmente com'è, quindi il relativo avviso può restare.