Ethernet
Ariel OS supports Ethernet (IEEE 802.3) on specific microcontrollers and hardware configurations.
MAC Address Used for the Ethernet Link
The MAC address used for the Ethernet link is derived from the device identity using if_index 0.
A different index should therefore be used to generate other EUI-48 identifiers.
Using Microcontrollers With a Built-in Ethernet MAC
Some microcontrollers include an Ethernet MAC peripheral, which requires an external PHY chip for the board to support Ethernet. The MAC communicates with the external PHY using the media-independent interface (MII) or the reduced media-independent interface (RMII), which is almost functionally identical to the MII but requires half the signals between the MAC and the PHY.
Currently, among the set of MCUs supported by Ariel OS, only some STM32 microcontrollers feature a built-in Ethernet MAC.
On these MCUs, only the RMII is currently supported: its pinout is currently fixed, and is the same as the one used by the manufacturer’s development kit demonstrating Ethernet functionality.
Using Ethernet as the network link on supported STM32 MCUs is enabled by selecting the ethernet-stm32 laze-module.
Note
The built-in Ethernet MAC can be used on other boards, as long as the same pinout is used.
Using External Ethernet MAC + PHY Chips
External Ethernet MAC + PHY chips also exist, which can for instance be used with microcontrollers that do not comprise a built-in MAC peripheral. These external chips most commonly interface with the microcontroller through either SPI or a parallel bus. On top of including the MAC and PHY functional blocks, these chips may also feature hardware support for higher level protocols, such as IP or TCP.
Ariel OS currently only supports these chips over SPI (QSPI is also not supported). The SPI frequency is automatically selected based on the microcontroller capability, up to 30 MHz, which should work reliably on all boards. The pinout is currently defined in-tree for supported boards.
The table below details the supported chips, and how to enable support for them:
| Chip | laze module to select |
|---|---|
| WIZnet W5100S | ethernet-wiznet-w5100s |
| WIZnet W5500 | ethernet-wiznet-w5500 |
| WIZnet W6100 | ethernet-wiznet-w6100 |
| WIZnet W6300 | ethernet-wiznet-w6300 |
Only the MAC of these chips is currently used (i.e., WIZnet chips are used in MACRAW mode): the hardware acceleration of higher level protocols is not leveraged.