EEPROM Initialization

The Mango 802.11 design requires an EEPROM on each node which is initialized with unique data per node. The RFSOM FMC carrier provides an IIC EEPROM which is blank by default. This EEPROM must be initialized before the 802.11 design can be used on the node.

The EEPROM is non-volatile; this initialization process is only required once per node. You can re-run the initialization to change a node’s EEPROM contents if needed.


You must provide valid MAC addresses and serial number before running the EEPROM initialization.

MAC Addresses

The 802.11 code requires two MAC addresses:

  • MAC Addr A: wireless address, used in all wireless Tx/Rx
  • MAC Addr B: management interface address, associated with wlan_exp IP address

You must select two MAC addresses per node. Any valid MAC addresses can be used. For example if your company has an IEEE address allocation you can use two of these.

Address requirements:

  • MAC Addr A and B must be different
  • Both addresses must be unicast and universally administered (bits [1:0] of the first byte must be 0)
  • Addresses must not be duplicated anywhere in the wired or wireless networks

The ADRV9361 module includes one MAC address assigned by the manufacturer. This address is printed on a sticker on the RF cage. We recommend using this as MAC Addr A.

You must select a valid MAC Addr B. If you have no other source of valid addresses, you can select MAC Addr B from the range 40-D8-55-04-2F-xx. This is the upper block of 256 MAC addresses assigned to Mango Communications. Mango will never assign these addresses to hardware.

Serial Number

The 802.11 code requires each node be assigned a 5-digit numerical serial number. The serial number is used for enumeration by the wlan_exp framework and is reported in all node logs.

The ADRV9361 module has a serial number printed on the bottom. Alternatively you can select serial numbers sequentially for your nodes.

Serial numbers must not be duplicated in a network.

EEPROM Init Application

We provide an EEPROM Init application as part of the MAC Software archive for the RFSOM hardware. Running the EEPROM Init application requires the Vivado SDK and JTAG cable.

Before running the EEPROM Init application:

  • Determine your node’s serial number, MAC Address A and MAC Address B (see above)
  • Install drivers for the RFSOM USB-UART transceiver (see RFSOM UART usage)
  • Connect the RFSOM USB-UART interface to your PC, open a terminal configured for 115200bps
  • Connect the JTAG cable to the RFSOM FMC carrier JTAG header (see RFSOM Hardware Setup)
  • Download and configure the latest MAC Software archive for the RFSOM platform from the Mango Support site (see SDK Workspace)

To run the EEPROM Init application:

  1. Power on the RFSOM hardware

  2. Open the SDK Workspace from the MAC Software archive

  3. Select Run ‣ Config and Run EEPROM Init

  4. Watch the UART output on the terminal:

    Mango 802.11 Reference Design - RFSOM EEPROM Init
  5. If the EEPROM is empty the UART will prompt for the serial number and MAC addresses. If the EEPROM has already been initialized its contents will be printed, then offer the option to overwrite the EEPROM data. Use the UART terminal to enter the desired EEPROM data.