Yaroslav Schubert
Yaroslav Schubert

Reputation: 211

Google Coral serial number

I need a unique identifier of my device and on Raspberry PI I could get a serial number of the cpu from the /proc/cpuinfo file. But on Coral there is no serial information in /proc/cpuinfo.

Are there any other ways to uniquely identify my device? What about /etc/machine-id?

Upvotes: 0

Views: 643

Answers (3)

Nam Vu
Nam Vu

Reputation: 1757

Following Florian's answer here, using the ATECC608A serial is an option as NXP's serial on the SOC is hard to access. The coral's cloudiot package has a wrapper around cryptoauthlib sdk to get the serial number.

Install coral's cloudiot:

echo "deb https://packages.cloud.google.com/apt coral-cloud-stable main" | sudo tee /etc/apt/sources.list.d/coral-cloud.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt update
sudo apt install python3-coral-cloudiot

Get Serial Number:

python3 -c 'from coral.cloudiot.ecc608 import ecc608_serial; print("ATECC608A Serial:", ecc608_serial())'

Upvotes: 3

Florian Hermisch
Florian Hermisch

Reputation: 46

There is another option of getting an ID from the board. The SoM of the Coral Dev Board also features a built-in cryptochip which offers a unique ID you can use. There was a discussion together with some python code on how to use it here: How to use the crypto processor on the dev board?

I havent tried yet, if the serial number of the ecc608 can also be accessed by file system means. The ecc608 is available on the 0th I2C bus of the system.

Upvotes: 0

Yaroslav Schubert
Yaroslav Schubert

Reputation: 211

Reply from Google support

NXP SoC has a unique serial number which could be read from sw.
It is suggested to check IMX8M reference manual for that information.
That approach will require you to add/modify kernel driver to expose that SN via sysfs node.

Upvotes: 1

Related Questions