[GTER] Programador de EEPROM SFP/SFP+
Paulo Coimbra
coimbra.root at gmail.com
Thu Mar 23 11:01:07 -03 2017
Obrigado Luiz. Os endereços da eeprom que tenho que alterar sao,
basicamente esses:
Addr. 0x37 a 0x39 == 3 bytes == Vendor OUI SFP transceiver vendor IEEE
company ID
Além dos endereços do Checksum 0x63 (CC_Base) e 0x95 (CC_Ext)[1]
Os endereços do Vendor OUI, nao dá erro ao gravar. Nos checksum dá erro, a
funcao wiringPiCWrite retorna -1.
[1]https://ta.snia.org/kws/public/download/617/INF-8074.PDF
sds,
Paulo
Em 23/03/2017 10:44, "Luiz Otavio O Souza" <lists.br at gmail.com> escreveu:
> 2017-03-22 9:20 GMT-03:00 Paulo Coimbra:
> > Olá,
> > Usei a biblioteca WiringPi, a leitura/gravacao se dá byte a byte
> > (unsigned char). A leitura está ok. A gravacao nos bytes que preciso,
> > estão ok (a funcao int wiringPiI2CWriteReg8 (int fd, int reg, int
> > data) retorna 0==OK), porém quando tento gravar o checksum a funcao
> > retorna -1 (Erro).
>
> Que registro você esta escrevendo ?
>
> A grande maioria das eeproms não tem registros, você simplesmente
> escreve o offset e le ou escreve no dispositivo.
>
> A função correta para accesso a eeproms seria a wiringPiI2CWrite().
>
> Veja que se você tem uma eeprom pequena (24c02:
> http://www.atmel.com/images/doc0180.pdf) o offset é 8 bits, se você
> tem uma eeprom maior (24c64: http://www.atmel.com/images/doc0336.pdf)
> o offset é 16 bits. Essas são apenas algumas das diferenças
> (importantes nesse caso) que você pode encontrar dependendo do
> dispositivo que você tentando usar.
>
> Tente identificar o modelo exato da eeprom.
>
> > Talvez seja pelo fato de o SFP estar com a EEPROM em modo protegido?
>
> Também... ou algum dos problemas acima.
>
> -l
> --
> gter list https://eng.registro.br/mailman/listinfo/gter
More information about the gter
mailing list