MAC Address Generation in Console Mode
- Former user (Deleted)
- Guido Dormann
Which MAC address is used in Ethernet Console Mode ?
The MAC address is generated by the ROMloader. It is not taken from a FDL - Flash Device Label - stored in the Flash Memory.
I.e. no matter if console mode is entered on a blank chip with erased flash memory or a properly setup chip with HW-config, FDL and Firmware in Flash, the MAC address will be the same.
The ROMloader generates the MAC address from a unique chip ID. This unique chip ID is stored in the Flash info page, programmed in the factory and not eraseable/programmable by the user.
All netX 90 Rev. 0 chips feature the same unique chip ID, i.e. always use the same MAC address 00:02:a2:47:4e:2a
The mac address pool used inside the ROM code has a size of 256 addresses.
Algorithm for MAC address calculation
1) The unique ID is inflated to a size of 12 Bytes, filled with 0x00s
e.g. 64 00 00 00 00 00 00 00 00 00 00 00
2) A SHA384 checksum is calcualed over these 12 Bytes:
e.g. c6ee3e7c7dde846b241ec5a37509dfe50da27a9ec9699f5e956b3a789202ec4201f904e6c501fc96cf0fadde6655657c
3) The first byte of this hash (0xc6 in the example) is the offset, which is added to the base MAC address "00:02:a2:47:4d:64"
Port 0 uses this MAC address
Port 1 uses an offset (Hash[0]+1)&0xff (0xc7 in the example).
Hash[0] = 0xc6
Basis MAC = 00:02:a2:47:4d:64
Port 0:
Offset = Hash[0] = 0xc6
MAC = 00:02:a2:47:4e:2a
Port 1:
Offset = (Hash[0] + 1) & 0xff = 0xc7
MAC = 00:02:a2:47:4e:2b
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page: