Difference between revisions of "Template:Networking rutxxx configuration example JSON RPC commands"

From Teltonika Networks Wiki
Line 2: Line 2:
  
 
If the commands found in the guide above did not suffice your needs, this section provides a list of additional ones. The commands presented in this section will be for both Linux and Windows operating systems. They should be used as syntax examples for your own purposes.
 
If the commands found in the guide above did not suffice your needs, this section provides a list of additional ones. The commands presented in this section will be for both Linux and Windows operating systems. They should be used as syntax examples for your own purposes.
 
+
<br><br>
 
===WiFi clients list===
 
===WiFi clients list===
 
----
 
----
Line 31: Line 31:
  
 
To obtain these values, the Linux '''iwinfo''' command and '''assoclist''' parameter (red) are used. Highlighted in green are the devices connected to the router via WiFi as identified by their MAC addresses. The response information about the connection with the device, such as signal strength, noise, time of inactivity (idle time), rx, tx rate, etc., is highlighted in blue.  
 
To obtain these values, the Linux '''iwinfo''' command and '''assoclist''' parameter (red) are used. Highlighted in green are the devices connected to the router via WiFi as identified by their MAC addresses. The response information about the connection with the device, such as signal strength, noise, time of inactivity (idle time), rx, tx rate, etc., is highlighted in blue.  
 
+
<br><br><br><br>
 
===WiFi information===
 
===WiFi information===
 
----
 
----
Line 58: Line 58:
  
 
As with the clients list command described above, to obtain this information the Linux '''iwinfo''' command is used, but this time with the '''info''' parameter (red). The relevant information, such as WiFi SSID, WiFi MAC address, WiFi channel, Encryption type, etc., is highlighted in blue
 
As with the clients list command described above, to obtain this information the Linux '''iwinfo''' command is used, but this time with the '''info''' parameter (red). The relevant information, such as WiFi SSID, WiFi MAC address, WiFi channel, Encryption type, etc., is highlighted in blue
 
+
<br><br><br><br>
 
===Manufacturing information===
 
===Manufacturing information===
 
----
 
----
Line 91: Line 91:
 
* '''simpin''' - returns the router's SIM card's PIN (as it is specified in the '''[[Mobile]]''' section)
 
* '''simpin''' - returns the router's SIM card's PIN (as it is specified in the '''[[Mobile]]''' section)
 
* '''blver''' - returns the router's Bootloader version
 
* '''blver''' - returns the router's Bootloader version
 
+
<br><br><br>
 
===GPS Data===
 
===GPS Data===
 
----
 
----
Line 107: Line 107:
 
  }
 
  }
 
'''Linux:'''
 
'''Linux:'''
***********************************************************************************************************
+
curl -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"call\",\"params\":[\"5363304b3ed4ee0806f101295fc52e93\",\"file\",\"exec\",{\"command\":\"gpsctl\",\"params\":[\"-ix\"]}]}" http://<span style=color:black>192.168.1.1</span>/ubus
 +
 
 +
Response:
 +
{"jsonrpc":"2.0","id":1,"result":[0,{"code":0,"stdout":"<span style=color:blue>-23.612625\n-46.626355\</span>n"}]}
 +
The blue part in the code are the Latitude and Longitude.
 +
<br><br><br>
 
===Firmware number===
 
===Firmware number===
 
----
 
----
Line 129: Line 134:
 
  {"jsonrpc":"2.0","id":1,"result":[0,{"data":"<span style=color:blue>RUT9XX_R_00.05.00.5</span>\n"}]}
 
  {"jsonrpc":"2.0","id":1,"result":[0,{"data":"<span style=color:blue>RUT9XX_R_00.05.00.5</span>\n"}]}
  
This command ('''file''', '''read''', highlighted in red) is an alternative to the Linux '''cat''' command we see used in the '''[[Monitoring_via_JSON-RPC#Getting_router_parameters|Getting router paramaters]]''' section of this guide. All you need is to specify the path (in this case '''/etc/version''', highlighted in red) to the file that you wish to read.
+
This command ('''file''', '''read''', highlighted in red) is an alternative to the Linux '''cat''' command. All you need is to specify the path (in this case '''/etc/version''', highlighted in red) to the file that you wish to read.
 
+
<br><br><br><br>
 
===Reboot===
 
===Reboot===
 
----
 
----
Line 150: Line 155:
  
 
The success response for this command is an empty message. If the response contains no data, the command was executed successfully.  
 
The success response for this command is an empty message. If the response contains no data, the command was executed successfully.  
 
+
<br><br><br><br>
 
===Set SIM card information===
 
===Set SIM card information===
 
----
 
----

Revision as of 16:01, 14 April 2020

Some Additional Commands

If the commands found in the guide above did not suffice your needs, this section provides a list of additional ones. The commands presented in this section will be for both Linux and Windows operating systems. They should be used as syntax examples for your own purposes.

WiFi clients list


This command returns a list of devices connected to your WLAN and some additional information about the connection.

Windows:

{
    "jsonrpc": "2.0", "id": 1, "method": "call", "params":
    [
        "86fc586fa1471622473434ff0176fd66", "iwinfo", "assoclist",
        {
            "device":"wlan0"
        }
    ]
}

Linux:

curl -d "{ \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"call\", \"params\": [ \"86fc586fa1471622473434ff0176fd66\", \"iwinfo\", \"assoclist\", {\"device\":\"wlan0\"} ] }" http://192.168.1.1/ubus

The response should look something like this:

{"jsonrpc":"2.0","id":1,"result":[0,{"results":
[{"mac":"E4:02:9B:88:09:AA","signal":-32,"noise":-88,"inactive":10,"rx":
{"rate":1000,"mcs":0,"40mhz":false,"short_gi":false},"tx":
{"rate":72200,"mcs":7,"40mhz":false,"short_gi":true}},
{"mac":"D8:C7:71:47:90:E1","signal":-12,"noise":-88,"inactive":400,"rx":
{"rate":1000,"mcs":0,"40mhz":false,"short_gi":false},"tx":
{"rate":72200,"mcs":7,"40mhz":false,"short_gi":true}}]}]}

To obtain these values, the Linux iwinfo command and assoclist parameter (red) are used. Highlighted in green are the devices connected to the router via WiFi as identified by their MAC addresses. The response information about the connection with the device, such as signal strength, noise, time of inactivity (idle time), rx, tx rate, etc., is highlighted in blue.



WiFi information


This command returns information on your WiFi Access Point.

Windows:

{
    "jsonrpc": "2.0", "id": 1, "method": "call", "params":
    [
        "a70ceeba344b6046625d8bcec132796c", "iwinfo", "info", 
        {
            "device":"wlan0"
        }
    ]
}

Linux:

curl -d "{ \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"call\", \"params\": [ \"a70ceeba344b6046625d8bcec132796c\", \"iwinfo\", \"info\", {\"device\":\"wlan0\"} ] }" http://192.168.1.1/ubus

Response:

{"jsonrpc":"2.0","id":1,"result":[0,
{"phy":"phy0","ssid":"HAL9000","bssid":"00:1E:42:16:D6:68","country":"00","mode":"Master","channel":6,"frequency":2437,"txpower":20,
"quality":22,"quality_max":70,"signal":22,"noise":-61,"bitrate":72200,"encryption":
{"enabled":false},"hwmodes":["b","g","n"],"hardware":{"name":"Generic MAC80211"}}]}

As with the clients list command described above, to obtain this information the Linux iwinfo command is used, but this time with the info parameter (red). The relevant information, such as WiFi SSID, WiFi MAC address, WiFi channel, Encryption type, etc., is highlighted in blue



Manufacturing information


This command returns information about the device's manufacturing details like device's Product Code, Serial Number MAC Address, etc.

Windows:

{
    "jsonrpc": "2.0", "id": 1, "method": "call", "params":
    [
        "805725a19ab0fba6c2b44ecf2f952fb9","file", "exec",
        {
            "command":"mnf_info", "params":["name", "sn", "mac"]
        }
    ]
}

Linux:

curl -d "{ \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"call\", \"params\": [ \"805725a19ab0fba6c2b44ecf2f952fb9\",\"file\", \"exec\",{ \"command\":\"mnf_info\", \"params\":[\"name\", \"sn\", \"mac\"] } ] }" http://192.168.1.1/ubus

Response:

{"jsonrpc":"2.0","id":1,"result":[0,{"code":0,"stdout":"RUT950HG12C0\n1367435694\n001e4216d666\n"}]}

To obtain the manufacturing information the mnf_info (highlighted in red) command is used. In this case a query was sent asking for the device's Product Code (name), Serial Number (sn) and MAC Address (mac) (highlighted in red in the query; returned values highlighted in blue). Using mnf_info, you can "ask" the router for any type of manufacturing information. Here is the list of possible mnf_info parameters:

  • mac - returns the router's LAN MAC address
  • maceth - returns the router's WAN MAC address
  • name - returns the router's Product Code
  • wps - returns the router's WPS PIN number
  • sn - returns the router's Serial number
  • batch - returns the router's Batch number
  • hwver - returns the router's Hardware Revision number
  • simpin - returns the router's SIM card's PIN (as it is specified in the Mobile section)
  • blver - returns the router's Bootloader version




GPS Data


This command returns the device's GPS GPS latitude and longitude.

Windows:

{
    "jsonrpc": "2.0", "id": 1, "method": "call", "params":
    [
      "456f77f6b686bf5972daa3a26bee60b0","file", "exec", 
         {
           "command":"gpsctl", "params":["-ix"]
         }
    ]
}

Linux:

curl -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"call\",\"params\":[\"5363304b3ed4ee0806f101295fc52e93\",\"file\",\"exec\",{\"command\":\"gpsctl\",\"params\":[\"-ix\"]}]}" http://192.168.1.1/ubus

Response:

{"jsonrpc":"2.0","id":1,"result":[0,{"code":0,"stdout":"-23.612625\n-46.626355\n"}]}

The blue part in the code are the Latitude and Longitude.


Firmware number


This command returns the device's Firmware version number.

Windows:

{
    "jsonrpc": "2.0", "id": 1, "method": "call", "params":
    [
        "85ea4cb00398d8387b22d8fa6f75f753", "file", "read",
        {
            "path":"/etc/version"
        }
    ]
}

Linux:

curl -d "{ \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"call\", \"params\": [ \"85ea4cb00398d8387b22d8fa6f75f753\",\"file\", \"read\",{ \"path\":\"/etc/version\"} ] }" http://192.168.1.1/ubus

Response:

{"jsonrpc":"2.0","id":1,"result":[0,{"data":"RUT9XX_R_00.05.00.5\n"}]}

This command (file, read, highlighted in red) is an alternative to the Linux cat command. All you need is to specify the path (in this case /etc/version, highlighted in red) to the file that you wish to read.



Reboot


Windows:

{
    "jsonrpc":"2.0","id":1,"method":"call","params":
    [
        "5cd4b143b182c07bc578ae3310d6280e","file","exec",
        {
            "command":"reboot","params":["config"]
        }
    ]
}

Linux:

curl -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"call\",\"params\":[\"5cd4b143b182c07bc578ae3310d6280e\",\"file\",\"exec\",{\"command\":\"reboot\",\"params\":[\"config\"]}]}" http://192.168.1.1/ubus

Response:

The success response for this command is an empty message. If the response contains no data, the command was executed successfully.



Set SIM card information


In this last example we'll try to change the mobile connection's MTU and Service mode values.

Windows:

{
    "jsonrpc":"2.0", "id":1, "method":"call", "params": 
    [
        "558a9b03c940e52f373f8c02498952e3", "uci", "set",
        {
            "config":"simcard", "type":"sim1", "match":
            {
                "service":"auto",
                "mtu":"1500"
            },
            "values":
            {
                "service":"lte-only",
                "mtu":"1476"
            }
        }
    ]
}

Linux:

curl -d "{\"jsonrpc\":\"2.0\", \"id\":1, \"method\":\"call\", \"params\":[\"558a9b03c940e52f373f8c02498952e3\", \"uci\", \"set\", {\"config\":\"simcard\", \"type\":\"sim1\", \"match\":{\"service\":\"auto\", \"mtu\":\"1500\"}, \"values\":{\"service\":\"lte-only\", \"mtu\":\"1476\"} } ] }" http://192.168.1.1/ubus

Response:

{"jsonrpc":"2.0","id":1,"result":[0]}

The command used is uci set (highlighted in red). The config file name is simcard, section sim1, options mtu and service (configs, sections and options highlighted in orange). The response shown above is a positive response, but don't forget to execute uci commit and luci-reload afterwards or else your changes will not take effect. The usage of uci commit and luci-reload commands is described here (for Windows) and here (for Linux).

[[Category:{{{name}}} Configuration Examples]]