Skip to content

10. Network Management

EthernetInterfaces resources are used to manage System and BMC network configuration.

The BMC supports 4G network configuration, and if the hardware is available, the settings can be managed via API.

10.1 Viewing System Network Settings

10.1.1 System EthernetInterfaces

This API will get a list of all network interfaces associated with the system.

URI: /redfish/v1/Systems/1/EthernetInterfaces

Method: GET

Response Example:

{
    "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces",
    "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection",
    "Description": "System NICs on Jetson Servers",
    "Members": [
        {
            "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/eth0"
        },
        {
            "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/eth1"
        }
    ],
    "Members@odata.count": 2,
    "Name": "Ethernet Interface Collection"
}
Each @odata.id points to an individual NIC that can be queried for more details.

10.1.2 System EthernetInterface Info

Retrieve detailed configuration and status for the specified network interface.

URI: /redfish/v1/Systems/1/EthernetInterfaces/<NIC>

Method: GET

Response Example:

{
    "@odata.id": "/redfish/v1/Systems/1/EthernetInterfaces/eth0",
    "@odata.type": "#EthernetInterface.v1_12_0.EthernetInterface",
    "Description": "System NIC 1",
    "DHCPv4": {
        "DHCPEnabled": false,
        "UseDNSServers": true,
        "UseGateway": true
    },
    "EthernetInterfaceType": "Physical",
    "FQDN": "d135_001.avermedia.com",
    "FullDuplex": true,
    "HostName": "d135_001",
    "IPv4Addresses": [
        {
            "Address": "192.168.0.10",
            "AddressOrigin": "Static",
            "Gateway": "192.168.0.1",
            "SubnetMask": "255.255.252.0"
        }
    ],
    "Id": "eth0",
    "MACAddress": "12:44:6A:3B:04:11",
    "Name": "Ethernet Interface",
    "NameServers": [
        "names.avermedia.com"
    ],
    "PermanentMACAddress": "12:44:6A:3B:04:11",
    "SpeedMbps": 1000,
    "Status": {
        "Health": "OK",
        "State": "Enabled"
    },
    "TeamMode": "None"
}

HTTP Status Code: 403 Forbidden

Possible Causes
  • The OOB (Out-of-Band) controller retrieves network information from the main system. If the main system is rebooting and the daemon service responsible for providing this information has not yet started, calling this API may result in a 403 error.
  • This issue may also occur if the communication interface between the main system and the OOB controller is currently in use by another application or if there is a hardware-related problem.
Resolution
  • Wait until the main system has fully booted and the daemon service is up and running. Once the service is initialized, the API will respond normally.
  • Ensure that the communication interface between the main system and the OOB controller is available and functioning correctly.
  • Check system logs for hardware errors or interface conflicts.
  • If the issue persists, perform a power cycle or contact system support for further diagnosis.

10.1.3 Retrieve System Network Information Workflow

1. GET /redfish/v1/Systems
2. GET /redfish/v1/Systems/{SystemId}/EthernetInterfaces
3. For each NIC:
       GET /redfish/v1/Systems/{SystemId}/EthernetInterfaces/{NICId}

Note:
To retrieve Ethernet interface information from the host system, a background daemon service must be installed and running on the host.
Please refer to Appendix B – Daemon Installation for installation instructions.

10.2 Viewing BMC Network Settings

10.2.1 BMC EthernetInterfaces

URI: /redfish/v1/Managers/BMC/EthernetInterfaces

Method: GET

Response:

{
    "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces",
    "@odata.type": "#EthernetInterfaceCollection.EthernetInterfaceCollection",
    "Description": "Collection of EthernetInterfaces for this Manager",
    "Members": [
        {
            "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0"
        }
    ],
    "Members@odata.count": 2,
    "Name": "Ethernet Network Interface Collection"
}

10.2.2 BMC EthernetInterface Info

URI: /redfish/v1/Managers/1/EthernetInterfaces/eth0

Method: GET

Response:

{
    "@odata.id": "/redfish/v1/Managers/BMC/EthernetInterfaces/eth0",
    "@odata.type": "#EthernetInterface.v1_12_0.EthernetInterface",
    "AutoNeg": true,
    "Description": "Management network interface on a dedicated port",
    "DHCPv4": {
        "DHCPEnabled": true,
        "UseDNSServers": true,
        "UseGateway": true
    },
    "FQDN": "avtoob_000001.local",
    "FullDuplex": true,
    "HostName": "avtoob_000001",
    "IPv4Addresses": [
        {
            "Address": "192.168.0.10",
            "AddressOrigin": "DHCP",
            "Gateway": "192.168.0.1",
            "SubnetMask": "255.255.255.0"
        }
    ],
    "Id": "eth0",
    "InterfaceEnabled": true,
    "LinkStatus": "LinkUp",
    "MACAddress": "23:11:8A:33:CF:EA",
    "MTUSize": 1500,
    "Name": "Manager Ethernet Interface",
    "NameServers": [
        "8.8.8.8",
        "8.8.4.4"
    ],
    "SpeedMbps": 100,
    "Status": {
        "Health": "OK",
        "State": "Enabled"
    }
}

10.3 BMC IPv4 Configuration

URI: /redfish/v1/Managers/BMC/EthernetInterfaces/eth0

Method: PATCH

Payload:

{
    "DHCPv4": {
        "DHCPEnabled": false,
        "UseDNSServers": true,
        "UseGateway": true
    },
    "IPv4Addresses": [
        {
            "Address": "192.168.0.10",
            "AddressOrigin": "STATIC",
            "Gateway": "192.168.0.1",
            "SubnetMask": "255.255.255.0"
        }
    ],
    "NameServers": [
        "8.8.8.8",
        "8.8.4.4"
    ]
}

10.4 Wireless Interfaces

This session describes the Redfish extensions for managing wireless interfaces on a ERMI module.
The wireless functionality includes support for 4G LTE and WiFi interfaces. Each interface is exposed via Redfish-compliant schemas and APIs for configuration, monitoring, and management.

The Wireless resource is exposed as part of the Managers object in the Redfish model.
Each wireless interface (LTE or WiFi) is represented as a sub-resource and provides capabilities to configure network credentials, enable/disable connectivity, and monitor status.

10.4.1 4G Configuration

10.4.1.1 Overview

This session describes how to configure and query 4G LTE modem settings using the Redfish API.
System administrators can use these APIs to set up APN, and connection parameters, as well as retrieve runtime status such as signal strength and registration state.

The 4G LTE settings and information are fully managed via Redfish API actions and properties, providing a standardized interface for ERMI module.

10.4.1.2 API Endpoints

Get Celluar Information

This resource represents the LTE configuration and status associated with the Manager.

URI: /redfish/v1/Managers/{ManagerId}/WirelessInterfaces/Cellular
Method: GET
Response:
{
    "ModuleInfo":"Quectel EM05-G Revision: EM05GFAR07A07M1G",
    "Operator":"Chunghwa Telecom",
    "SignalStrength":-60,
    "ConnectionStatus":"Connected",
    "IPAddress":"10.168.192.9",
    "APN":{
        "Name":"internet",
        "Username":"",
        "Password":""
    },
    "IMEI":"1111223456787",
    "TxBytes":1614,
    "RxBytes":2331,
    "SIMStatus":"READY",
    "Enabled":true,
    "Actions":{
        "#Cellular.Connect":{
            "target":"/redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/Cellular/Actions/Connect"
        },
        "#Cellular.Disconnect":{
            "target":"/redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/Cellular/Actions/Disconnect"
        }
    }
}
Response Properties:
Property Type Description
ModuleInfo string Information about the LTE module (model, firmware, etc.). Empty if not available.
Operator string The current cellular network operator name (e.g., Chunghwa Telecom).
SignalStrength integer Signal strength in dBm (negative values, closer to 0 means stronger signal).
ConnectionStatus string Current connection state. Typical values: Connected, Disconnected.
IPAddress string The IPv4 address assigned to the LTE interface.
APN.Name string Access Point Name (APN) configured for LTE connection.
APN.Username string Username for APN authentication (if required).
APN.Password string Password for APN authentication (if required).
IMEI string International Mobile Equipment Identity of the LTE module.
TxBytes integer Total number of bytes transmitted since connection start.
RxBytes integer Total number of bytes received since connection start.
SIMStatus string Current SIM card state (e.g., READY, Error).
Enabled string Whether the LTE interface is exist (true) or not exist (false).
Actions.#Cellular.Connect.target string Redfish Action endpoint to initiate LTE connection.
Actions.#Cellular.Disconnect.target string Redfish Action endpoint to terminate LTE connection.
Initiate LTE Connection
URI: /redfish/v1/Managers/{ManagerId}/Oem/ERMI/WirelessInterfaces/Cellular/Actions/Connect
Method: POST
Request Body Example:
{
    "APN":{
        "Name":"internet",
        "Username":"",
        "Password":""
    }
}
Response
HTTP Status Code: 200 OK

If the operation is successful, a status code 200 OK will be returned. The response as following:

{
    "Operator":"Chunghwa Telecom",
    "SignalStrength":-65,
    "ConnectionStatus":"Connected",
    "IPAddress":"10.172.39.125"
}

HTTP Status Code: 403 Forbidden

If the permission is insufficient, the 4G connection cannot be established within 30 seconds, a status code 403 Forbidden will be returned.

HTTP Status Code: 400 Bad Request

If Enabled is false or the request body is not a JSON format, a 400 Bad Request status code will be returned.

Terminate LTE Connection
URI: /redfish/v1/Managers/{ManagerId}/Oem/ERMI/WirelessInterfaces/Cellular/Actions/Disconnect
Method: POST
Response
HTTP Status Code: 204 No Content

If the operation is successful, a status code 204 No Content will be returned.

10.4.2 WiFi Configuration

10.4.2.1 Overview

The WiFi interface on the ERMI module provides an alternative network connectivity option in addition to traditional Ethernet and LTE.
Its primary purpose is to enable flexible and convenient remote management of the system, particularly in scenarios where wired connections are not practical or when mobile access is required.

Currently, the Wi-Fi functionality supports only basic security modes,
including WPA-PSK, WPA2-PSK, WEP, and open (no password) networks. Other authentication and encryption methods are not supported.

The WiFi interface is fully managed through the Redfish API, exposing endpoints for configuration, network scanning, and connection management.

10.4.2.2 API Endpoints

Get WiFi Information

This resource represents the WiFi configuration and status associated with the Manager.

URI: /redfish/v1/Managers/{ManagerId}/WirelessInterfaces/WiFi
Method: GET
Response:
{
  "Id": "WiFi1",
  "Name": "WiFi Interface",
  "Enabled": true,
  "Status": {
    "State": "Enabled",
    "Health": "OK"
  },
  "CurrentConnection": {
    "SSID": "Test WIFI AP",
    "BSSID": "00:11:22:33:44:55",
    "SignalStrength": -51,
    "IPAddress": "192.168.1.22"
  },
  "Actions": {
    "#WiFiInterface.ScanNetworks": {
      "target": "/redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/ScanNetworks"
    },
    "#WiFiInterface.Connect": {
      "target": "/redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/Connect",
      "Parameters": [
        {
          "Name": "SSID",
          "Required": true,
          "DataType": "String"
        },
        {
          "Name": "Passphrase",
          "Required": true,
          "DataType": "String"
        }
      ]
    },
    "#WiFiInterface.Disconnect": {
      "target": "/redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/Disconnect"
    }
  }
}
Response Properties:
Property Type Description
Enabled boolean This setting indicates whether WiFi is enabled.
Status.State string This setting shows whether a Wi-Fi dongle is present; if not, it will indicate as Disabled.
CurrentConnection.SSID string SSID of the currently connected Wi-Fi AP. Empty if not connected.
CurrentConnection.BSSID string BSSID of the currently connected Wi-Fi AP.
CurrentConnection.SignalStrength integer Signal strength in dBm (negative values, closer to 0 means stronger signal).
CurrentConnection.IPAddress string The IPv4 address assigned to the Wi-Fi interface.
Actions.#WiFiInterface.ScanNetworks.target string Redfish Action endpoint to perform a Wi-Fi scan.
Actions.#WiFiInterface.Connect.target string Redfish Action endpoint to connect to the specified Wi-Fi AP.
Actions.#WiFiInterface.Disconnect.target string Redfish Action endpoint to disconnect the current Wi-Fi connection.
Turn On/Off the Wi-Fi interface
URI: /redfish/v1/Managers/{ManagerId}/WirelessInterfaces/WiFi
Method: PATCH
Request Body Example:
{
    "Enabled":false
}
Response
HTTP Status Code: 204 No Content

If the operation is successful, a status code 204 No Content will be returned.

HTTP Status Code: 400 Bad Request

If Enabled parameter of the request body is invalid or the request body is not a JSON format, a 400 Bad Request status code will be returned.

HTTP Status Code: 403 Forbidden

If the permission is insufficient, a status code 403 Forbidden will be returned.

Scan the Wi-Fi AP
URI: /redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/ScanNetworks
Method: POST
Response
HTTP Status Code: 200 OK

If the operation is successful, a status code 200 OK will be returned. The response as following:

{
  "AvailableNetworks": [
    {
      "SSID": "TEST",
      "BSSID": "f0:2f:74:3a:cb:aa",
      "Security": "[WPA2-PSK-CCMP][WPS][ESS]",
      "SignalStrength": -59
    },
    {
      "SSID": "RD WIFIAP",
      "BSSID": "f0:2f:11:3a:cc:aa",
      "Security": "[WPA2-PSK-CCMP][ESS]",
      "SignalStrength": -71
    }
  ]
}

HTTP Status Code: 403 Forbidden

If the permission is insufficient, no Wi-Fi dongle or Wi-Fi is currently turned off, a status code 403 Forbidden will be returned.

Connect to the specified Wi-Fi AP
URI: /redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/Connect
Method: POST
Request Body Example:
{
    "SSID":"MyAP",
    "Passphrase":"12345678"
}
Response
HTTP Status Code: 200 OK

If the operation is successful, a status code 200 OK will be returned. The response as following:

{
  "SSID": "MyAP",
  "SignalStrength": "-60,",
  "IPAddress": "192.168.1.100"
}

HTTP Status Code: 403 Forbidden

If the permission is insufficient, no Wi-Fi dongle or Wi-Fi is currently turned off, a status code 403 Forbidden will be returned.

HTTP Status Code: 400 Bad Request

If the parameters of the request body are invalid, the SSID setting was not found in scan results, or the request body is not a JSON format, a 400 Bad Request status code will be returned.

HTTP Status Code: 500 Internal Server Error

If the Wi-Fi configuration tool encounters an error and fails to add a Wi-Fi AP connection, the service shall return a 500 Internal Server Error.

HTTP Status Code: 401 Unauthorized

If a new Wi-Fi connection cannot be established due to an authentication failure, the service shall return a 401 Unauthorized error.

HTTP Status Code: 404 Not Found

If a new Wi-Fi connection cannot be established because the specified AP cannot be found, the service shall return a 404 Not Found error.

HTTP Status Code: 504 Gateway Timeout

If a new Wi-Fi connection cannot be established due to a timeout, the service shall return a 504 Gateway Timeout error.

HTTP Status Code: 503 Service Unavailable

If a new Wi-Fi connection cannot be established due to a service error, the system shall return a 503 Service Unavailable error.

Disconnect from the current Wi-Fi connection
URI: /redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/Disconnect
Method: POST
Response
HTTP Status Code: 204 No Content

If the operation is successful, a status code 204 No Content will be returned

HTTP Status Code: 403 Forbidden

If the permission is insufficient, no Wi-Fi dongle or Wi-Fi is currently turned off, a status code 403 Forbidden will be returned.

10.4.2.3 WiFi API Usage Flow (Simplified)

This flow illustrates the typical steps a user takes to connect to a WiFi network via Redfish API.

Start
  |
  v
GET /redfish/v1/Managers/BMC/WirelessInterfaces/WiFi
  |  -- Verify WiFi dongle exists and interface is enabled
  v
POST /redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/ScanNetworks
  |  -- Scan available WiFi networks
  v
Select AP from scan results
  |  -- Choose the desired SSID
  v
POST /redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/Connect
  |  -- Connect to selected AP with SSID and password (if required)
  v
WiFi Connected
  |
  v
Optional: POST /redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/Disconnect
  |  -- Disconnect from current network if needed
  v
End
Steps Description
GET /redfish/v1/Managers/BMC/WirelessInterfaces/WiFi

Verify that the WiFi dongle exists and the interface is enabled.

POST /redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/ScanNetworks

Scan for available networks and retrieve SSIDs, signal strength, and security type.

Select an AP Choose a target access point from the scan results.

POST /redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/Connect

Connect to the selected AP with SSID and password (if required).

POST /redfish/v1/Managers/BMC/Oem/ERMI/WirelessInterfaces/WiFi/Actions/Disconnect

Optional: Disconnect from the current WiFi network when needed.

Next section