Skip to main content

USB Extender

A Node object whose type is USB_EXTENDER. The USB_EXTENDER node represents a USB 2.0 extender attached to a BlueRiver device. It is the modern, chipset-agnostic replacement for the legacy USB_ICRON node and supports the same USB pair/unpair, role, and peer concepts using a slightly restructured schema.

Migrating from USB_ICRON

The Control Server emits both USB_ICRON (legacy) and USB_EXTENDER (new) nodes side-by-side during the transition window. If you are updating an existing integration that was reading the USB_ICRON node, see the USB Extender Node Rename Migration Guide for the full field-by-field mapping and recommended migration pattern.

Configuration

UsbExtenderNodeConfig
{
"role" : String,
"program_mode" : String,
"rs232_port" : Integer,
"peers" : Array
}
Member nameTypeDescription
roleStringThe role of the extender: LOCAL for a local extender (LEX) or REMOTE for a remote extender (REX). Replaces the legacy extender_type field.
program_modeStringCurrently enabled programming mode for the USB extender. One of: FIRMWARE (extender's firmware), EEPROM (non-volatile configuration memory), or NONE (programming disabled). Set using the icron program command.
rs232_portIntegerThe zero-based number of the RS-232 port through which programming of the USB extender is enabled. Undefined if program_mode is NONE.
peersArrayConfigured peer list for this extender (used on LEX devices to declare pair targets). Each entry has the shape { "mac_address": String, "device_id": String }.

Status

UsbExtenderNodeStatus
{
"chipset_type" : String,
"chip_present" : Boolean,
"mac_address" : String,
"reachable" : Boolean,
"revision" : String,
"ip_mode" : String,
"ip_address" : String,
"link_status_support" : Boolean,
"sui_enabled" : Boolean,
"peers" : Array,
"role" : String
}
Member nameTypeDescription
chipset_typeStringIdentifies the underlying USB-extender chipset; "ICRON" on current hardware.
chip_presentBooleantrue indicates that the extender chip is detected. false if a USB extender is enabled in the hardware configuration but the chip has not been populated.
mac_addressStringMAC address of this device's extender chip. Blank ("") if the chip has not been detected.
reachableBooleantrue if the USB extender network interface is reachable with an IP address, false otherwise.
revisionStringThe revision level of the extender chip firmware.
ip_modeStringThe active IP mode of the extender interface, either DHCP or manual (static).
ip_addressStringThe current IP address of the extender interface.
link_status_supportBooleanIndicates whether the extender chip supports the link-status attribute.
sui_enabledBooleanIndicates whether SUI (single-user / multi-user) configuration is enabled on this extender.
peersArrayCurrently linked peers, as reported by the extender. Each entry has the shape { "mac_address": String, "device_id": String }. Replaces the legacy sui_peers array and the legacy scalar peer_mac_address / peer_device_id fields.
roleStringA convenience copy of configuration.role (LOCAL or REMOTE).

Inputs

None.

Example

As returned by get device, a REX node paired with a LEX on another device:

REX
{
"type": "USB_EXTENDER",
"index": 0,
"configuration": {
"role": "REMOTE",
"program_mode": "NONE",
"rs232_port": 0,
"peers": []
},
"status": {
"chipset_type": "ICRON",
"chip_present": true,
"mac_address": "0016c035571d",
"reachable": true,
"revision": "1.9.4",
"ip_mode": "DHCP",
"ip_address": "192.168.100.22",
"link_status_support": true,
"sui_enabled": true,
"peers": [
{
"mac_address": "0016c035566f",
"device_id": "d8803962e132"
}
],
"role": "REMOTE"
},
"inputs": []
}
LEX, on device d8803962e132
{
"type": "USB_EXTENDER",
"index": 0,
"configuration": {
"role": "LOCAL",
"program_mode": "NONE",
"rs232_port": 0,
"peers": []
},
"status": {
"chipset_type": "ICRON",
"chip_present": true,
"mac_address": "0016c035566f",
"reachable": true,
"revision": "1.9.4",
"ip_mode": "DHCP",
"ip_address": "192.168.100.20",
"link_status_support": true,
"sui_enabled": true,
"peers": [
{
"mac_address": "0016c035571d",
"device_id": "0016c035566e"
}
],
"role": "LOCAL"
},
"inputs": []
}