ULCP: Command and Property Index
Every numeric identifier the protocol defines, and where it is specified.
Commands
| Id | Mnemonic | Dir | Gated by |
|---|---|---|---|
| 0 | CMD_NOP | Host->Device | — |
| 1 | CMD_RST | Host->Device | — |
| 2 | CMD_PROP_GET | Host->Device | — |
| 3 | CMD_PROP_SET | Host->Device | — |
| 4 | CMD_PROP_INSERT | Host->Device | — |
| 5 | CMD_PROP_REMOVE | Host->Device | — |
| 6 | CMD_PROP_IS | Device->Host | — |
| 7 | CMD_PROP_INSERTED | Device->Host | — |
| 8 | CMD_PROP_REMOVED | Device->Host | — |
| 9 | CMD_STR_SEND | Host->Device | — |
| 10 | CMD_STR_RECV | Device->Host | — |
| 11 | CMD_QUEUE_DRAIN | Host->Device | CAP_HOST_RX_QUEUE |
| 12 | CMD_SAVE | Host->Device | CAP_SAVE |
| 13 | CMD_CLEAR | Host->Device | — |
| 14 | CMD_RESTORE | Host->Device | CAP_SAVE |
| 15 | CMD_FACTORY_RESET | Host->Device | — |
| 16 | CMD_REBOOT | Host->Device | CAP_REBOOT |
| 19 | CMD_ANNOUNCE | Host->Device | CAP_ADVERT |
| 21 | CMD_PROP_MULTI_GET | Host->Device | CAP_CMD_MULTI |
| 22 | CMD_PROP_MULTI_SET | Host->Device | CAP_CMD_MULTI |
| 23 | CMD_PROP_ARE | Device->Host | CAP_CMD_MULTI |
| 24 | CMD_SESSION_RESET | Device->Host | — |
Command identifiers are 7-bit; 17–18, 20, and 25–127 are unassigned.
Properties and Streams
Identifiers are allocated by state class; see Property Allocation.
| Id | Mnemonic | Commands | Gated by |
|---|---|---|---|
| 0 | PROP_LAST_STATUS | Get, Is | — |
| 1 | PROP_PROTOCOL_VERSION | Get | — |
| 2 | PROP_DEV_VERSION | Get | — |
| 3 | PROP_INTERFACE_TYPE | Get | — |
| 4 | PROP_DEV_MODEL | Get | — |
| 5 | PROP_CAPS | Get | — |
| 6 | PROP_UPTIME | Get | — |
| 32 | PROP_PHY_ENABLED | Get, Set | — |
| 35 | PROP_PHY_FREQ | Get, Set | — |
| 37 | PROP_PHY_TX_POWER | Get, Set | — |
| 38 | PROP_PHY_RSSI | Get | — |
| 39 | PROP_PHY_LORA_BW | Get, Set | CAP_PHY_LORA |
| 40 | PROP_PHY_LORA_SF | Get, Set | CAP_PHY_LORA |
| 41 | PROP_PHY_LORA_CR | Get, Set | CAP_PHY_LORA |
| 42 | PROP_PHY_MTU | Get | — |
| 43 | PROP_PHY_LORA_SW | Get, Set | CAP_PHY_LORA |
| 48 | PROP_MAC_PROMISCUOUS | Get, Set | CAP_HOST_FILTER |
| 49 | PROP_SAVED | Get | CAP_SAVE |
| 50 | PROP_MAC_BACKHAUL | Get, Set | CAP_MAC_BACKHAUL |
| 64 | PROP_DEV_KEY | Get | CAP_DEV_IDENTITY |
| 65 | PROP_DEV_PRIVATE_KEY | Set | CAP_DEV_IDENTITY |
| 66 | PROP_DEV_CHANNEL_KEYS | Get, Set, Insert, Remove | CAP_DEV_IDENTITY |
| 67 | PROP_DEV_PEERS | Get, Set, Insert, Remove | CAP_DEV_IDENTITY |
| 68 | PROP_DEV_NAME | Get, Set | CAP_DEV_NAME |
| 69 | PROP_BATTERY | Get, Is | CAP_BATTERY |
| 70 | PROP_MAC_REPEATER_ENABLED | Get, Set | CAP_REPEATER |
| 71 | PROP_IDENT | Get | CAP_IDENT |
| 72 | PROP_IDENT_ROLE | Get, Set | CAP_IDENT |
| 73 | PROP_IDENT_MOBILE | Get, Set | CAP_IDENT |
| 74 | PROP_MAC_REPEATER_REGIONS | Get, Set | CAP_REPEATER |
| 75 | PROP_MAC_REPEATER_DEFAULT_REGION | Get, Set | CAP_REPEATER |
| 76 | PROP_MAC_REPEATER_MIN_RSSI | Get, Set | CAP_REPEATER |
| 77 | PROP_MAC_REPEATER_MIN_SNR | Get, Set | CAP_REPEATER |
| 78 | PROP_DEV_DISCOVERABLE | Get, Set | CAP_DEV_IDENTITY |
| 79 | PROP_ALERT | Get, Set, Is | CAP_ALERT |
| 80 | PROP_ADVERT_INTERVAL | Get, Set | CAP_ADVERT |
| 81 | PROP_BEACON_INTERVAL | Get, Set | CAP_ADVERT |
| 82 | PROP_STARTUP_BEACON | Get, Set | CAP_ADVERT |
| 83 | PROP_IDENT_LOCATION | Get, Set | CAP_IDENT |
| 84 | PROP_IDENT_ALTITUDE | Get, Set | CAP_IDENT |
| 88 | PROP_GNSS_ENABLED | Get, Set | CAP_GNSS |
| 89 | PROP_GNSS_LOCATION | Get, Is | CAP_GNSS |
| 90 | PROP_GNSS_ALTITUDE | Get | CAP_GNSS |
| 91 | PROP_GNSS_FIX | Get, Is | CAP_GNSS |
| 92 | PROP_GNSS_PRECISION | Get | CAP_GNSS |
| 93 | PROP_GNSS_SATELLITES | Get | CAP_GNSS |
| 94 | PROP_ILLUMINANCE | Get | CAP_ILLUMINANCE |
| 96 | PROP_HOST_KEY | Get, Set | CAP_HOST_FILTER |
| 97 | PROP_HOST_CHANNEL_KEYS | Get, Set, Insert, Remove | CAP_HOST_KEYS |
| 98 | PROP_HOST_PEER_KEYS | Get, Set, Insert, Remove | CAP_HOST_KEYS |
| 99 | PROP_HOST_RX_FILTERS | Get, Set, Insert, Remove | CAP_HOST_FILTER |
| 100 | PROP_HOST_AUTO_ACK | Get, Set | CAP_HOST_AUTO_ACK |
| 101 | PROP_HOST_RX_QUEUE_COUNT | Get | CAP_HOST_RX_QUEUE |
| 102 | PROP_HOST_RX_QUEUE_CAPACITY | Get, Set | CAP_HOST_RX_QUEUE |
| 103 | PROP_HOST_RX_QUEUE_DROPPED | Get | CAP_HOST_RX_QUEUE |
| 104 | PROP_HOST_MUTED_CHANNELS | Get, Set, Insert, Remove | CAP_HOST_RX_QUEUE |
| 105 | PROP_HOST_MUTED_PEERS | Get, Set, Insert, Remove | CAP_HOST_RX_QUEUE |
| 113 | STR_PHY_RAW | Send, Recv | — |
| 4820 | PROP_PHY_DUTY_NOW | Get | CAP_PHY_DUTY_LIMIT |
| 4822 | PROP_PHY_DUTY_LIMIT | Get, Set | CAP_PHY_DUTY_LIMIT |
| 4832 | PROP_STAT_TX_PACKETS | Get, Set | CAP_STATS |
| 4833 | PROP_STAT_TX_CHANNEL_BUSY | Get, Set | CAP_STATS |
| 4834 | PROP_STAT_RX_PACKETS | Get, Set | CAP_STATS |
| 4835 | PROP_STAT_RX_BAD_CRC | Get, Set | CAP_STATS |
| 4836 | PROP_STAT_RX_NON_UMSH | Get, Set | CAP_STATS |
| 4837 | PROP_STAT_RX_ACCEPTED | Get, Set | CAP_STATS, CAP_REPEATER |
| 4838 | PROP_STAT_FORWARDED | Get, Set | CAP_STATS, CAP_REPEATER |
| 4839 | PROP_STAT_FORWARD_DROPPED | Get, Set | CAP_STATS, CAP_REPEATER |
| 4840 | PROP_STAT_FORWARD_CANCELLED | Get, Set | CAP_STATS, CAP_REPEATER |
| 4864 | PROP_BLE_PAIRING_PIN | Set | BLE transport |
| 4865 | PROP_DEV_ADMINS | Get, Set, Insert, Remove | CAP_ADMIN |
| 4866 | PROP_TIME | Get, Set, Is | CAP_TIME |
| 4867 | PROP_TZ_OFFSET | Get, Set | CAP_TIME |
| 4868 | PROP_GNSS_IDENT_UPDATE | Get, Set | CAP_GNSS |
| 4869 | PROP_GNSS_IDENT_PRECISION | Get, Set | CAP_GNSS |
| 4870 | PROP_GNSS_TIME_TRUST | Get, Set | CAP_GNSS |
| 4871 | PROP_BLE_ENABLED | Get, Set, Is | CAP_BLE |
| 4872 | PROP_BLE_BOND_COUNT | Get, Set, Is | CAP_BLE |
| 4873 | PROP_BLE_LINK | Get, Is | CAP_BLE |
| 4874 | PROP_BLE_PAIRING | Get, Set, Is | CAP_BLE |
| 4880 | PROP_WIFI_ENABLED | Get, Set, Is | CAP_WIFI |
| 4881 | PROP_WIFI_NETWORKS | Get, Set, Insert, Remove | CAP_WIFI |
| 4882 | PROP_WIFI_NETWORK | Get, Set, Is | CAP_WIFI |
| 4883 | PROP_WIFI_SCANNING | Get, Set, Is | CAP_WIFI_SCAN |
| 4884 | PROP_WIFI_SCAN_RESULTS | Get, Is, Inserted | CAP_WIFI_SCAN |
| 4885 | PROP_WIFI_LINK | Get, Is | CAP_WIFI |
| 4886 | PROP_WIFI_RSSI | Get | CAP_WIFI |
| 4887 | PROP_WIFI_MAC | Get | CAP_WIFI |
| 4896 | PROP_IPV4_STATE | Get, Is | CAP_IPV4 |
| 4897 | PROP_IPV4_CONFIG | Get, Set | CAP_IPV4 |
| 4898 | PROP_IPV4_ADDRESS | Get, Is | CAP_IPV4 |
| 4899 | PROP_IPV6_STATE | Get, Is | CAP_IPV6 |
| 4900 | PROP_IPV6_CONFIG | Get, Set | CAP_IPV6 |
| 4901 | PROP_IPV6_ADDRESSES | Get, Is | CAP_IPV6 |
| 4902 | PROP_IP_DNS | Get, Set, Insert, Remove | CAP_IPV4 or CAP_IPV6 |
| 4903 | PROP_IP_RESOLVERS | Get, Is | CAP_IPV4 or CAP_IPV6 |
| 4912 | PROP_WIFI_AP_ENABLED | Get, Set, Is | CAP_WIFI_AP |
| 4913 | PROP_WIFI_AP_CONFIG | Get, Set | CAP_WIFI_AP |
| 4914 | PROP_WIFI_AP_STATE | Get, Is | CAP_WIFI_AP |
| 4915 | PROP_WIFI_AP_CLIENTS | Get, Is, Inserted, Removed | CAP_WIFI_AP |
Capabilities
Advertised through PROP_CAPS; the allocation
is in Capabilities.
| Code | Name | Defined in |
|---|---|---|
| 8 | CAP_WRITABLE_RAW_STREAM | Frame Transport |
| 16 | CAP_PHY_DUTY_LIMIT | Radio Control |
| 32 | CAP_HOST_FILTER | Tethered Host Services |
| 33 | CAP_HOST_RX_QUEUE | Tethered Host Services |
| 34 | CAP_HOST_KEYS | Tethered Host Services |
| 35 | CAP_HOST_AUTO_ACK | Tethered Host Services |
| 36 | CAP_SAVE | Saved State |
| 37 | CAP_DEV_IDENTITY | Device Domain |
| 38 | CAP_DEV_NAME | Device Domain |
| 39 | CAP_BATTERY | Device Domain |
| 40 | CAP_REPEATER | Device Domain |
| 41 | CAP_IDENT | Device Domain |
| 42 | CAP_ALERT | Device Domain |
| 43 | CAP_ADMIN | Node Management |
| 44 | CAP_TIME | Device Domain |
| 45 | CAP_GNSS | Device Domain |
| 46 | CAP_ADVERT | Device Domain |
| 47 | CAP_ILLUMINANCE | Device Domain |
| 48 | CAP_MAC_BACKHAUL | Tethered Host Services |
| 49 | CAP_CMD_MULTI | Framing and Common Semantics |
| 50 | CAP_BLE | BLE Binding |
| 51 | CAP_REBOOT | Framing and Common Semantics |
| 52 | CAP_STATS | Radio Control |
| 53 | CAP_WIFI_SCAN | Wi-Fi |
| 54 | CAP_WIFI | Wi-Fi |
| 55 | CAP_IPV4 | IP Connectivity |
| 56 | CAP_IPV6 | IP Connectivity |
| 57 | CAP_WIFI_AP | Wi-Fi |
| 515 | CAP_PHY_LORA | Radio Control |
Status Codes
Defined in Status Codes.
| Id | Name | Id | Name |
|---|---|---|---|
| 0 | STATUS_OK | 12 | STATUS_BUSY |
| 1 | STATUS_FAILURE | 13 | STATUS_PROP_NOT_FOUND |
| 2 | STATUS_UNIMPLEMENTED | 18 | STATUS_CCA_FAILURE |
| 3 | STATUS_INVALID_ARGUMENT | 19 | STATUS_ALREADY |
| 4 | STATUS_INVALID_STATE | 20 | STATUS_ITEM_NOT_FOUND |
| 5 | STATUS_INVALID_COMMAND | 21 | STATUS_CURSOR_INVALID |
| 7 | STATUS_INTERNAL_ERROR | 22 | STATUS_NOT_PERMITTED |
| 9 | STATUS_PARSE_ERROR | 23 | STATUS_CHANNEL_NOT_FOUND |
| 10 | STATUS_IN_PROGRESS | 32 | STATUS_DUTY_LIMIT |
| 11 | STATUS_NOMEM |
Reset Codes
Defined in Reset Codes; the range 112–127 is reserved for them.
| Id | Name | Id | Name |
|---|---|---|---|
| 112 | STATUS_RESET_POWER_ON | 117 | STATUS_RESET_ASSERT |
| 113 | STATUS_RESET_EXTERNAL | 118 | STATUS_RESET_OTHER |
| 114 | STATUS_RESET_SOFTWARE | 119 | STATUS_RESET_UNKNOWN |
| 115 | STATUS_RESET_RESTORED | 120 | STATUS_RESET_WATCHDOG |
| 116 | STATUS_RESET_CRASH |
Enumerated Values
The value enumerations carried inside properties and stream metadata.
| Enumeration | Values | Defined in |
|---|---|---|
PROP_SAVED | 0 none, 1 current, 2 fallback, 3 unreadable | PROP_SAVED |
| Filter types | 0 FILTER_DEST_HINT, 1 FILTER_CHANNEL_ID, 2 FILTER_PKT_TYPE | PROP_HOST_RX_FILTERS |
| Charge states | 0 discharging, 1 charging, 2 charged | PROP_BATTERY |
| Alert states | 0 ALERT_NONE, 1 ALERT_LOCATE | PROP_ALERT |
| Fix quality | 0 none, 1 two-dimensional, 2 three-dimensional | PROP_GNSS_FIX |
| Transmit flags | bit 0 TX_FLAG_NOCCA, bit 1 TX_FLAG_NODUTY | STR_PHY_RAW |
| Receive flags | bit 0 RX_FLAG_BUFFERED, bit 1 RX_FLAG_ACKED, bit 2 RX_FLAG_SELF_TX | Extended Recv Metadata |
| Session reset reasons | 0 attached, 1 CMD_RST, 2 CMD_RESTORE | CMD_SESSION_RESET |
| Wi-Fi security modes | 0 WIFI_SEC_OPEN, 1 WIFI_SEC_OWE, 2 WIFI_SEC_WPA2, 3 WIFI_SEC_WPA3, 4 WIFI_SEC_WPA, 5 WIFI_SEC_WEP, 6 WIFI_SEC_WPA2_ENT, 7 WIFI_SEC_WPA3_ENT, 8 WIFI_SEC_WPA3_ENT_192 | PROP_WIFI_NETWORKS |
| Wi-Fi link states | 0 WIFI_LINK_DOWN, 1 WIFI_LINK_CONNECTING, 2 WIFI_LINK_UP | PROP_WIFI_LINK |
| Wi-Fi link reasons | 0 WIFI_REASON_NONE, 1 WIFI_REASON_NOT_FOUND, 2 WIFI_REASON_AUTH, 3 WIFI_REASON_REJECTED, 4 WIFI_REASON_LOST, 5 WIFI_REASON_OTHER | PROP_WIFI_LINK |
| Access point states | 0 WIFI_AP_DOWN, 1 WIFI_AP_UP | PROP_WIFI_AP_STATE |
| IP family states | 0 IP_DISABLED, 1 IP_NO_LINK, 2 IP_WAITING, 3 IP_READY, 4 IP_CONFLICT | PROP_IPV4_STATE |
| IP configuration methods | 0 IP_METHOD_DISABLED, 1 IP_METHOD_AUTO, 2 IP_METHOD_STATIC | PROP_IPV4_CONFIG |
| IPv6 address item kinds | 0 IPV6_ADDRESS, 1 IPV6_ROUTER | PROP_IPV6_ADDRESSES |