Hi James,

There is EEPROM (AT24C64) with the valid FRU data on my board.

But the FruDevice would fail to format it.

I added some debug information to determine what's wrong with it.

Then I found the flag variable returned by isDevice16Bit() was equal 0.
That's, the FruDevice could think it's 8-bit EEPROM.
/* Check for Device type if it is 8 bit or 16 bit */
int flag = isDevice16Bit(file);

There is the below comment in the isDevice16Bit().

/* Read 7 more bytes, it will read same first byte in case of
 * 8 bit but it will read next byte in case of 16 bit
*/
But the rule isn't applicable to my EEPROM (AT24C64) .
root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1
0x00
root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1
0x00
root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1
0x00
root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1
0x00
root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1
0x00
root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1
0x00
root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1
0x00
root@henbin:/var/volatile# i2ctransfer -f -y 6 w1@0x50 0 r1
0x00
root@henbin:/var/volatile#

Could you give some suggestion?

Thanks.