MACアドレスに依存せずにARMデバイスを一意に識別する方法は?

MACアドレスに依存せずにARMデバイスを一意に識別する方法は?

私は多くのARMデバイスを持っています。ハードウェアに違いはありません。 MACアドレスを使用せずに各デバイスの一意のIDを取得できますか?新しいカーネルと rootfs で NAND を再フラッシュしても、この ID は同じままでなければなりません。ハードウェアはAtmel AT91SAM9に基づいています。

ベストアンサー1

/proc/cpuinfo からデバイスのシリアル番号を取得します。

grep Serial /proc/cpuinfo 
Serial      : 1651660a0642ebb0

(A20ベースのSoCからのものです。ラモボR1Banana Pi R1 および ArmBian/Jessie、カーネル 4.5.2 とも呼ばれる)

grep Serial /proc/cpuinfo 
Serial          : 64355040058f0d000000

(私はH3ベースのSocから取得したものです。オレンジフィルNo.1Armbian / Jessieカーネル3.4を使用)

Pythonを使用してRaspberry Piのシリアル番号を取得する

シリアル番号情報:固有でなければなりませんが、SoCごとに異なる方法で読み取られます。時々ソフトウェアまたは設定が失敗します。

SID登録ガイド

SIDのいくつかのユースケースには以下が含まれますが、これらに限定されません。
- デバイスごとに一意のMACアドレスを生成する
- RSAと同じキーで保存/使用
- 内部シリアル番号を書く

Raspberry Piは通常、この番号をビデオコーデックライセンスの購入時にSNとして使用します。また、読み取りが失敗する可能性があることに注意してください。u-bootが正しく設定されていない場合

すべてのARM SoCがこの機能をサポートしているわけではありません。更新された質問によると、Atmel AT91SAM9にはこの機能がないようです。しかし、他の人が検索できるように、この回答をここに残しておきます。

おすすめ記事