From 7c9a5f64963b2ebf9811fae300c238fb17463039 Mon Sep 17 00:00:00 2001 From: Jakob Olsson <Jakob Olsson> Date: Fri, 13 Dec 2019 15:11:13 +0100 Subject: [PATCH] add example markdown files --- md/wifi.ap.md | 3625 ++++++++++++++++++++++++++++++++++++++++++++++ md/wifi.md | 507 +++++++ md/wifi.radio.md | 1136 +++++++++++++++ md/wifi.wps.md | 707 +++++++++ 4 files changed, 5975 insertions(+) create mode 100644 md/wifi.ap.md create mode 100644 md/wifi.md create mode 100644 md/wifi.radio.md create mode 100644 md/wifi.wps.md diff --git a/md/wifi.ap.md b/md/wifi.ap.md new file mode 100644 index 0000000..a6af80d --- /dev/null +++ b/md/wifi.ap.md @@ -0,0 +1,3625 @@ +# wifi.ap.<name> Schema + +``` +https://www.iopsys.eu/wifi.ap.json +``` + +| Custom Properties | Additional Properties | +| ----------------- | --------------------- | +| Forbidden | Forbidden | + +# wifi.ap.<name> + +| List of Methods | +| ----------------------------------------- | +| [add_neighbor](#add_neighbor) | Method | wifi.ap.<name> (this schema) | +| [add_vendor_ie](#add_vendor_ie) | Method | wifi.ap.<name> (this schema) | +| [assoclist](#assoclist) | Method | wifi.ap.<name> (this schema) | +| [del_neighbor](#del_neighbor) | Method | wifi.ap.<name> (this schema) | +| [del_vendor_ie](#del_vendor_ie) | Method | wifi.ap.<name> (this schema) | +| [disconnect](#disconnect) | Method | wifi.ap.<name> (this schema) | +| [list_neighbor](#list_neighbor) | Method | wifi.ap.<name> (this schema) | +| [monitor](#monitor) | Method | wifi.ap.<name> (this schema) | +| [request_neighbor](#request_neighbor) | Method | wifi.ap.<name> (this schema) | +| [request_transition](#request_transition) | Method | wifi.ap.<name> (this schema) | +| [stations](#stations) | Method | wifi.ap.<name> (this schema) | +| [stats](#stats) | Method | wifi.ap.<name> (this schema) | +| [status](#status) | Method | wifi.ap.<name> (this schema) | + +## add_neighbor + +`add_neighbor` + +- type: `Method` + +### add_neighbor Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| ------------ | ------- | ------------ | +| `bssid` | string | **Required** | +| `bssid_info` | string | **Required** | +| `channel` | oneOf | **Required** | +| `phy` | integer | **Required** | +| `reg` | integer | **Required** | + +#### bssid + +##### MAC Address + +`bssid` + +- is **required** +- type: reference + +##### bssid Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### bssid_info + +`bssid_info` + +- is **required** +- type: `string` + +##### bssid_info Type + +`string` + +#### channel + +`channel` + +- is **required** +- type: complex + +##### channel Type + +**One** of the following _conditions_ need to be fulfilled. + +#### Condition 1 + +`integer` + +- minimum value: `1` +- maximum value: `14` + +#### Condition 2 + +`integer` + +- minimum value: `32` +- maximum value: `200` + +#### phy + +`phy` + +- is **required** +- type: `integer` + +##### phy Type + +`integer` + +- minimum value: `0` + +#### reg + +`reg` + +- is **required** +- type: `integer` + +##### reg Type + +`integer` + +- minimum value: `0` + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> add_neighbor {"bssid":"bD:cC:f5:f2:50:B6","channel":9,"bssid_info":"irure consequat","reg":68830384,"phy":9016275} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": [ + "<SID>", + "wifi.ap.<name>", + "add_neighbor", + { "bssid": "bD:cC:f5:f2:50:B6", "channel": 9, "bssid_info": "irure consequat", "reg": 68830384, "phy": 9016275 } + ] +} +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## add_vendor_ie + +`add_vendor_ie` + +- type: `Method` + +### add_vendor_ie Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------- | ------------ | +| `data` | string | **Required** | +| `mgmt` | integer | **Required** | +| `oui` | string | **Required** | + +#### data + +##### Hex String + +`data` + +- is **required** +- type: reference + +##### data Type + +`string` + +All instances must conform to this regular expression (test examples +[here](https://regexr.com/?expression=%5E%5B0-9a-fA-F%5D%2B)): + +```regex +^[0-9a-fA-F]+ +``` + +#### mgmt + +`mgmt` + +- is **required** +- type: `integer` + +##### mgmt Type + +`integer` + +#### oui + +##### Three byte oui + +`oui` + +- is **required** +- type: reference + +##### oui Type + +`string` + +- minimum length: 9 characters +- maximum length: 9 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D)%7B3%7D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]){3}$ +``` + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> add_vendor_ie {"mgmt":-80241492,"oui":"c81FCdC7E","data":"b3F4fD3EE"} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": [ + "<SID>", + "wifi.ap.<name>", + "add_vendor_ie", + { "mgmt": -80241492, "oui": "c81FCdC7E", "data": "b3F4fD3EE" } + ] +} +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## assoclist + +`assoclist` + +- type: `Method` + +### assoclist Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> assoclist {} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.ap.<name>", "assoclist", {}] } +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| ----------- | ----- | ------------ | +| `assoclist` | array | **Required** | + +#### assoclist + +`assoclist` + +- is **required** +- type: `object[]` + +##### assoclist Type + +Array type: `object[]` + +All items must be of the type: `object` with following properties: + +| Property | Type | Required | +| --------- | ------ | ------------ | +| `macaddr` | string | **Required** | +| `wdev` | string | **Required** | + +#### macaddr + +##### MAC Address + +`macaddr` + +- is **required** +- type: reference + +##### macaddr Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### wdev + +##### Interface + +`wdev` + +- is **required** +- type: reference + +##### wdev Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +### Output Example + +```json +{ + "assoclist": [ + { "wdev": "sint non co", "macaddr": "Aa:C0:a5:4A:A6:Ff" }, + { "wdev": "quis labor", "macaddr": "24:0D:F2:6C:E1:e4" }, + { "wdev": "Excep", "macaddr": "9e:dB:37:82:0A:C9" }, + { "wdev": "d", "macaddr": "1d:bE:DF:c3:bD:e9" } + ] +} +``` + +## del_neighbor + +`del_neighbor` + +- type: `Method` + +### del_neighbor Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | ------------ | +| `bssid` | string | **Required** | + +#### bssid + +##### MAC Address + +`bssid` + +- is **required** +- type: reference + +##### bssid Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> del_neighbor {"bssid":"cD:fb:70:C8:6d:e7"} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": ["<SID>", "wifi.ap.<name>", "del_neighbor", { "bssid": "cD:fb:70:C8:6d:e7" }] +} +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## del_vendor_ie + +`del_vendor_ie` + +- type: `Method` + +### del_vendor_ie Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `intput` | object | Optional | +| `output` | object | Optional | + +#### intput + +`intput` + +- is optional +- type: `object` + +##### intput Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------- | ------------ | +| `data` | string | **Required** | +| `mgmt` | integer | **Required** | +| `oui` | string | **Required** | + +#### data + +##### Hex String + +`data` + +- is **required** +- type: reference + +##### data Type + +`string` + +All instances must conform to this regular expression (test examples +[here](https://regexr.com/?expression=%5E%5B0-9a-fA-F%5D%2B)): + +```regex +^[0-9a-fA-F]+ +``` + +#### mgmt + +`mgmt` + +- is **required** +- type: `integer` + +##### mgmt Type + +`integer` + +#### oui + +##### Three byte oui + +`oui` + +- is **required** +- type: reference + +##### oui Type + +`string` + +- minimum length: 9 characters +- maximum length: 9 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D)%7B3%7D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]){3}$ +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## disconnect + +`disconnect` + +- type: `Method` + +### disconnect Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | ------------ | +| `sta` | string | **Required** | + +#### sta + +##### MAC Address + +`sta` + +- is **required** +- type: reference + +##### sta Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> disconnect {"sta":"6D:F7:F4:87:CC:1c"} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": ["<SID>", "wifi.ap.<name>", "disconnect", { "sta": "6D:F7:F4:87:CC:1c" }] +} +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## list_neighbor + +`list_neighbor` + +- type: `Method` + +### list_neighbor Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `client` | string | Optional | +| `ssid` | string | Optional | + +#### client + +##### MAC Address + +`client` + +- is optional +- type: reference + +##### client Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### ssid + +##### SSID + +`ssid` + +- is optional +- type: reference + +##### ssid Type + +`string` + +- maximum length: 32 characters + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> list_neighbor {"ssid":"cillum nostrud","client":"65:D1:Eb:c7:9B:DB"} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": ["<SID>", "wifi.ap.<name>", "list_neighbor", { "ssid": "cillum nostrud", "client": "65:D1:Eb:c7:9B:DB" }] +} +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| ----------- | ----- | ------------ | +| `neighbors` | array | **Required** | + +#### neighbors + +`neighbors` + +- is **required** +- type: `object[]` + +##### neighbors Type + +Array type: `object[]` + +All items must be of the type: `object` with following properties: + +| Property | Type | Required | +| ------------ | ------- | ------------ | +| `bss_info` | integer | **Required** | +| `bssid` | string | **Required** | +| `channel` | oneOf | **Required** | +| `phy` | integer | **Required** | +| `regulatory` | integer | **Required** | + +#### bss_info + +`bss_info` + +- is **required** +- type: `integer` + +##### bss_info Type + +`integer` + +- minimum value: `0` + +#### bssid + +##### MAC Address + +`bssid` + +- is **required** +- type: reference + +##### bssid Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### channel + +`channel` + +- is **required** +- type: complex + +##### channel Type + +**One** of the following _conditions_ need to be fulfilled. + +#### Condition 1 + +`integer` + +- minimum value: `1` +- maximum value: `14` + +#### Condition 2 + +`integer` + +- minimum value: `32` +- maximum value: `200` + +#### phy + +`phy` + +- is **required** +- type: `integer` + +##### phy Type + +`integer` + +- minimum value: `0` +- maximum value: `9` + +#### regulatory + +`regulatory` + +- is **required** +- type: `integer` + +##### regulatory Type + +`integer` + +- minimum value: `0` + +### Output Example + +```json +{ + "neighbors": [ + { "bssid": "E1:14:D7:Ad:cF:00", "bss_info": 43348190, "regulatory": 83594411, "channel": 2, "phy": 1 }, + { "bssid": "1C:71:8C:E6:2B:AA", "bss_info": 95700545, "regulatory": 39414802, "channel": 4, "phy": 6 }, + { "bssid": "21:DC:20:F2:6a:4d", "bss_info": 26245316, "regulatory": 15776497, "channel": 7, "phy": 2 }, + { "bssid": "07:4A:A9:dA:82:1d", "bss_info": 36544340, "regulatory": 68524423, "channel": 8, "phy": 8 } + ] +} +``` + +## monitor + +`monitor` + +- type: `Method` + +### monitor Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `intput` | object | Optional | +| `output` | object | Optional | + +#### intput + +`intput` + +- is optional +- type: `object` + +##### intput Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------- | ------------ | +| `get` | integer | Optional | +| `sta` | string | **Required** | + +#### get + +`get` + +- is optional +- type: `integer` + +##### get Type + +`integer` + +#### sta + +##### MAC Address + +`sta` + +- is **required** +- type: reference + +##### sta Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## request_neighbor + +`request_neighbor` + +- type: `Method` + +### request_neighbor Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | ------------ | +| `client` | string | **Required** | +| `ssid` | string | Optional | + +#### client + +##### MAC Address + +`client` + +- is **required** +- type: reference + +##### client Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### ssid + +##### SSID + +`ssid` + +- is optional +- type: reference + +##### ssid Type + +`string` + +- maximum length: 32 characters + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> request_neighbor {"client":"cF:3c:a1:Ce:98:76","ssid":"deserunt dolore proi"} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": [ + "<SID>", + "wifi.ap.<name>", + "request_neighbor", + { "client": "cF:3c:a1:Ce:98:76", "ssid": "deserunt dolore proi" } + ] +} +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## request_transition + +`request_transition` + +- type: `Method` + +### request_transition Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| --------- | ------- | ------------ | +| `bssid` | array | **Required** | +| `client` | string | **Required** | +| `timeout` | integer | Optional | + +#### bssid + +`bssid` + +- is **required** +- type: reference + +##### bssid Type + +Array type: reference + +All items must be of the type: `string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### client + +##### MAC Address + +`client` + +- is **required** +- type: reference + +##### client Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### timeout + +`timeout` + +- is optional +- type: `integer` + +##### timeout Type + +`integer` + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> request_transition {"client":"9F:4C:Ec:38:c7:bF","bssid":["85:24:D4:b4:1b:De","F7:B7:C9:28:Cd:8A","e1:da:4e:F5:6e:4e"],"timeout":-47489435} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": [ + "<SID>", + "wifi.ap.<name>", + "request_transition", + { + "client": "9F:4C:Ec:38:c7:bF", + "bssid": ["85:24:D4:b4:1b:De", "F7:B7:C9:28:Cd:8A", "e1:da:4e:F5:6e:4e"], + "timeout": -47489435 + } + ] +} +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## stations + +`stations` + +- type: `Method` + +### stations Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `sta` | string | Optional | + +#### sta + +##### MAC Address + +`sta` + +- is optional +- type: reference + +##### sta Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> stations {"sta":"EB:53:5B:AC:f3:Ec"} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": ["<SID>", "wifi.ap.<name>", "stations", { "sta": "EB:53:5B:AC:f3:Ec" }] +} +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| ---------- | ----- | ------------ | +| `stations` | array | **Required** | + +#### stations + +`stations` + +- is **required** +- type: `object[]` + +##### stations Type + +Array type: `object[]` + +All items must be of the type: `object` with following properties: + +| Property | Type | Required | +| ------------------ | ------- | ------------ | +| `airtime` | integer | **Required** | +| `capabilities` | object | **Required** | +| `frequency` | string | **Required** | +| `idle` | integer | **Required** | +| `in_network` | integer | **Required** | +| `macaddr` | string | **Required** | +| `max_rate` | integer | **Required** | +| `rssi` | integer | **Required** | +| `rssi_per_antenna` | array | **Required** | +| `rx_airtime` | integer | **Required** | +| `snr` | integer | **Required** | +| `stats` | object | **Required** | +| `status` | object | **Required** | +| `tx_airtime` | integer | **Required** | +| `wdev` | string | **Required** | + +#### airtime + +`airtime` + +- is **required** +- type: `integer` + +##### airtime Type + +`integer` + +- minimum value: `0` +- maximum value: `100` + +#### capabilities + +`capabilities` + +- is **required** +- type: `object` + +##### capabilities Type + +`object` with following properties: + +| Property | Type | Required | +| ----------------------- | ------- | ------------ | +| `2040coex` | boolean | **Required** | +| `apsd` | boolean | **Required** | +| `dot11ac` | boolean | **Required** | +| `dot11ac_160` | boolean | **Required** | +| `dot11ac_8080` | boolean | **Required** | +| `dot11ac_mpdu_max` | integer | **Required** | +| `dot11ac_mu_beamformee` | boolean | **Required** | +| `dot11ac_mu_beamformer` | boolean | **Required** | +| `dot11ac_rx_ldpc` | boolean | **Required** | +| `dot11ac_rx_stbc_1ss` | boolean | **Required** | +| `dot11ac_rx_stbc_2ss` | boolean | **Required** | +| `dot11ac_rx_stbc_3ss` | boolean | **Required** | +| `dot11ac_rx_stbc_4ss` | boolean | **Required** | +| `dot11ac_sgi160` | boolean | **Required** | +| `dot11ac_sgi80` | boolean | **Required** | +| `dot11ac_su_beamformee` | boolean | **Required** | +| `dot11ac_su_beamformer` | boolean | **Required** | +| `dot11ac_tx_stbc` | boolean | **Required** | +| `dot11h` | boolean | **Required** | +| `dot11k` | boolean | **Required** | +| `dot11k_bcn_active` | boolean | **Required** | +| `dot11k_bcn_passive` | boolean | **Required** | +| `dot11k_bcn_table` | boolean | **Required** | +| `dot11k_link_meas` | boolean | **Required** | +| `dot11k_nbr_report` | boolean | **Required** | +| `dot11k_rcpi` | boolean | **Required** | +| `dot11k_rsni` | boolean | **Required** | +| `dot11n` | boolean | **Required** | +| `dot11n_40` | boolean | **Required** | +| `dot11n_ldpc` | boolean | **Required** | +| `dot11n_ps` | boolean | **Required** | +| `dot11n_rx_stbc` | boolean | **Required** | +| `dot11n_sgi20` | boolean | **Required** | +| `dot11n_sgi40` | boolean | **Required** | +| `dot11n_tx_stbc` | boolean | **Required** | +| `dot11v_btm` | boolean | **Required** | +| `proxy_arp` | boolean | **Required** | +| `psmp` | boolean | **Required** | +| `shortslot` | boolean | **Required** | +| `wmm` | boolean | **Required** | + +#### 2040coex + +`2040coex` + +- is **required** +- type: `boolean` + +##### 2040coex Type + +`boolean` + +#### apsd + +`apsd` + +- is **required** +- type: `boolean` + +##### apsd Type + +`boolean` + +#### dot11ac + +`dot11ac` + +- is **required** +- type: `boolean` + +##### dot11ac Type + +`boolean` + +#### dot11ac_160 + +`dot11ac_160` + +- is **required** +- type: `boolean` + +##### dot11ac_160 Type + +`boolean` + +#### dot11ac_8080 + +`dot11ac_8080` + +- is **required** +- type: `boolean` + +##### dot11ac_8080 Type + +`boolean` + +#### dot11ac_mpdu_max + +`dot11ac_mpdu_max` + +- is **required** +- type: `integer` + +##### dot11ac_mpdu_max Type + +`integer` + +- minimum value: `0` +- maximum value: `65535` + +#### dot11ac_mu_beamformee + +`dot11ac_mu_beamformee` + +- is **required** +- type: `boolean` + +##### dot11ac_mu_beamformee Type + +`boolean` + +#### dot11ac_mu_beamformer + +`dot11ac_mu_beamformer` + +- is **required** +- type: `boolean` + +##### dot11ac_mu_beamformer Type + +`boolean` + +#### dot11ac_rx_ldpc + +`dot11ac_rx_ldpc` + +- is **required** +- type: `boolean` + +##### dot11ac_rx_ldpc Type + +`boolean` + +#### dot11ac_rx_stbc_1ss + +`dot11ac_rx_stbc_1ss` + +- is **required** +- type: `boolean` + +##### dot11ac_rx_stbc_1ss Type + +`boolean` + +#### dot11ac_rx_stbc_2ss + +`dot11ac_rx_stbc_2ss` + +- is **required** +- type: `boolean` + +##### dot11ac_rx_stbc_2ss Type + +`boolean` + +#### dot11ac_rx_stbc_3ss + +`dot11ac_rx_stbc_3ss` + +- is **required** +- type: `boolean` + +##### dot11ac_rx_stbc_3ss Type + +`boolean` + +#### dot11ac_rx_stbc_4ss + +`dot11ac_rx_stbc_4ss` + +- is **required** +- type: `boolean` + +##### dot11ac_rx_stbc_4ss Type + +`boolean` + +#### dot11ac_sgi160 + +`dot11ac_sgi160` + +- is **required** +- type: `boolean` + +##### dot11ac_sgi160 Type + +`boolean` + +#### dot11ac_sgi80 + +`dot11ac_sgi80` + +- is **required** +- type: `boolean` + +##### dot11ac_sgi80 Type + +`boolean` + +#### dot11ac_su_beamformee + +`dot11ac_su_beamformee` + +- is **required** +- type: `boolean` + +##### dot11ac_su_beamformee Type + +`boolean` + +#### dot11ac_su_beamformer + +`dot11ac_su_beamformer` + +- is **required** +- type: `boolean` + +##### dot11ac_su_beamformer Type + +`boolean` + +#### dot11ac_tx_stbc + +`dot11ac_tx_stbc` + +- is **required** +- type: `boolean` + +##### dot11ac_tx_stbc Type + +`boolean` + +#### dot11h + +`dot11h` + +- is **required** +- type: `boolean` + +##### dot11h Type + +`boolean` + +#### dot11k + +`dot11k` + +- is **required** +- type: `boolean` + +##### dot11k Type + +`boolean` + +#### dot11k_bcn_active + +`dot11k_bcn_active` + +- is **required** +- type: `boolean` + +##### dot11k_bcn_active Type + +`boolean` + +#### dot11k_bcn_passive + +`dot11k_bcn_passive` + +- is **required** +- type: `boolean` + +##### dot11k_bcn_passive Type + +`boolean` + +#### dot11k_bcn_table + +`dot11k_bcn_table` + +- is **required** +- type: `boolean` + +##### dot11k_bcn_table Type + +`boolean` + +#### dot11k_link_meas + +`dot11k_link_meas` + +- is **required** +- type: `boolean` + +##### dot11k_link_meas Type + +`boolean` + +#### dot11k_nbr_report + +`dot11k_nbr_report` + +- is **required** +- type: `boolean` + +##### dot11k_nbr_report Type + +`boolean` + +#### dot11k_rcpi + +`dot11k_rcpi` + +- is **required** +- type: `boolean` + +##### dot11k_rcpi Type + +`boolean` + +#### dot11k_rsni + +`dot11k_rsni` + +- is **required** +- type: `boolean` + +##### dot11k_rsni Type + +`boolean` + +#### dot11n + +`dot11n` + +- is **required** +- type: `boolean` + +##### dot11n Type + +`boolean` + +#### dot11n_40 + +`dot11n_40` + +- is **required** +- type: `boolean` + +##### dot11n_40 Type + +`boolean` + +#### dot11n_ldpc + +`dot11n_ldpc` + +- is **required** +- type: `boolean` + +##### dot11n_ldpc Type + +`boolean` + +#### dot11n_ps + +`dot11n_ps` + +- is **required** +- type: `boolean` + +##### dot11n_ps Type + +`boolean` + +#### dot11n_rx_stbc + +`dot11n_rx_stbc` + +- is **required** +- type: `boolean` + +##### dot11n_rx_stbc Type + +`boolean` + +#### dot11n_sgi20 + +`dot11n_sgi20` + +- is **required** +- type: `boolean` + +##### dot11n_sgi20 Type + +`boolean` + +#### dot11n_sgi40 + +`dot11n_sgi40` + +- is **required** +- type: `boolean` + +##### dot11n_sgi40 Type + +`boolean` + +#### dot11n_tx_stbc + +`dot11n_tx_stbc` + +- is **required** +- type: `boolean` + +##### dot11n_tx_stbc Type + +`boolean` + +#### dot11v_btm + +`dot11v_btm` + +- is **required** +- type: `boolean` + +##### dot11v_btm Type + +`boolean` + +#### proxy_arp + +`proxy_arp` + +- is **required** +- type: `boolean` + +##### proxy_arp Type + +`boolean` + +#### psmp + +`psmp` + +- is **required** +- type: `boolean` + +##### psmp Type + +`boolean` + +#### shortslot + +`shortslot` + +- is **required** +- type: `boolean` + +##### shortslot Type + +`boolean` + +#### wmm + +`wmm` + +- is **required** +- type: `boolean` + +##### wmm Type + +`boolean` + +#### frequency + +##### WiFi Band + +`frequency` + +- is **required** +- type: reference + +##### frequency Type + +`string` + +The value of this property **must** be equal to one of the [known values below](#stations-known-values). + +##### frequency Known Values + +| Value | +| ------ | +| 2.4GHz | +| 5GHz | + +#### idle + +`idle` + +- is **required** +- type: `integer` + +##### idle Type + +`integer` + +- minimum value: `0` + +#### in_network + +`in_network` + +- is **required** +- type: `integer` + +##### in_network Type + +`integer` + +- minimum value: `0` + +#### macaddr + +##### MAC Address + +`macaddr` + +- is **required** +- type: reference + +##### macaddr Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### max_rate + +`max_rate` + +- is **required** +- type: `integer` + +##### max_rate Type + +`integer` + +- minimum value: `0` + +#### rssi + +##### RSSI + +`rssi` + +- is **required** +- type: reference + +##### rssi Type + +`integer` + +- minimum value: `-128` +- maximum value: `0` + +#### rssi_per_antenna + +`rssi_per_antenna` + +- is **required** +- type: reference + +##### rssi_per_antenna Type + +Array type: reference + +All items must be of the type: `integer` + +- minimum value: `-128` +- maximum value: `0` + +#### rx_airtime + +`rx_airtime` + +- is **required** +- type: `integer` + +##### rx_airtime Type + +`integer` + +- minimum value: `0` +- maximum value: `100` + +#### snr + +`snr` + +- is **required** +- type: `integer` + +##### snr Type + +`integer` + +- minimum value: `0` +- maximum value: `100` + +#### stats + +`stats` + +- is **required** +- type: `object` + +##### stats Type + +`object` with following properties: + +| Property | Type | Required | +| --------------------- | ------- | ------------ | +| `rate_of_last_rx_pkt` | integer | **Required** | +| `rate_of_last_tx_pkt` | integer | **Required** | +| `rx_data_bytes` | integer | **Required** | +| `rx_data_pkts` | integer | **Required** | +| `rx_failures` | integer | **Required** | +| `tx_failures` | integer | **Required** | +| `tx_pkts_retries` | integer | **Required** | +| `tx_total_bytes` | integer | **Required** | +| `tx_total_pkts` | integer | **Required** | + +#### rate_of_last_rx_pkt + +`rate_of_last_rx_pkt` + +- is **required** +- type: reference + +##### rate_of_last_rx_pkt Type + +`integer` + +- minimum value: `0` + +#### rate_of_last_tx_pkt + +`rate_of_last_tx_pkt` + +- is **required** +- type: reference + +##### rate_of_last_tx_pkt Type + +`integer` + +- minimum value: `0` + +#### rx_data_bytes + +`rx_data_bytes` + +- is **required** +- type: reference + +##### rx_data_bytes Type + +`integer` + +- minimum value: `0` + +#### rx_data_pkts + +`rx_data_pkts` + +- is **required** +- type: reference + +##### rx_data_pkts Type + +`integer` + +- minimum value: `0` + +#### rx_failures + +`rx_failures` + +- is **required** +- type: reference + +##### rx_failures Type + +`integer` + +- minimum value: `0` + +#### tx_failures + +`tx_failures` + +- is **required** +- type: reference + +##### tx_failures Type + +`integer` + +- minimum value: `0` + +#### tx_pkts_retries + +`tx_pkts_retries` + +- is **required** +- type: reference + +##### tx_pkts_retries Type + +`integer` + +- minimum value: `0` + +#### tx_total_bytes + +`tx_total_bytes` + +- is **required** +- type: reference + +##### tx_total_bytes Type + +`integer` + +- minimum value: `0` + +#### tx_total_pkts + +`tx_total_pkts` + +- is **required** +- type: reference + +##### tx_total_pkts Type + +`integer` + +- minimum value: `0` + +#### status + +`status` + +- is **required** +- type: `object` + +##### status Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------- | ------------ | +| `ps` | boolean | **Required** | +| `wmm` | boolean | **Required** | + +#### ps + +`ps` + +- is **required** +- type: `boolean` + +##### ps Type + +`boolean` + +#### wmm + +`wmm` + +- is **required** +- type: `boolean` + +##### wmm Type + +`boolean` + +#### tx_airtime + +`tx_airtime` + +- is **required** +- type: `integer` + +##### tx_airtime Type + +`integer` + +- minimum value: `0` +- maximum value: `100` + +#### wdev + +##### Interface + +`wdev` + +- is **required** +- type: reference + +##### wdev Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +### Output Example + +```json +{ + "stations": [ + { + "macaddr": "6a:61:41:0E:5d:42", + "wdev": "ali", + "frequency": "2.4GHz", + "rssi": -127, + "snr": 42, + "idle": 8221623, + "in_network": 94294966, + "tx_airtime": 33, + "rx_airtime": 27, + "airtime": 80, + "max_rate": 43275519, + "status": { "wmm": false, "ps": false }, + "capabilities": { + "wmm": true, + "apsd": true, + "shortslot": true, + "dot11h": true, + "dot11k": true, + "2040coex": false, + "psmp": true, + "proxy_arp": false, + "dot11v_btm": true, + "dot11n": false, + "dot11n_ldpc": true, + "dot11n_40": false, + "dot11n_ps": true, + "dot11n_sgi20": false, + "dot11n_sgi40": true, + "dot11n_tx_stbc": false, + "dot11n_rx_stbc": false, + "dot11ac": false, + "dot11ac_160": false, + "dot11ac_8080": true, + "dot11ac_mpdu_max": 9157, + "dot11ac_sgi80": true, + "dot11ac_sgi160": true, + "dot11ac_rx_ldpc": false, + "dot11ac_tx_stbc": true, + "dot11ac_rx_stbc_1ss": false, + "dot11ac_rx_stbc_2ss": false, + "dot11ac_rx_stbc_3ss": false, + "dot11ac_rx_stbc_4ss": true, + "dot11ac_su_beamformer": false, + "dot11ac_su_beamformee": false, + "dot11ac_mu_beamformer": true, + "dot11ac_mu_beamformee": false, + "dot11k_link_meas": false, + "dot11k_nbr_report": true, + "dot11k_bcn_passive": false, + "dot11k_bcn_active": true, + "dot11k_bcn_table": false, + "dot11k_rcpi": false, + "dot11k_rsni": false + }, + "stats": { + "tx_total_pkts": 5284814, + "tx_total_bytes": 2056846, + "tx_failures": 77153183, + "tx_pkts_retries": 79638711, + "rx_data_pkts": 38026510, + "rx_data_bytes": 24100606, + "rx_failures": 96216085, + "rate_of_last_tx_pkt": 26022244, + "rate_of_last_rx_pkt": 74971605 + }, + "rssi_per_antenna": [-32, -126, -112, -35] + }, + { + "macaddr": "A8:43:dE:66:D9:e2", + "wdev": "quis lab", + "frequency": "2.4GHz", + "rssi": -25, + "snr": 27, + "idle": 96934722, + "in_network": 78648251, + "tx_airtime": 33, + "rx_airtime": 54, + "airtime": 36, + "max_rate": 53297877, + "status": { "wmm": true, "ps": false }, + "capabilities": { + "wmm": true, + "apsd": false, + "shortslot": false, + "dot11h": false, + "dot11k": false, + "2040coex": true, + "psmp": true, + "proxy_arp": false, + "dot11v_btm": true, + "dot11n": true, + "dot11n_ldpc": true, + "dot11n_40": false, + "dot11n_ps": true, + "dot11n_sgi20": false, + "dot11n_sgi40": false, + "dot11n_tx_stbc": true, + "dot11n_rx_stbc": false, + "dot11ac": false, + "dot11ac_160": false, + "dot11ac_8080": true, + "dot11ac_mpdu_max": 62196, + "dot11ac_sgi80": false, + "dot11ac_sgi160": true, + "dot11ac_rx_ldpc": true, + "dot11ac_tx_stbc": false, + "dot11ac_rx_stbc_1ss": false, + "dot11ac_rx_stbc_2ss": false, + "dot11ac_rx_stbc_3ss": true, + "dot11ac_rx_stbc_4ss": true, + "dot11ac_su_beamformer": true, + "dot11ac_su_beamformee": false, + "dot11ac_mu_beamformer": false, + "dot11ac_mu_beamformee": false, + "dot11k_link_meas": false, + "dot11k_nbr_report": false, + "dot11k_bcn_passive": false, + "dot11k_bcn_active": true, + "dot11k_bcn_table": false, + "dot11k_rcpi": true, + "dot11k_rsni": true + }, + "stats": { + "tx_total_pkts": 58951132, + "tx_total_bytes": 45335778, + "tx_failures": 32718312, + "tx_pkts_retries": 21908695, + "rx_data_pkts": 95630903, + "rx_data_bytes": 63584440, + "rx_failures": 39270548, + "rate_of_last_tx_pkt": 44056607, + "rate_of_last_rx_pkt": 84623863 + }, + "rssi_per_antenna": [0, -30] + }, + { + "macaddr": "9E:6f:c6:65:Ff:b6", + "wdev": "aliqua nisi ea", + "frequency": "5GHz", + "rssi": -14, + "snr": 27, + "idle": 72967745, + "in_network": 67335770, + "tx_airtime": 34, + "rx_airtime": 18, + "airtime": 95, + "max_rate": 94240850, + "status": { "wmm": true, "ps": false }, + "capabilities": { + "wmm": true, + "apsd": true, + "shortslot": false, + "dot11h": false, + "dot11k": true, + "2040coex": true, + "psmp": false, + "proxy_arp": false, + "dot11v_btm": false, + "dot11n": true, + "dot11n_ldpc": true, + "dot11n_40": false, + "dot11n_ps": false, + "dot11n_sgi20": false, + "dot11n_sgi40": false, + "dot11n_tx_stbc": false, + "dot11n_rx_stbc": true, + "dot11ac": false, + "dot11ac_160": true, + "dot11ac_8080": false, + "dot11ac_mpdu_max": 37156, + "dot11ac_sgi80": true, + "dot11ac_sgi160": false, + "dot11ac_rx_ldpc": true, + "dot11ac_tx_stbc": false, + "dot11ac_rx_stbc_1ss": false, + "dot11ac_rx_stbc_2ss": true, + "dot11ac_rx_stbc_3ss": true, + "dot11ac_rx_stbc_4ss": true, + "dot11ac_su_beamformer": true, + "dot11ac_su_beamformee": true, + "dot11ac_mu_beamformer": false, + "dot11ac_mu_beamformee": true, + "dot11k_link_meas": true, + "dot11k_nbr_report": false, + "dot11k_bcn_passive": true, + "dot11k_bcn_active": false, + "dot11k_bcn_table": true, + "dot11k_rcpi": false, + "dot11k_rsni": true + }, + "stats": { + "tx_total_pkts": 87872896, + "tx_total_bytes": 86239351, + "tx_failures": 13879796, + "tx_pkts_retries": 80156196, + "rx_data_pkts": 59158671, + "rx_data_bytes": 90448780, + "rx_failures": 12054389, + "rate_of_last_tx_pkt": 9580770, + "rate_of_last_rx_pkt": 91617793 + }, + "rssi_per_antenna": [-53, -15, -61] + }, + { + "macaddr": "93:cb:EF:9A:d5:cF", + "wdev": "cupidat", + "frequency": "2.4GHz", + "rssi": -105, + "snr": 95, + "idle": 26865809, + "in_network": 53124163, + "tx_airtime": 97, + "rx_airtime": 87, + "airtime": 59, + "max_rate": 68743221, + "status": { "wmm": false, "ps": false }, + "capabilities": { + "wmm": true, + "apsd": false, + "shortslot": true, + "dot11h": false, + "dot11k": false, + "2040coex": true, + "psmp": true, + "proxy_arp": false, + "dot11v_btm": true, + "dot11n": true, + "dot11n_ldpc": true, + "dot11n_40": false, + "dot11n_ps": false, + "dot11n_sgi20": true, + "dot11n_sgi40": false, + "dot11n_tx_stbc": true, + "dot11n_rx_stbc": false, + "dot11ac": false, + "dot11ac_160": true, + "dot11ac_8080": false, + "dot11ac_mpdu_max": 11909, + "dot11ac_sgi80": false, + "dot11ac_sgi160": true, + "dot11ac_rx_ldpc": false, + "dot11ac_tx_stbc": true, + "dot11ac_rx_stbc_1ss": true, + "dot11ac_rx_stbc_2ss": false, + "dot11ac_rx_stbc_3ss": true, + "dot11ac_rx_stbc_4ss": false, + "dot11ac_su_beamformer": false, + "dot11ac_su_beamformee": false, + "dot11ac_mu_beamformer": false, + "dot11ac_mu_beamformee": false, + "dot11k_link_meas": true, + "dot11k_nbr_report": true, + "dot11k_bcn_passive": false, + "dot11k_bcn_active": true, + "dot11k_bcn_table": true, + "dot11k_rcpi": false, + "dot11k_rsni": true + }, + "stats": { + "tx_total_pkts": 71182120, + "tx_total_bytes": 851737, + "tx_failures": 11875842, + "tx_pkts_retries": 22238355, + "rx_data_pkts": 88315464, + "rx_data_bytes": 58118316, + "rx_failures": 79227469, + "rate_of_last_tx_pkt": 53945137, + "rate_of_last_rx_pkt": 54262743 + }, + "rssi_per_antenna": [-120] + }, + { + "macaddr": "5C:Bc:C4:a9:2f:c9", + "wdev": "Exc", + "frequency": "5GHz", + "rssi": -16, + "snr": 2, + "idle": 32141217, + "in_network": 20948251, + "tx_airtime": 15, + "rx_airtime": 47, + "airtime": 22, + "max_rate": 77766469, + "status": { "wmm": false, "ps": false }, + "capabilities": { + "wmm": true, + "apsd": false, + "shortslot": false, + "dot11h": false, + "dot11k": true, + "2040coex": false, + "psmp": true, + "proxy_arp": false, + "dot11v_btm": true, + "dot11n": true, + "dot11n_ldpc": false, + "dot11n_40": false, + "dot11n_ps": false, + "dot11n_sgi20": false, + "dot11n_sgi40": true, + "dot11n_tx_stbc": true, + "dot11n_rx_stbc": false, + "dot11ac": true, + "dot11ac_160": true, + "dot11ac_8080": false, + "dot11ac_mpdu_max": 39123, + "dot11ac_sgi80": false, + "dot11ac_sgi160": true, + "dot11ac_rx_ldpc": true, + "dot11ac_tx_stbc": true, + "dot11ac_rx_stbc_1ss": false, + "dot11ac_rx_stbc_2ss": true, + "dot11ac_rx_stbc_3ss": true, + "dot11ac_rx_stbc_4ss": true, + "dot11ac_su_beamformer": true, + "dot11ac_su_beamformee": true, + "dot11ac_mu_beamformer": false, + "dot11ac_mu_beamformee": true, + "dot11k_link_meas": true, + "dot11k_nbr_report": true, + "dot11k_bcn_passive": true, + "dot11k_bcn_active": false, + "dot11k_bcn_table": true, + "dot11k_rcpi": false, + "dot11k_rsni": true + }, + "stats": { + "tx_total_pkts": 12681971, + "tx_total_bytes": 9866073, + "tx_failures": 42715585, + "tx_pkts_retries": 83607104, + "rx_data_pkts": 13113353, + "rx_data_bytes": 7472360, + "rx_failures": 50770063, + "rate_of_last_tx_pkt": 95613787, + "rate_of_last_rx_pkt": 43058887 + }, + "rssi_per_antenna": [0, -53, -123] + } + ] +} +``` + +## stats + +`stats` + +- type: `Method` + +### stats Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> stats {} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.ap.<name>", "stats", {}] } +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| ------------------------- | ------- | ------------ | +| `ack_fail_packets` | integer | **Required** | +| `aggregate_packets` | integer | **Required** | +| `rx_broadcast_packets` | integer | **Required** | +| `rx_bytes` | integer | **Required** | +| `rx_dropped_packets` | integer | **Required** | +| `rx_error_packets` | integer | **Required** | +| `rx_multicast_packets` | integer | **Required** | +| `rx_packets` | integer | **Required** | +| `rx_unicast_packets` | integer | **Required** | +| `rx_unknown_packets` | integer | **Required** | +| `tx_broadcast_packets` | integer | **Required** | +| `tx_bytes` | integer | **Required** | +| `tx_dropped_packets` | integer | **Required** | +| `tx_error_packets` | integer | **Required** | +| `tx_multi_retry_packets` | integer | **Required** | +| `tx_multicast_packets` | integer | **Required** | +| `tx_packets` | integer | **Required** | +| `tx_retrans_fail_packets` | integer | **Required** | +| `tx_retrans_packets` | integer | **Required** | +| `tx_retry_packets` | integer | **Required** | +| `tx_unicast_packets` | integer | **Required** | + +#### ack_fail_packets + +`ack_fail_packets` + +- is **required** +- type: reference + +##### ack_fail_packets Type + +`integer` + +- minimum value: `0` + +#### aggregate_packets + +`aggregate_packets` + +- is **required** +- type: reference + +##### aggregate_packets Type + +`integer` + +- minimum value: `0` + +#### rx_broadcast_packets + +`rx_broadcast_packets` + +- is **required** +- type: reference + +##### rx_broadcast_packets Type + +`integer` + +- minimum value: `0` + +#### rx_bytes + +`rx_bytes` + +- is **required** +- type: reference + +##### rx_bytes Type + +`integer` + +- minimum value: `0` + +#### rx_dropped_packets + +`rx_dropped_packets` + +- is **required** +- type: reference + +##### rx_dropped_packets Type + +`integer` + +- minimum value: `0` + +#### rx_error_packets + +`rx_error_packets` + +- is **required** +- type: reference + +##### rx_error_packets Type + +`integer` + +- minimum value: `0` + +#### rx_multicast_packets + +`rx_multicast_packets` + +- is **required** +- type: reference + +##### rx_multicast_packets Type + +`integer` + +- minimum value: `0` + +#### rx_packets + +`rx_packets` + +- is **required** +- type: reference + +##### rx_packets Type + +`integer` + +- minimum value: `0` + +#### rx_unicast_packets + +`rx_unicast_packets` + +- is **required** +- type: reference + +##### rx_unicast_packets Type + +`integer` + +- minimum value: `0` + +#### rx_unknown_packets + +`rx_unknown_packets` + +- is **required** +- type: reference + +##### rx_unknown_packets Type + +`integer` + +- minimum value: `0` + +#### tx_broadcast_packets + +`tx_broadcast_packets` + +- is **required** +- type: reference + +##### tx_broadcast_packets Type + +`integer` + +- minimum value: `0` + +#### tx_bytes + +`tx_bytes` + +- is **required** +- type: reference + +##### tx_bytes Type + +`integer` + +- minimum value: `0` + +#### tx_dropped_packets + +`tx_dropped_packets` + +- is **required** +- type: reference + +##### tx_dropped_packets Type + +`integer` + +- minimum value: `0` + +#### tx_error_packets + +`tx_error_packets` + +- is **required** +- type: reference + +##### tx_error_packets Type + +`integer` + +- minimum value: `0` + +#### tx_multi_retry_packets + +`tx_multi_retry_packets` + +- is **required** +- type: reference + +##### tx_multi_retry_packets Type + +`integer` + +- minimum value: `0` + +#### tx_multicast_packets + +`tx_multicast_packets` + +- is **required** +- type: reference + +##### tx_multicast_packets Type + +`integer` + +- minimum value: `0` + +#### tx_packets + +`tx_packets` + +- is **required** +- type: reference + +##### tx_packets Type + +`integer` + +- minimum value: `0` + +#### tx_retrans_fail_packets + +`tx_retrans_fail_packets` + +- is **required** +- type: reference + +##### tx_retrans_fail_packets Type + +`integer` + +- minimum value: `0` + +#### tx_retrans_packets + +`tx_retrans_packets` + +- is **required** +- type: reference + +##### tx_retrans_packets Type + +`integer` + +- minimum value: `0` + +#### tx_retry_packets + +`tx_retry_packets` + +- is **required** +- type: reference + +##### tx_retry_packets Type + +`integer` + +- minimum value: `0` + +#### tx_unicast_packets + +`tx_unicast_packets` + +- is **required** +- type: reference + +##### tx_unicast_packets Type + +`integer` + +- minimum value: `0` + +### Output Example + +```json +{ + "tx_bytes": 96350161, + "tx_packets": 55270543, + "tx_unicast_packets": 11220016, + "tx_multicast_packets": 76777539, + "tx_broadcast_packets": 21125812, + "tx_error_packets": 29210439, + "tx_retrans_packets": 79531269, + "tx_retrans_fail_packets": 13435849, + "tx_retry_packets": 85104829, + "tx_multi_retry_packets": 41508238, + "tx_dropped_packets": 27402800, + "ack_fail_packets": 47758471, + "aggregate_packets": 39188989, + "rx_bytes": 41660723, + "rx_packets": 40320245, + "rx_unicast_packets": 32902938, + "rx_multicast_packets": 96016840, + "rx_broadcast_packets": 31360956, + "rx_error_packets": 8218167, + "rx_dropped_packets": 38187385, + "rx_unknown_packets": 6848059 +} +``` + +## status + +`status` + +- type: `Method` + +### status Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Ubus CLI Example + +``` +ubus call wifi.ap.<name> status {} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.ap.<name>", "status", {}] } +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------------- | ------- | ------------ | +| `adm_capacity` | integer | **Required** | +| `bandwidth` | oneOf | **Required** | +| `bssid` | string | **Required** | +| `capabilities` | object | **Required** | +| `encryption` | string | **Required** | +| `hidden` | boolean | **Required** | +| `ifname` | string | **Required** | +| `max_stations` | integer | **Required** | +| `num_stations` | integer | **Required** | +| `ssid` | string | **Required** | +| `standard` | string | **Required** | +| `status` | string | **Required** | +| `utilization` | integer | **Required** | + +#### adm_capacity + +`adm_capacity` + +- is **required** +- type: `integer` + +##### adm_capacity Type + +`integer` + +#### bandwidth + +`bandwidth` + +- is **required** +- type: complex + +##### bandwidth Type + +**One** of the following _conditions_ need to be fulfilled. + +#### Condition 1 + +`integer` + +#### Condition 2 + +`integer` + +#### bssid + +##### MAC Address + +`bssid` + +- is **required** +- type: reference + +##### bssid Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### capabilities + +`capabilities` + +- is **required** +- type: `object` + +##### capabilities Type + +`object` with following properties: + +| Property | Type | Required | +| ----------------------- | ------- | ------------ | +| `apsd` | boolean | **Required** | +| `dot11ac` | boolean | **Required** | +| `dot11ac_160` | boolean | **Required** | +| `dot11ac_8080` | boolean | **Required** | +| `dot11ac_mpdu_max` | integer | **Required** | +| `dot11ac_mu_beamformee` | boolean | **Required** | +| `dot11ac_mu_beamformer` | boolean | **Required** | +| `dot11ac_rx_ldpc` | boolean | **Required** | +| `dot11ac_rx_stbc_1ss` | boolean | **Required** | +| `dot11ac_rx_stbc_2ss` | boolean | **Required** | +| `dot11ac_rx_stbc_3ss` | boolean | **Required** | +| `dot11ac_rx_stbc_4ss` | boolean | **Required** | +| `dot11ac_sgi160` | boolean | **Required** | +| `dot11ac_sgi80` | boolean | **Required** | +| `dot11ac_su_beamformee` | boolean | **Required** | +| `dot11ac_su_beamformer` | boolean | **Required** | +| `dot11ac_tx_stbc` | boolean | **Required** | +| `dot11h` | boolean | **Required** | +| `dot11k` | boolean | **Required** | +| `dot11n` | boolean | **Required** | +| `dot11n_40` | boolean | **Required** | +| `dot11n_ldpc` | boolean | **Required** | +| `dot11n_ps` | boolean | **Required** | +| `dot11n_rx_stbc` | boolean | **Required** | +| `dot11n_sgi20` | boolean | **Required** | +| `dot11n_sgi40` | boolean | **Required** | +| `dot11n_tx_stbc` | boolean | **Required** | +| `shortslot` | boolean | **Required** | +| `wmm` | boolean | **Required** | + +#### apsd + +`apsd` + +- is **required** +- type: `boolean` + +##### apsd Type + +`boolean` + +#### dot11ac + +`dot11ac` + +- is **required** +- type: `boolean` + +##### dot11ac Type + +`boolean` + +#### dot11ac_160 + +`dot11ac_160` + +- is **required** +- type: `boolean` + +##### dot11ac_160 Type + +`boolean` + +#### dot11ac_8080 + +`dot11ac_8080` + +- is **required** +- type: `boolean` + +##### dot11ac_8080 Type + +`boolean` + +#### dot11ac_mpdu_max + +`dot11ac_mpdu_max` + +- is **required** +- type: `integer` + +##### dot11ac_mpdu_max Type + +`integer` + +- minimum value: `0` +- maximum value: `65535` + +#### dot11ac_mu_beamformee + +`dot11ac_mu_beamformee` + +- is **required** +- type: `boolean` + +##### dot11ac_mu_beamformee Type + +`boolean` + +#### dot11ac_mu_beamformer + +`dot11ac_mu_beamformer` + +- is **required** +- type: `boolean` + +##### dot11ac_mu_beamformer Type + +`boolean` + +#### dot11ac_rx_ldpc + +`dot11ac_rx_ldpc` + +- is **required** +- type: `boolean` + +##### dot11ac_rx_ldpc Type + +`boolean` + +#### dot11ac_rx_stbc_1ss + +`dot11ac_rx_stbc_1ss` + +- is **required** +- type: `boolean` + +##### dot11ac_rx_stbc_1ss Type + +`boolean` + +#### dot11ac_rx_stbc_2ss + +`dot11ac_rx_stbc_2ss` + +- is **required** +- type: `boolean` + +##### dot11ac_rx_stbc_2ss Type + +`boolean` + +#### dot11ac_rx_stbc_3ss + +`dot11ac_rx_stbc_3ss` + +- is **required** +- type: `boolean` + +##### dot11ac_rx_stbc_3ss Type + +`boolean` + +#### dot11ac_rx_stbc_4ss + +`dot11ac_rx_stbc_4ss` + +- is **required** +- type: `boolean` + +##### dot11ac_rx_stbc_4ss Type + +`boolean` + +#### dot11ac_sgi160 + +`dot11ac_sgi160` + +- is **required** +- type: `boolean` + +##### dot11ac_sgi160 Type + +`boolean` + +#### dot11ac_sgi80 + +`dot11ac_sgi80` + +- is **required** +- type: `boolean` + +##### dot11ac_sgi80 Type + +`boolean` + +#### dot11ac_su_beamformee + +`dot11ac_su_beamformee` + +- is **required** +- type: `boolean` + +##### dot11ac_su_beamformee Type + +`boolean` + +#### dot11ac_su_beamformer + +`dot11ac_su_beamformer` + +- is **required** +- type: `boolean` + +##### dot11ac_su_beamformer Type + +`boolean` + +#### dot11ac_tx_stbc + +`dot11ac_tx_stbc` + +- is **required** +- type: `boolean` + +##### dot11ac_tx_stbc Type + +`boolean` + +#### dot11h + +`dot11h` + +- is **required** +- type: `boolean` + +##### dot11h Type + +`boolean` + +#### dot11k + +`dot11k` + +- is **required** +- type: `boolean` + +##### dot11k Type + +`boolean` + +#### dot11n + +`dot11n` + +- is **required** +- type: `boolean` + +##### dot11n Type + +`boolean` + +#### dot11n_40 + +`dot11n_40` + +- is **required** +- type: `boolean` + +##### dot11n_40 Type + +`boolean` + +#### dot11n_ldpc + +`dot11n_ldpc` + +- is **required** +- type: `boolean` + +##### dot11n_ldpc Type + +`boolean` + +#### dot11n_ps + +`dot11n_ps` + +- is **required** +- type: `boolean` + +##### dot11n_ps Type + +`boolean` + +#### dot11n_rx_stbc + +`dot11n_rx_stbc` + +- is **required** +- type: `boolean` + +##### dot11n_rx_stbc Type + +`boolean` + +#### dot11n_sgi20 + +`dot11n_sgi20` + +- is **required** +- type: `boolean` + +##### dot11n_sgi20 Type + +`boolean` + +#### dot11n_sgi40 + +`dot11n_sgi40` + +- is **required** +- type: `boolean` + +##### dot11n_sgi40 Type + +`boolean` + +#### dot11n_tx_stbc + +`dot11n_tx_stbc` + +- is **required** +- type: `boolean` + +##### dot11n_tx_stbc Type + +`boolean` + +#### shortslot + +`shortslot` + +- is **required** +- type: `boolean` + +##### shortslot Type + +`boolean` + +#### wmm + +`wmm` + +- is **required** +- type: `boolean` + +##### wmm Type + +`boolean` + +#### encryption + +`encryption` + +- is **required** +- type: `string` + +##### encryption Type + +`string` + +#### hidden + +`hidden` + +- is **required** +- type: `boolean` + +##### hidden Type + +`boolean` + +#### ifname + +##### Interface + +`ifname` + +- is **required** +- type: reference + +##### ifname Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +#### max_stations + +##### Number of stations + +`max_stations` + +- is **required** +- type: reference + +##### max_stations Type + +`integer` + +- minimum value: `0` +- maximum value: `2007` + +#### num_stations + +##### Number of stations + +`num_stations` + +- is **required** +- type: reference + +##### num_stations Type + +`integer` + +- minimum value: `0` +- maximum value: `2007` + +#### ssid + +##### SSID + +`ssid` + +- is **required** +- type: reference + +##### ssid Type + +`string` + +- maximum length: 32 characters + +#### standard + +`standard` + +- is **required** +- type: `string` + +##### standard Type + +`string` + +#### status + +`status` + +- is **required** +- type: `string` + +##### status Type + +`string` + +#### utilization + +`utilization` + +- is **required** +- type: `integer` + +##### utilization Type + +`integer` + +- minimum value: `0` +- maximum value: `100` + +### Output Example + +```json +{ + "ifname": "elit ven", + "status": "non id consequat nisi ut", + "ssid": "consequat Lorem cupidatat", + "bssid": "E5:28:b3:09:9C:d1", + "encryption": "officia reprehenderit in", + "bandwidth": 160, + "standard": "elit", + "num_stations": 1963, + "utilization": 52, + "adm_capacity": 92570569, + "hidden": true, + "max_stations": 961, + "capabilities": { + "wmm": false, + "apsd": false, + "shortslot": false, + "dot11h": false, + "dot11k": true, + "dot11n": false, + "dot11n_ldpc": false, + "dot11n_40": true, + "dot11n_ps": false, + "dot11n_sgi20": false, + "dot11n_sgi40": false, + "dot11n_tx_stbc": true, + "dot11n_rx_stbc": false, + "dot11ac": true, + "dot11ac_160": true, + "dot11ac_8080": false, + "dot11ac_mpdu_max": 23096, + "dot11ac_sgi80": true, + "dot11ac_sgi160": false, + "dot11ac_rx_ldpc": true, + "dot11ac_tx_stbc": false, + "dot11ac_rx_stbc_1ss": true, + "dot11ac_rx_stbc_2ss": true, + "dot11ac_rx_stbc_3ss": false, + "dot11ac_rx_stbc_4ss": true, + "dot11ac_su_beamformer": true, + "dot11ac_su_beamformee": true, + "dot11ac_mu_beamformer": true, + "dot11ac_mu_beamformee": false + } +} +``` diff --git a/md/wifi.md b/md/wifi.md new file mode 100644 index 0000000..16f3257 --- /dev/null +++ b/md/wifi.md @@ -0,0 +1,507 @@ +# wifi Schema + +``` +https://www.iopsys.eu/wifi.json +``` + +| Custom Properties | Additional Properties | +| ----------------- | --------------------- | +| Forbidden | Forbidden | + +# wifi + +| List of Methods | +| ----------------- | +| [status](#status) | Method | wifi (this schema) | + +## status + +`status` + +- type: `Method` + +### status Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Ubus CLI Example + +``` +ubus call wifi status {} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi", "status", {}] } +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ----- | ------------ | +| `radios` | array | **Required** | + +#### radios + +`radios` + +- is **required** +- type: `object[]` + +##### radios Type + +Array type: `object[]` + +All items must be of the type: `object` with following properties: + +| Property | Type | Required | +| -------------- | ------- | ------------ | +| `accesspoints` | array | **Required** | +| `backhauls` | array | **Required** | +| `band` | string | **Required** | +| `bandwidth` | integer | **Required** | +| `country` | string | **Required** | +| `isup` | boolean | **Required** | +| `name` | string | **Required** | +| `noise` | integer | **Required** | +| `rate` | integer | **Required** | +| `standard` | string | **Required** | + +#### accesspoints + +`accesspoints` + +- is **required** +- type: reference + +##### accesspoints Type + +Array type: reference + +All items must be of the type: `object` with following properties: + +| Property | Type | Required | +| -------- | ------ | ------------ | +| `bssid` | | **Required** | +| `ifname` | string | **Required** | +| `ssid` | string | **Required** | +| `status` | string | **Required** | + +#### bssid + +`bssid` + +- is **required** +- type: complex + +##### bssid Type + +Unknown type ``. + +```json +{ + "bssid": { + "$ref": "#/definitions/macaddr_t" + }, + "simpletype": "complex" +} +``` + +#### ifname + +`ifname` + +- is **required** +- type: `string` + +##### ifname Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +#### ssid + +`ssid` + +- is **required** +- type: `string` + +##### ssid Type + +`string` + +- maximum length: 32 characters + +#### status + +`status` + +- is **required** +- type: `string` + +##### status Type + +`string` + +#### backhauls + +`backhauls` + +- is **required** +- type: reference + +##### backhauls Type + +Array type: reference + +All items must be of the type: `object` with following properties: + +| Property | Type | Required | +| -------- | ------ | ------------ | +| `bssid` | | **Required** | +| `ifname` | string | **Required** | +| `ssid` | string | **Required** | +| `status` | string | **Required** | + +#### bssid + +`bssid` + +- is **required** +- type: complex + +##### bssid Type + +Unknown type ``. + +```json +{ + "bssid": { + "$ref": "#/definitions/macaddr_t" + }, + "simpletype": "complex" +} +``` + +#### ifname + +`ifname` + +- is **required** +- type: `string` + +##### ifname Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +#### ssid + +`ssid` + +- is **required** +- type: `string` + +##### ssid Type + +`string` + +- maximum length: 32 characters + +#### status + +`status` + +- is **required** +- type: `string` + +##### status Type + +`string` + +#### band + +##### WiFi Band + +`band` + +- is **required** +- type: reference + +##### band Type + +`string` + +The value of this property **must** be equal to one of the [known values below](#status-known-values). + +##### band Known Values + +| Value | +| ------ | +| 2.4GHz | +| 5GHz | + +#### bandwidth + +##### Bandwidth + +`bandwidth` + +- is **required** +- type: reference + +##### bandwidth Type + +`integer` + +The value of this property **must** be equal to one of the [known values below](#status-known-values). + +##### bandwidth Known Values + +| Value | +| ----- | +| 20 | +| 40 | +| 80 | +| 160 | + +#### country + +`country` + +- is **required** +- type: `string` + +##### country Type + +`string` + +- minimum length: 2 characters +- maximum length: 3 characters + +#### isup + +`isup` + +- is **required** +- type: `boolean` + +##### isup Type + +`boolean` + +#### name + +##### Interface + +`name` + +- is **required** +- type: reference + +##### name Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +#### noise + +##### Noise + +`noise` + +- is **required** +- type: reference + +##### noise Type + +`integer` + +- minimum value: `-127` +- maximum value: `0` + +#### rate + +`rate` + +- is **required** +- type: `integer` + +##### rate Type + +`integer` + +- minimum value: `0` + +#### standard + +`standard` + +- is **required** +- type: `string` + +##### standard Type + +`string` + +### Output Example + +```json +{ + "radios": [ + { + "name": "mi", + "isup": true, + "standard": "incididunt sit", + "country": "el", + "band": "2.4GHz", + "bandwidth": 20, + "noise": -65, + "rate": 83302859, + "accesspoints": [ + { + "ifname": "mini", + "status": "labore dolore adipisicing", + "ssid": "cillum deseru", + "bssid": { "bssid": "68:63:aa:B1:Aa:71" } + } + ], + "backhauls": [ + { + "ifname": "cupidatat", + "status": "anim consectetur", + "ssid": "esse con", + "bssid": { "bssid": "EB:B6:f3:ea:A9:D5" } + }, + { + "ifname": "nisi", + "status": "fugiat dolore occaec", + "ssid": "dolore commodo elit con", + "bssid": { "bssid": "bA:Eb:b3:AC:49:ca" } + }, + { "ifname": "Ut", "status": "consectetur et labore", "ssid": "cup", "bssid": { "bssid": "56:De:C4:e5:2F:BA" } } + ], + "channel": 32553447, + "channels": false + }, + { + "name": "in elit ", + "isup": true, + "standard": "consequat dolore amet reprehenderit", + "country": "in ", + "band": "2.4GHz", + "bandwidth": 160, + "noise": -60, + "rate": 48607504, + "accesspoints": [ + { "ifname": "aute sint e", "status": "sunt sint", "ssid": "enim", "bssid": { "bssid": "16:Ed:FA:78:5D:41" } }, + { "ifname": "la", "status": "sunt ", "ssid": "proident ex", "bssid": { "bssid": "5b:F4:F2:99:98:EA" } } + ], + "backhauls": [ + { + "ifname": "aute ipsum", + "status": "magna officia dolor", + "ssid": "sunt", + "bssid": { "bssid": "aF:5C:6E:cB:24:7F" } + }, + { + "ifname": "Excepteur sed", + "status": "ullamco Ut", + "ssid": "aliqua exercitation Duis", + "bssid": { "bssid": "fC:4D:fa:9A:CE:b8" } + } + ], + "channel": 89047725, + "channels": 87342077 + }, + { + "name": "Excepteur", + "isup": true, + "standard": "tempor", + "country": "Ut ", + "band": "5GHz", + "bandwidth": 40, + "noise": -98, + "rate": 38327719, + "accesspoints": [ + { + "ifname": "e", + "status": "dolore ullamco Ut aliquip in", + "ssid": "Lorem", + "bssid": { "bssid": "bf:0c:d2:fc:c7:d6" } + }, + { + "ifname": "dolor quis", + "status": "eiusmod voluptate Excepteur ullamco dolore", + "ssid": "aliqua no", + "bssid": { "bssid": "5f:70:b8:36:2d:EC" } + }, + { + "ifname": "sit in", + "status": "mollit", + "ssid": "eiusmod ullamco minim", + "bssid": { "bssid": "BC:f1:d6:49:5e:0F" } + }, + { + "ifname": "magna i", + "status": "ut fugiat laboris anim aliquip", + "ssid": "magna Duis", + "bssid": { "bssid": "d1:6E:A6:68:7B:Ce" } + }, + { + "ifname": "dolore ulla", + "status": "occaecat", + "ssid": "occaecat", + "bssid": { "bssid": "D8:0c:49:05:49:a3" } + } + ], + "backhauls": [ + { + "ifname": "sed voluptate", + "status": "labore commodo", + "ssid": "proident D", + "bssid": { "bssid": "2A:CD:11:B9:C7:08" } + } + ], + "channel": 4510991, + "channels": "id eu" + } + ] +} +``` diff --git a/md/wifi.radio.md b/md/wifi.radio.md new file mode 100644 index 0000000..c14d6af --- /dev/null +++ b/md/wifi.radio.md @@ -0,0 +1,1136 @@ +# wifi.radio.<name> Schema + +``` +https://www.iopsys.eu/wifi.radio.json +``` + +WiFi Radio Object + +| Custom Properties | Additional Properties | +| ----------------- | --------------------- | +| Forbidden | Forbidden | + +# wifi.radio.<name> + +| List of Methods | +| --------------------------- | +| [autochannel](#autochannel) | Method | wifi.radio.<name> (this schema) | +| [get](#get) | Method | wifi.radio.<name> (this schema) | +| [scan](#scan) | Method | wifi.radio.<name> (this schema) | +| [scanresults](#scanresults) | Method | wifi.radio.<name> (this schema) | +| [stats](#stats) | Method | wifi.radio.<name> (this schema) | +| [status](#status) | Method | wifi.radio.<name> (this schema) | + +## autochannel + +`autochannel` + +- type: `Method` + +### autochannel Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| ---------- | ------- | -------- | +| `algo` | integer | Optional | +| `interval` | integer | Optional | +| `scans` | integer | Optional | + +#### algo + +`algo` + +- is optional +- type: `integer` + +##### algo Type + +`integer` + +#### interval + +`interval` + +- is optional +- type: `integer` + +##### interval Type + +`integer` + +#### scans + +`scans` + +- is optional +- type: `integer` + +##### scans Type + +`integer` + +### Ubus CLI Example + +``` +ubus call wifi.radio.<name> autochannel {"interval":-94429752,"algo":-10162573,"scans":70077630} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": [ + "<SID>", + "wifi.radio.<name>", + "autochannel", + { "interval": -94429752, "algo": -10162573, "scans": 70077630 } + ] +} +``` + +#### output + +##### wifi.radio.autochannel + +Auto channel selection + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| ------------- | ------- | ------------ | +| `code` | integer | **Required** | +| `new_channel` | oneOf | **Required** | +| `status` | string | **Required** | + +#### code + +`code` + +- is **required** +- type: `integer` + +##### code Type + +`integer` + +#### new_channel + +`new_channel` + +- is **required** +- type: complex + +##### new_channel Type + +**One** of the following _conditions_ need to be fulfilled. + +#### Condition 1 + +`integer` + +- minimum value: `1` +- maximum value: `14` + +#### Condition 2 + +`integer` + +- minimum value: `32` +- maximum value: `200` + +#### status + +`status` + +- is **required** +- type: `string` + +##### status Type + +`string` + +### Output Example + +```json +{ "code": -51114728, "new_channel": 122, "status": "Excepteur aute" } +``` + +## get + +`get` + +- type: `Method` + +### get Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `param` | string | Optional | + +#### param + +`param` + +- is optional +- type: `string` + +##### param Type + +`string` + +### Ubus CLI Example + +``` +ubus call wifi.radio.<name> get {"param":"magna"} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.radio.<name>", "get", { "param": "magna" }] } +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------- | -------- | +| `status` | integer | Optional | +| `values` | integer | Optional | + +#### status + +`status` + +- is optional +- type: `integer` + +##### status Type + +`integer` + +#### values + +`values` + +- is optional +- type: `integer` + +##### values Type + +`integer` + +### Output Example + +```json +{ "status": 20867505, "values": 37737241 } +``` + +## scan + +`scan` + +- type: `Method` + +### scan Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| --------- | ------ | -------- | +| `bssid` | string | Optional | +| `channel` | oneOf | Optional | +| `ssid` | string | Optional | + +#### bssid + +##### MAC Address + +`bssid` + +- is optional +- type: reference + +##### bssid Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### channel + +`channel` + +- is optional +- type: complex + +##### channel Type + +**One** of the following _conditions_ need to be fulfilled. + +#### Condition 1 + +`integer` + +- minimum value: `1` +- maximum value: `14` + +#### Condition 2 + +`integer` + +- minimum value: `32` +- maximum value: `200` + +#### ssid + +##### SSID + +`ssid` + +- is optional +- type: reference + +##### ssid Type + +`string` + +- maximum length: 32 characters + +### Ubus CLI Example + +``` +ubus call wifi.radio.<name> scan {"ssid":"consequat ullamco","bssid":"C4:4c:75:b2:2f:a4","channel":161} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": [ + "<SID>", + "wifi.radio.<name>", + "scan", + { "ssid": "consequat ullamco", "bssid": "C4:4c:75:b2:2f:a4", "channel": 161 } + ] +} +``` + +#### output + +Trigger a scan + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## scanresults + +`scanresults` + +- type: `Method` + +### scanresults Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Ubus CLI Example + +``` +ubus call wifi.radio.<name> scanresults {} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.radio.<name>", "scanresults", {}] } +``` + +#### output + +##### wifi.radio.iface + +Show scan results + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------------- | ----- | ------------ | +| `accesspoints` | array | **Required** | + +#### accesspoints + +`accesspoints` + +- is **required** +- type: `object[]` + +##### accesspoints Type + +Array type: `object[]` + +All items must be of the type: `object` with following properties: + +| Property | Type | Required | +| ------------------ | ------- | -------- | +| `band` | string | Optional | +| `bssid` | string | Optional | +| `encryption` | string | Optional | +| `load_available` | integer | Optional | +| `load_stas` | integer | Optional | +| `load_utilization` | integer | Optional | +| `rssi` | integer | Optional | +| `ssid` | string | Optional | + +#### band + +##### WiFi Band + +`band` + +- is optional +- type: reference + +##### band Type + +`string` + +The value of this property **must** be equal to one of the [known values below](#scanresults-known-values). + +##### band Known Values + +| Value | +| ------ | +| 2.4GHz | +| 5GHz | + +#### bssid + +##### MAC Address + +`bssid` + +- is optional +- type: reference + +##### bssid Type + +`string` + +- minimum length: 17 characters +- maximum length: 17 characters All instances must conform to this regular expression (test examples + [here](<https://regexr.com/?expression=%5E(%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%3A)%7B5%7D%5B0-9a-fA-F%5D%5B0-9a-fA-F%5D%24>)): + +```regex +^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$ +``` + +#### encryption + +`encryption` + +- is optional +- type: `string` + +##### encryption Type + +`string` + +#### load_available + +`load_available` + +- is optional +- type: `integer` + +##### load_available Type + +`integer` + +- minimum value: `0` + +#### load_stas + +`load_stas` + +- is optional +- type: `integer` + +##### load_stas Type + +`integer` + +- minimum value: `0` + +#### load_utilization + +`load_utilization` + +- is optional +- type: `integer` + +##### load_utilization Type + +`integer` + +- minimum value: `0` +- maximum value: `100` + +#### rssi + +##### RSSI + +`rssi` + +- is optional +- type: reference + +##### rssi Type + +`integer` + +- minimum value: `-128` +- maximum value: `0` + +#### ssid + +##### SSID + +`ssid` + +- is optional +- type: reference + +##### ssid Type + +`string` + +- maximum length: 32 characters + +### Output Example + +```json +{ + "accesspoints": [ + { + "ssid": "voluptate", + "bssid": "8e:4B:FA:b5:b2:3b", + "encryption": "occaecat ipsum adipisicing", + "band": "2.4GHz", + "rssi": -49, + "load_stas": 65903225, + "load_utilization": 95, + "load_available": 81778543 + }, + { + "ssid": "u", + "bssid": "3F:db:6D:DA:F5:E4", + "encryption": "et consectetur qui", + "band": "5GHz", + "rssi": -112, + "load_stas": 41230767, + "load_utilization": 69, + "load_available": 33400870 + }, + { + "ssid": "in ad", + "bssid": "A0:9b:3F:7F:55:e2", + "encryption": "ad exercitation", + "band": "5GHz", + "rssi": -9, + "load_stas": 92027414, + "load_utilization": 91, + "load_available": 54137283 + }, + { + "ssid": "ea nostrud est adipisicing", + "bssid": "4A:7C:a7:f9:8d:13", + "encryption": "do mollit non ut elit", + "band": "2.4GHz", + "rssi": -113, + "load_stas": 6957610, + "load_utilization": 30, + "load_available": 14471763 + } + ] +} +``` + +## stats + +`stats` + +- type: `Method` + +### stats Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Ubus CLI Example + +``` +ubus call wifi.radio.<name> stats {} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.radio.<name>", "stats", {}] } +``` + +#### output + +##### wifi.radio.iface + +Radio statistics + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| ---------------------- | ------- | ------------ | +| `rx_bytes` | integer | **Required** | +| `rx_dropped_packets` | integer | **Required** | +| `rx_error_packets` | integer | **Required** | +| `rx_fcs_error_packets` | integer | **Required** | +| `rx_packets` | integer | **Required** | +| `tx_bytes` | integer | **Required** | +| `tx_dropped_packets` | integer | **Required** | +| `tx_error_packets` | integer | **Required** | +| `tx_packets` | integer | **Required** | + +#### rx_bytes + +`rx_bytes` + +- is **required** +- type: reference + +##### rx_bytes Type + +`integer` + +- minimum value: `0` + +#### rx_dropped_packets + +`rx_dropped_packets` + +- is **required** +- type: reference + +##### rx_dropped_packets Type + +`integer` + +- minimum value: `0` + +#### rx_error_packets + +`rx_error_packets` + +- is **required** +- type: reference + +##### rx_error_packets Type + +`integer` + +- minimum value: `0` + +#### rx_fcs_error_packets + +`rx_fcs_error_packets` + +- is **required** +- type: reference + +##### rx_fcs_error_packets Type + +`integer` + +- minimum value: `0` + +#### rx_packets + +`rx_packets` + +- is **required** +- type: reference + +##### rx_packets Type + +`integer` + +- minimum value: `0` + +#### tx_bytes + +`tx_bytes` + +- is **required** +- type: reference + +##### tx_bytes Type + +`integer` + +- minimum value: `0` + +#### tx_dropped_packets + +`tx_dropped_packets` + +- is **required** +- type: reference + +##### tx_dropped_packets Type + +`integer` + +- minimum value: `0` + +#### tx_error_packets + +`tx_error_packets` + +- is **required** +- type: reference + +##### tx_error_packets Type + +`integer` + +- minimum value: `0` + +#### tx_packets + +`tx_packets` + +- is **required** +- type: reference + +##### tx_packets Type + +`integer` + +- minimum value: `0` + +### Output Example + +```json +{ + "tx_bytes": 4456811, + "tx_packets": 61670182, + "tx_error_packets": 47310604, + "tx_dropped_packets": 95443975, + "rx_bytes": 97114413, + "rx_packets": 35506291, + "rx_error_packets": 33734857, + "rx_dropped_packets": 40012093, + "rx_fcs_error_packets": 73483705 +} +``` + +## status + +`status` + +- type: `Method` + +### status Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Ubus CLI Example + +``` +ubus call wifi.radio.<name> status {} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.radio.<name>", "status", {}] } +``` + +#### output + +##### wifi.radio.iface + +Radio status + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | Default | +| ------------------- | ------- | ------------ | ------- | +| `band` | string | **Required** | | +| `beacon_int` | integer | **Required** | `100` | +| `dtim_period` | integer | **Required** | `1` | +| `frag_threshold` | integer | **Required** | `2346` | +| `isup` | boolean | **Required** | | +| `long_retry_limit` | integer | **Required** | | +| `noise` | integer | **Required** | | +| `radio` | string | **Required** | | +| `rate` | integer | **Required** | | +| `rts_threshold` | integer | **Required** | `2347` | +| `short_retry_limit` | integer | **Required** | | + +#### band + +##### WiFi Band + +`band` + +- is **required** +- type: reference + +##### band Type + +`string` + +The value of this property **must** be equal to one of the [known values below](#status-known-values). + +##### band Known Values + +| Value | +| ------ | +| 2.4GHz | +| 5GHz | + +#### beacon_int + +`beacon_int` + +- is **required** +- type: `integer` +- default: `100` + +##### beacon_int Type + +`integer` + +- minimum value: `1` +- maximum value: `65535` + +#### dtim_period + +`dtim_period` + +- is **required** +- type: `integer` +- default: `1` + +##### dtim_period Type + +`integer` + +- minimum value: `1` +- maximum value: `255` + +#### frag_threshold + +`frag_threshold` + +- is **required** +- type: `integer` +- default: `2346` + +##### frag_threshold Type + +`integer` + +- minimum value: `256` +- maximum value: `65535` + +#### isup + +`isup` + +- is **required** +- type: `boolean` + +##### isup Type + +`boolean` + +#### long_retry_limit + +`long_retry_limit` + +- is **required** +- type: `integer` + +##### long_retry_limit Type + +`integer` + +- minimum value: `1` +- maximum value: `255` + +#### noise + +##### Noise + +`noise` + +- is **required** +- type: reference + +##### noise Type + +`integer` + +- minimum value: `-127` +- maximum value: `0` + +#### radio + +##### Interface + +`radio` + +- is **required** +- type: reference + +##### radio Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +#### rate + +`rate` + +- is **required** +- type: `integer` + +##### rate Type + +`integer` + +- minimum value: `0` + +#### rts_threshold + +`rts_threshold` + +- is **required** +- type: `integer` +- default: `2347` + +##### rts_threshold Type + +`integer` + +- minimum value: `0` +- maximum value: `65535` + +#### short_retry_limit + +`short_retry_limit` + +- is **required** +- type: `integer` + +##### short_retry_limit Type + +`integer` + +- minimum value: `1` +- maximum value: `255` + +### Output Example + +```json +{ + "radio": "repr", + "isup": false, + "band": "5GHz", + "noise": -69, + "rate": 55785181, + "beacon_int": 36869, + "dtim_period": 243, + "short_retry_limit": 165, + "long_retry_limit": 25, + "frag_threshold": 60605, + "rts_threshold": 14149, + "channel": true, + "bandwidth": "quis pari" +} +``` diff --git a/md/wifi.wps.md b/md/wifi.wps.md new file mode 100644 index 0000000..cb3b76e --- /dev/null +++ b/md/wifi.wps.md @@ -0,0 +1,707 @@ +# wifi.wps Schema + +``` +https://www.iopsys.eu/wifi.wps +``` + +| Custom Properties | Additional Properties | +| ----------------- | --------------------- | +| Forbidden | Forbidden | + +# wifi.wps + +| List of Methods | +| ----------------------------- | +| [generate_pin](#generate_pin) | Method | wifi.wps (this schema) | +| [setpin](#setpin) | Method | wifi.wps (this schema) | +| [showpin](#showpin) | Method | wifi.wps (this schema) | +| [start](#start) | Method | wifi.wps (this schema) | +| [status](#status) | Method | wifi.wps (this schema) | +| [stop](#stop) | Method | wifi.wps (this schema) | +| [validate_pin](#validate_pin) | Method | wifi.wps (this schema) | + +## generate_pin + +`generate_pin` + +- type: `Method` + +### generate_pin Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | ------------ | +| `input` | object | Optional | +| `output` | object | **Required** | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Ubus CLI Example + +``` +ubus call wifi.wps generate_pin {} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.wps", "generate_pin", {}] } +``` + +#### output + +`output` + +- is **required** +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | ------------ | +| `pin` | string | **Required** | + +#### pin + +`pin` + +- is **required** +- type: reference + +##### pin Type + +`string` + +- minimum length: 8 characters +- maximum length: 8 characters All instances must conform to this regular expression (test examples + [here](https://regexr.com/?expression=%5E%5B0-9%5D*%24)): + +```regex +^[0-9]*$ +``` + +### Output Example + +```json +{ "pin": "66225586" } +``` + +## setpin + +`setpin` + +- type: `Method` + +### setpin Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | ------------ | +| `pin` | string | **Required** | +| `vif` | string | Optional | + +#### pin + +`pin` + +- is **required** +- type: reference + +##### pin Type + +`string` + +- minimum length: 8 characters +- maximum length: 8 characters All instances must conform to this regular expression (test examples + [here](https://regexr.com/?expression=%5E%5B0-9%5D*%24)): + +```regex +^[0-9]*$ +``` + +#### vif + +##### Interface + +`vif` + +- is optional +- type: reference + +##### vif Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +### Ubus CLI Example + +``` +ubus call wifi.wps setpin {"pin":"10118562","vif":"en"} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": ["<SID>", "wifi.wps", "setpin", { "pin": "10118562", "vif": "en" }] +} +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## showpin + +`showpin` + +- type: `Method` + +### showpin Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `vif` | string | Optional | + +#### vif + +##### Interface + +`vif` + +- is optional +- type: reference + +##### vif Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +### Ubus CLI Example + +``` +ubus call wifi.wps showpin {"vif":"labore"} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.wps", "showpin", { "vif": "labore" }] } +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | ------------ | +| `pin` | string | **Required** | + +#### pin + +`pin` + +- is **required** +- type: reference + +##### pin Type + +`string` + +- minimum length: 8 characters +- maximum length: 8 characters All instances must conform to this regular expression (test examples + [here](https://regexr.com/?expression=%5E%5B0-9%5D*%24)): + +```regex +^[0-9]*$ +``` + +### Output Example + +```json +{ "pin": "67012142" } +``` + +## start + +`start` + +- type: `Method` + +### start Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `mode` | string | Optional | +| `pin` | string | Optional | +| `role` | string | Optional | +| `vif` | string | Optional | + +#### mode + +`mode` + +- is optional +- type: `string` + +##### mode Type + +`string` + +#### pin + +`pin` + +- is optional +- type: reference + +##### pin Type + +`string` + +- minimum length: 8 characters +- maximum length: 8 characters All instances must conform to this regular expression (test examples + [here](https://regexr.com/?expression=%5E%5B0-9%5D*%24)): + +```regex +^[0-9]*$ +``` + +#### role + +`role` + +- is optional +- type: `enum` + +##### role Type + +`string` + +The value of this property **must** be equal to one of the [known values below](#start-known-values). + +##### role Known Values + +| Value | +| --------- | +| registrar | +| enrollee | + +#### vif + +##### Interface + +`vif` + +- is optional +- type: reference + +##### vif Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +### Ubus CLI Example + +``` +ubus call wifi.wps start {"vif":"ex","mode":"occaecat consequat reprehenderit","role":"enrollee","pin":"45603292"} +``` + +### JSONRPC Example + +```json +{ + "jsonrpc": "2.0", + "id": 0, + "method": "call", + "params": [ + "<SID>", + "wifi.wps", + "start", + { "vif": "ex", "mode": "occaecat consequat reprehenderit", "role": "enrollee", "pin": "45603292" } + ] +} +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## status + +`status` + +- type: `Method` + +### status Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `vif` | string | Optional | + +#### vif + +##### Interface + +`vif` + +- is optional +- type: reference + +##### vif Type + +`string` + +- minimum length: 1 characters +- maximum length: 16 characters + +### Ubus CLI Example + +``` +ubus call wifi.wps status {"vif":"deserunt"} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.wps", "status", { "vif": "deserunt" }] } +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------- | ------------ | +| `code` | integer | **Required** | +| `status` | string | **Required** | + +#### code + +`code` + +- is **required** +- type: `integer` + +##### code Type + +`integer` + +- minimum value: `0` + +#### status + +`status` + +- is **required** +- type: `string` + +##### status Type + +`string` + +### Output Example + +```json +{ "code": 51171879, "status": "ipsum laborum reprehenderit" } +``` + +## stop + +`stop` + +- type: `Method` + +### stop Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Ubus CLI Example + +``` +ubus call wifi.wps stop {} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.wps", "stop", {}] } +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ---- | -------- | +| None | None | None | + +### Output Example + +```json +{} +``` + +## validate_pin + +`validate_pin` + +- type: `Method` + +### validate_pin Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | -------- | +| `input` | object | Optional | +| `output` | object | Optional | + +#### input + +`input` + +- is optional +- type: `object` + +##### input Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------ | ------------ | +| `pin` | string | **Required** | + +#### pin + +`pin` + +- is **required** +- type: reference + +##### pin Type + +`string` + +- minimum length: 8 characters +- maximum length: 8 characters All instances must conform to this regular expression (test examples + [here](https://regexr.com/?expression=%5E%5B0-9%5D*%24)): + +```regex +^[0-9]*$ +``` + +### Ubus CLI Example + +``` +ubus call wifi.wps validate_pin {"pin":"20662363"} +``` + +### JSONRPC Example + +```json +{ "jsonrpc": "2.0", "id": 0, "method": "call", "params": ["<SID>", "wifi.wps", "validate_pin", { "pin": "20662363" }] } +``` + +#### output + +`output` + +- is optional +- type: `object` + +##### output Type + +`object` with following properties: + +| Property | Type | Required | +| -------- | ------- | ------------ | +| `valid` | boolean | **Required** | + +#### valid + +`valid` + +- is **required** +- type: `boolean` + +##### valid Type + +`boolean` + +### Output Example + +```json +{ "valid": true } +``` -- GitLab