Could be permissions, are you running it as root. It is possible your i2c bus is enumerated differently. You can use the i2cdump utility to check the devices on each bus.
This is the correct eeprom, but the tlv_parser code can not read it because the eeprom kernel driver has control over the device. You can disable the device in the device-tree and then access it from this utility, otherwise you would need to modify the tool to read the eeprom contents directly from the sysfs eeprom device and then parse it.
I’m thinking to expand tlv_parser with code for writing the EEPROM, too, so I can change the mac address from user space (for production line). do you think there’s any reason why this would not work?
to update the Mac address, it seems it would be most simple just to rewrite the EEPROM with only 3 fields: mac address base, size, and the CRC.
but it seems SolidRun is putting some extra fields into the EEPROM, and we wonder how important/required/used are they?
fields like product name, vendor name, country, serial number (i wonder what serial number is that? SolidRun’s SOM serial number? is this meaningful or just arbitrary?), platform name, vendor extension…
It is your hardware you can do with it what you want. On other platforms we do use them, but currently on the LX2160a only the MAC address and number fields are used.