Differentiating boards

I’m trying to programmatically identify a Jetson Nano vs a Jetson Orin Nano. My understanding is I can do that using the part number in the eeprom.

I’m trying to first figure out how to read the eeprom. From other posts, I’ve seen suggestions to use:

sudo i2cdump -y 7 0x50

However, when I do, the eeprom data looks empty as I just get a bunch of "X"s.

$ sudo i2cdump -y 7 0x50

[sudo] password for culinairy:
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX

Two questions:

  1. Am I correct that the part number in eeprom is the right way to differentiate the boards?
  2. How do I correctly read the eeprom data?

Actually, the i2c bus number of each Jetson series platform eeprom could be different.

It may not always be “7” there.

For example, try -y 0 0x50 on your board.

Tried that, but it didn’t work either:

$ sudo i2cdump -y 0 0x50
No size specified (using byte-data access)
Error: Could not set address to 0x50: Device or resource busy

Is your board flashed with jetpack6? If so, try to add -f parameter in i2cdump.

But actually it could be pointless thing because a Jetson nano is not able to boot up with Jetpack6.

If you only want to compare “Jetson Nano” and “Orin Nano”, then just checking the dmesg is sufficient.

It’s likely we’ll have to support others, so I was hoping for something more portable than grepping dmesg.

Running with -f gave me some output. How would I interpret this for differentiating the boards?

Here is the eeprom layout doc. byte20-49.

https://docs.nvidia.com/jetson/archives/r35.5.0/DeveloperGuide/HR/JetsonEepromLayout.html?highlight=eeprom

3448 is Jetson Nano

and 3767 is Orin Nano.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.