Armadilloフォーラム

Armadillo-610のMACアドレスを変更する方法

hagihara

2023年11月14日 9時27分

お世話になっております。

Armadillo-610を使用しており、イーサネットのMACアドレスを弊社のものに変更したいと考えております。

i.mx6ullのeFuseにMACアドレスを書きこむ領域があることは理解しておりますが、この領域には御社のMACアドレスが書き込まれており、書き換えはできないという認識で正しいでしょうか?

その前提で、U-Boot環境変数の etheraddr を以下のコマンドで書き換える方法を試したところ、電源を切っても値が保持され、正常に動作しているように見受けられます。

=> setenv ethaddr 00:11:22:33:44:55
=> env save
Saving Environment to MMC... Writing to MMC(0)... OK
 

この方法でMACアドレスを変更することに関して、技術的な問題や推奨されない点があればご指摘いただけますと幸いです。
よろしくお願いします。

コメント

at_dominique.m…

2023年11月14日 11時28分

hagiharaさん

お世話になっています、
マルティネです。

> i.mx6ullのeFuseにMACアドレスを書きこむ領域があることは理解しておりますが、この領域には御社のMACアドレスが書き込まれており、書き換えはできないという認識で正しいでしょうか?

はい、その領域はすでに書込み済みなので変更不可能になっています。

> その前提で、U-Boot環境変数の etheraddr を以下のコマンドで書き換える方法を試したところ、電源を切っても値が保持され、正常に動作しているように見受けられます。
>

> => setenv ethaddr 00:11:22:33:44:55
> => env save
> Saving Environment to MMC... Writing to MMC(0)... OK
>  

> この方法でMACアドレスを変更することに関して、技術的な問題や推奨されない点があればご指摘いただけますと幸いです。

そうですね。変数を書き込めば u-boot からの通信も linux への MAC アドレスにも使用されますので、この対応で問題ないと思います。

Armadillo Base OS での開発の場合は変数を /boot/uboot_env.d ディレクトリに保存する必要がありますので、インストールディスクか swupdate で元の mac アドレスを確認して新しい mac の計算をすれば対応もそんなに手間にならないかと思います。
(debian での開発の場合は量産向けの変数の書込み方法はなかったはずなので、手間になりますが、変数としてはそのバージョンでも問題ありません)

よろしくお願いします。

マルティネさん

ご回答ありがとうございます。

>(debian での開発の場合は量産向けの変数の書込み方法はなかったはずなので、手間になりますが、変数としてはそのバージョンでも問題ありません)

Debianで開発を行っておりますが、これはどういう意味でしょうか。
一台ずつU-Bootでコマンドを手打ちする必要があるという意味でしょうか?

at_dominique.m…

2023年11月14日 13時50分

hagiharaさん

> >(debian での開発の場合は量産向けの変数の書込み方法はなかったはずなので、手間になりますが、変数としてはそのバージョンでも問題ありません)
>
> Debianで開発を行っておりますが、これはどういう意味でしょうか。
> 一台ずつU-Bootでコマンドを手打ちする必要があるという意味でしょうか?

はい。
申し訳ございませんが、Armadillo 610 の debian 版では Linux から uboot の変数を変更するコマンドを用意してませんので、量産向けの環境変数を設定する方法は用意していません。
一台ずつ u-boot でコマンドを打つか、ご自分で別の対応を考える必要があります(例えば、u-boot-tools パッケージ(bullseye以降はlibubootenv-tool パッケージ) の fw_setenv コマンド用のコンフィグを作ってそれで対応できるはずですが、完成な方法を紹介できません)

お手数ですがよろしくお願いします。