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"
}
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:
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:
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:
Response
HTTP Status Code: 200 OK
If the operation is successful, a status code 200 OK
will be returned. The response as following:
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.