RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
This document describes purpose and functionality of some of thunder plugins like WifiControl,Network Control,Location sync,Time sync,SystemCommands plugins and DHCP server.
$ repo init -u https://code.rdkcentral.com/r/manifests -m rdkv-asp-nosrc.xml -b thunder
$ repo sync -j4 --no-clone-bundle
$ source meta-cmf-raspberrypi/setup-environment
select meta-cmf-raspberrypi/conf/machine/raspberrypi-rdk-hybrid-thunder.conf
$ bitbake rdk-generic-hybrid-thunder-image
Wifi Control plugin:- It allows us to manage wireless connectivity things through UI such as
1)SCAN: It will list all the wifi connections.we have to select particular connection to connect.
2)SSID :If you select the wifi connection by using above scan automatically ssid will display as part of UI.
3)PASSWORD: we Should provide the password for particular connection which you are selecting for wifi connection.
4)CONFIGS:-we should save the configs of particular ssid.
5)Connect:- If you press the connect button it will show the status of the connection as part of UI .
6)Disconnect:- If you press the disconnect button it will disconnect the connected wifi.
Below picture shows that successfully connected to RDK wifi connection:-
for more details go through this link
Network control plugin:-
It provides the following methods:
reload | Reloads a static and non-static network interface adapter |
request | Reloads a non-static network interface adapter |
assign | Reloads a static network interface adapter |
flush | Flushes a network interface adapter |
Not only the above functionalities but also we can able to know the status of the connected interface for eth0,wlan0,lo.
For more details go through the below link https://github.com/WebPlatformForEmbedded/ThunderNanoServices/blob/master/NetworkControl/doc/NetworkControlPlugin.md
the below picture shows the Network control UI for ETH0 interface
Location sync plugin:-
It provides the geo-location functionality such as the City,Country ,Region, Timezone, Public IP, Sync.As of now it will list the country,timezone and public ip as part of UI
For more details go through this link https://github.com/WebPlatformForEmbedded/ThunderNanoServices/blob/master/LocationSync/doc/LocationSyncPlugin.md
Below pic shows the Location sync plugin UI
TIme sync plugin:-
It provides time synchronization functionality from various time sources (e.g. NTP).
UI will show the parameter like Current time ,Source ,Last synced , ,Control
we can also set time by using UI,Below picture show the UI for time sync plugin
For more details go through this link https://github.com/WebPlatformForEmbedded/ThunderNanoServices/blob/master/TimeSync/doc/TimeSyncPlugin.md
System commands plugin:
It allows executing of low level actions on the system.It is supporting USBRESET functionality,means USB device can be reset using USBFS_RESET ioctl command.
we have to pass the dev path as part of params usually in RPI it should be there in /dev/bus/usb/
By using lsusb it will list the connected usb:
root@raspberrypi-rdk-hybrid-thunder:~# lsusb
Bus 001 Device 006: ID 05e3:0751
Bus 001 Device 005: ID 0424:7800
Bus 001 Device 004: ID 03f0:0024
Bus 001 Device 003: ID 0424:2514
Bus 001 Device 002: ID 0424:2514
Bus 001 Device 001: ID 1d6b:0002
By using the JSON RPC we can able to do reset the usb device.Your jason rpc looks like below
curl --data-binary '{"jsonrpc": "2.0", "id": 1234567890, "method": "SystemCommands.1.usbreset", "params": {"device": "/dev/bus/usb/001/006"} }' -H 'content-type:text/plain;' http://$ip/jsonrpc
for more details go through this link https://github.com/WebPlatformForEmbedded/ThunderNanoServices/blob/master/SystemCommands/doc/SystemCommandsPlugin.md
DHCP SERVER PLUGINS:
A DHCP Server is a network server that automatically provides and assigns IP addresses, default gateways and other network parameters to client devices.
By using the DHCP server plugin we can activate and deactivate the server by using the following jason commands
curl --data-binary '{"jsonrpc": "2.0", "id": 1234567890, "method": "DHCPServer.1.activate", "params": { "interface": "eth0" }}' -H 'content-type:text/plain;' http://$IP/jsonrpc
curl --data-binary '{"jsonrpc": "2.0", "id": 1234567890, "method": "DHCPServer.1.deactivate", "params": { "interface": "eth0" }}' -H 'content-type:text/plain;' http://SIP/jsonrpc
It also allows Provides access to the server status. By using below command we can get the server status details
curl --data-binary '{"jsonrpc": "2.0", "id": 1234567890, "method": "DHCPServer.1.status@eth0" }' -H 'content-type:text/plain;' http://SIP/jsonrpc
for more details go through this link https://github.com/WebPlatformForEmbedded/ThunderNanoServices/blob/master/DHCPServer/doc/DHCPServerPlugin.md
For debugging purpose need to select the plugins which are shown as part of Tracing in UI.And check the wpeframework.service logs
journalctl -x -u wpeframework.service
Below picture shows how to select the plugins in UI to get more debug logs
https://github.com/WebPlatformForEmbedded/ThunderNanoServices
Contact | Organization | Phone | Role | |
Rajkumar Narayanan | LTTS | Nil | rajkumar.narayanan@ltts.com | Program Manager |