Setting the MAC Address from Linux
From Platformx Wiki
[edit]
Using ethtool to Manipulate EEPROM
The Stargate 2 daughter card has a serial EEPROM (AT93C45A) that can store 128 bytes. The MAC address is stored at word offset 0x20 (byte offset 0x40). Ethtool displays the contents of EEPROM. For example:
[root@SG2-21 /root]#ethtool -e eth0
Offset Values
------ ------
0x0000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0040 00 50 c2 2f 30 13 ff ff ff ff ff ff ff ff ff ff
0x0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
Ethtool also modifies the EEPROM
[root@SG2-21 /root]#ethtool -E eth0 magic 0x3A8EBEEF offset 0x10 value 0x1A
[root@SG2-21 /root]#ethtool -e eth0
Offset Values
------ ------
0x0000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0010 1a ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0020 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0030 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0040 00 50 c2 2f 30 13 ff ff ff ff ff ff ff ff ff ff
0x0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0x0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[edit]
Setting the MAC Address
The MAC address is set with the script /sbin/setMAC. For example,
[root@SG2-21 /root]#setMAC 00:50:C2:2F:30:13
setmac to 00:50:C2:2F:30:13
The script is:
#!/bin/bash
echo "setmac to $1"
numbers=(`echo $1 | tr ':' ' '`)
# echo ${numbers[1]}
ethtool -E eth0 magic 0x3A8EBEEF offset 0x40 value 0x${numbers[0]}
ethtool -E eth0 magic 0x3A8EBEEF offset 0x41 value 0x${numbers[1]}
ethtool -E eth0 magic 0x3A8EBEEF offset 0x42 value 0x${numbers[2]}
ethtool -E eth0 magic 0x3A8EBEEF offset 0x43 value 0x${numbers[3]}
ethtool -E eth0 magic 0x3A8EBEEF offset 0x44 value 0x${numbers[4]}
ethtool -E eth0 magic 0x3A8EBEEF offset 0x45 value 0x${numbers[5]}
The setMAC script is called by px2init during Initial File System Configuration.
[edit]
BLOB Note
Be sure to use the Blob from release 1.1. The 1.0 release will replace the MAC address with a default.
