diff --git a/PROTOCOL.md b/PROTOCOL.md index 63d77458..91d06690 100644 --- a/PROTOCOL.md +++ b/PROTOCOL.md @@ -775,6 +775,140 @@ The device should answer: } ``` +#### Controller wants the device to replace its certificates +Controller sends this command to run a predefined script. Extreme care must be taken. +```json +{ "jsonrpc" : "2.0" , + "method" : "certupdate" , + "params" : { + "serial" : , + "certificates" : + }, + "id" : +} +``` + +The device should answer: +```json +{ "jsonrpc" : "2.0" , + "result" : { + "serial" : , + "status" : { + "error" : <0 or the value of $? from the shell running the command, 255 signifies a timeout>, + "txt" : + }, + "id" : +} +``` + +#### Controller wants the device to switch to another controller +Controller sends this when the device should change the controller it connects to without looking up a new redirector. + +```json +{ "jsonrpc" : "2.0" , + "method" : "transfer" , + "params" : { + "serial" : , + "server" : , + "port" : , + }, + "id" : +} +``` + +The device should answer: +```json +{ "jsonrpc" : "2.0" , + "result" : { + "serial" : , + "status" : { + "error" : <0 or the value of $? from the shell running the command, 255 signifies a timeout>, + "txt" : + }, + "id" : +} +``` + +### RRM AP device commands +The following command is used to send RRM commands to an AP. RRM commands are send to an AP, however the +controller will not or cannot verify if they have been sent or the action was performed. + +```json +{ "jsonrpc" : "2.0" , + "method" : "rrm" , + "params" : { + "serial" : , + "actions" : [ array of actions. Each possible action is defined next] + }, + "id" : +} +``` + +The device should answer: +```json +{ "jsonrpc" : "2.0" , + "result" : { + "serial" : , + "status" : { + "error" : <0 or the value of $? from the shell running the command, 255 signifies a timeout>, + "txt" : + }, + "id" : +} +``` + +#### RRM Roam action + +##### Kick +```json +{ "action" : "kick" , + "addr" : , + "reson": , (default: 5, https://www.cisco.com/assets/sol/sb/WAP371_Emulators/WAP371_Emulator_v1-0-1-5/help/Apx_ReasonCodes2.html) + "ban_time": (seconds, optional) +} +``` + +##### Channel Switch Announcement +```json +{ "action" : "channel_switch" , + "bssid" : , (all other SSIDs on the same radio will perform the same action) + "channel" : (HT/HW mode will be retained upon issuing the CSA) +} +``` + +##### Change TX-Power +```json +{ "action" : "tx_power" , + "bssid" : , (all other SSIDs on the same radio will perform the same action) + "level" : (DBm inside the positive number space) +} +``` + +##### Beacon Scan +```json +{ "action" : "beacon_request" , + "addr" : , + "ssid": , (the SSID the client shall scan for on all frequencies), + "channel": (the channel that shall be scanned) +} +``` + +##### BSS Transition +```json +{ "action" : "bss_transition" , + "addr" : , + "neighbors": [ ], (an array of BSSIDs the client shall consider as roamin candidates) +} +``` + +##### Update neighbours +```json +{ "action" : "neighbors" , + "bssid" : , (the SSID of the specific VAP) + "neighbors": [ [ , , ] ] +} +``` + ### `rtty server` More information about the [rtty server](https://github.com/zhaojh329/rtty) can be found here.