Introduction

This document describes purpose and functionality of some of Thunder plugins like WifiControl,Network Control,Location sync,Time sync,SystemCommands plugins and DHCP server.

  • Wifi Control plugin:- The WiFi Control plugin allows to manage various aspects of wireless connectivity like Scan,Connect,Disconnect,Status,Configs etc.
  • Network control plugin:-The Network Control plugin provides functionality for network interface management like current network details,interface up status etc.
  • Location sync plugin:-The LocationSync plugin provides geo-location functionality such as location information like City,Country,Time zone,public ip etc.
  • Time sync plugin:-The Time Sync plugin provides time synchronization functionality from various time sources such as synchronization,set the time etc.
  • System Commands plugin:-The System Commands plugin allows executing of low level actions on the system.At present we are supporting like USBreset functionality.
  • DHCP server plugin:-The DHCP server plugin provides access to the server state,we can Activate and Deactivate the service by using this plugin.

Building procedure

        $ 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

Explanation for Individual plugins

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

 https://github.com/WebPlatformForEmbedded/ThunderNanoServices/blob/master/WifiControl/doc/WifiControlPlugin.md

Network control plugin:-

It provides the following methods:

reloadReloads a static and non-static network interface adapter
requestReloads a non-static network interface adapter
assignReloads a static network interface adapter
flushFlushes 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

Debug Logs

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


Referrence

 https://github.com/WebPlatformForEmbedded/ThunderNanoServices

Support

Contact

Organization

Phone

Email

Role

Rajkumar Narayanan

LTTS

Nil

rajkumar.narayanan@ltts.com

Program Manager

  • No labels