ネットワーク アダプタの永続的な (焼き付けられた) MAC アドレスを読み取る必要があります。MACアドレスは簡単に偽装できるので、EEPROMに書かれている本物を読み取る必要があります。LinuxでC++を使用して行う必要があります。
非常に優れたethtoolを使用してみましたが、問題なく動作します。ただし、一部のシステムでは、意図したとおりに機能しません。
ethtool -P eth0
これを返します:
Permanent address: 00:00:00:00:00:00
と
ethtool -e eth0
これを返します:
Cannot get EEPROM data: Operation not supported
ネットワーク アダプタには次の情報があります。
- ドライバー: ucc_geth
- バージョン: 1.1
- ファームウェアバージョン: N/A
- バス情報:QUICC ENGINE
Linux カーネルのバージョン: 2.6.32.13
質問: この問題を更新 (ドライバー、カーネルなど) で修正できますか?
ioctl
さらに、 C++ の関数で同じ ethtool 呼び出しを行います。コード内でこれを修正する方法はありますか? または、EEPROM から永続的な MAC アドレスを取得する他の方法はありますか?