<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi James,<div><br></div><div>There is EEPROM (AT24C64) with the valid FRU data on my board.</div><div><br></div><div>But the FruDevice would fail to format it.</div><div><br></div><div>I added some debug information to determine what's wrong with it.</div><div><br></div><div>Then I found the flag variable returned by isDevice16Bit() was equal 0.</div><div>That's, the FruDevice could think it's 8-bit EEPROM.</div><div><div>/* Check for Device type if it is 8 bit or 16 bit */</div><div>int flag = isDevice16Bit(file);</div></div><div><br></div><div>There is the below comment in the isDevice16Bit().</div><div><br></div><div>/* Read 7 more bytes, it will read same first byte in case of</div><div><div> * 8 bit but it will read next byte in case of 16 bit</div><div>*/</div></div><div>But the rule isn't applicable to my EEPROM (AT24C64) .</div><div><div>root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1</div><div>0x00</div><div>root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1</div><div>0x00</div><div>root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1</div><div>0x00</div><div>root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1</div><div>0x00</div><div>root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1</div><div>0x00</div><div>root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1</div><div>0x00</div><div>root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1</div><div>0x00</div><div>root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1</div><div>0x00</div><div>root@henbin:/var/volatile#</div></div><div><br></div><div>Could you give some suggestion?</div><div><br></div><div>Thanks.</div></div></div></div></div></div></div></div>