RDK Diagnostics
Description
This provides HTML diagnostic clients which can be used for Hybrid Gateway devices as well as IP clients. It also supports retrieving diagnostic values over a TR-069 interface for devices where snmp support is not present (IP client devices). Also additional diagnostic screens to monitor MOCA devices are available.
HTML based diagnostic screens will send a JSON request to the Lighttpd server. This request is converted to a corresponding SNMP trigger or a TR-69 request to retrieve the data and send it back as a JSON response to the HTML client.
Capabilities
- Handle HTTP gets from Diagnostics Application.
- Retrieve data from SNMP and/or TR-069 Clients.
Feature Summary
-
Application access to SNMP MIB objects
- Application access to TR-069 parameters
- Application access to RDK state variables
Diagnostic Parameters (example)
Parameter | SNMP MIB | TR-069 Object |
---|---|---|
MoCA Enable/Disable Status | mocaIfEnable | Device.MoCA.Interface.{i}.Enable |
Firmware Version | ocStbHostSoftwareFirmwareVersion | SoftwareVersion |
LAN IP Address | Device.IP.Interface.{i}.IPv4Address.{i}.IPAddress |
State Variables
RDK will signal state variable transitions to application, and application will present the corresponding error messages to the user if necessary.
Diagnostics using SNMP
A glance on SNMP
- Simple Network Management Protocol (SNMP) is an Internet-standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behaviour.
- SNMP is the opensource component which is integrated with RDK.
- “snmpd” is the snmp agent which is running in the box.
- All MIBS are available in /usr/share/snmp/mibs/
SNMP MIB
-
SNMP agents maintains a database describing the managed device parameters.
-
Manager uses this database to request the agent to retrieve specific information and further translates the information as needed for the network mangement system .
-
Agent and Manager shares MIB
-
MIBs comprises of managed object identified by the name Object Identifier (OID).
-
SNMP mibs starts with 1.3.6.1.2.1
SNMP Diagnostics
- SNMP queries are used to fetch the details from the box which will be displayed in the “Diagnostics” page
- SNMP is used only in “hybrid” box types and not in client boxes.
- Client boxes use TR069 protocol for fetching diagnostic details.
Steps to display Diagnostics page in PC Browser
- Step 1:
Copy lighttpd config file from /etc to /opt
cp /etc/lighttpd.conf /opt/
- Step 2 :
Modify config file to show the page in browser.
vi /opt/lighttpd.conf
Comment below line
server.bind = “127.0.0.1”
- Step 3:
Execute below command
ps -ef| grep “/usr/sbin/lighttpd” | grep -v “grep” | awk ‘{print $2}’ | xargs kill -9 >& /dev/null;/usr/sbin/lighttpd -D -f /opt/lighttpd.conf &
- Step 4:
Use below url in the browser to see diagnostics page
http://<hybrid box lan ip address>:50050/htmldiag/summary_info.html
eg: http://192.168.160.83:50050/htmldiag/summary_info.html
Note: Use TAB, SHIFT+TAB and ENTER keys to browse through this page
SNMP queries through command line
- SNMP queries can be executed command line to fetch the details
- Execute below commands in the box console to see the output of the query
Example 1: Querying card binding status
snmpwalk -OQ -v 2c -c public 127.0.0.1 OC-STB-HOST-MIB::ocStbHostCardBindingStatus.0
Expected Output :
It shows that card is not authenticated for paid channels
Example 2: To check signal strength
snmpwalk -v 2c -c public 127.0.0.1 OC-STB-HOST-MIB::ocStbHostInBandTunerTable
Example 3: For HDMI status returned by TV
snmpwalk -OQ -v 2c -c public 127.0.0.1 OC-STB-HOST-MIB::ocStbHostDVIHDMITable
Diagnostics using TR069
- TR069 queries are used to fetch the details from the box which will be displayed in the “Diagnostics” page
- TR069 is used only in “client” box types and not in hybrid boxes.
- Hybrid boxes use SNMP protocol for fetching diagnostic details.
Steps to display Diagnostics page in PC Browser
- Step 1:
Copy lighttpd config file from /etc to /opt
cp /etc/lighttpd.conf /opt/
- Step 2 :
Modify config file to show the page in browser.
vi /opt/lighttpd.conf
Comment below line
server.bind = “127.0.0.1”
- Step 3:
Execute below command
ps -ef| grep “/usr/sbin/lighttpd” | grep -v “grep” | awk ‘{print $2}’ | xargs kill -9 >& /dev/null;/usr/sbin/lighttpd -D -f /opt/lighttpd.conf &
- Step 4:
Use below url in the browser to see diagnostics page
http://<client box lan ip address>:50050/htmldiag/summary_info.html
eg: http://192.168.160.34:50050/htmldiag/summary_info.html
TR-069 queries through command line
-
TR 060 queries can be executed command line to fetch the details using curl to query tr69Hostif
-
Execute below commands in the box console to see the output of the query
Example 1: To fetch number of entries in the HDMI table
curl -d ‘{“paramList” : [{“name” : “Device.Services.STBService.1.Components.HDMI.1.Status”}]}’ http://127.0.0.1:10999
Example 2: To fetch Human-readable name associated with this video decoder
curl -d ‘{“paramList” : [{“name” : “Device.Services.STBService.1.Components.VideoDecoder.1.Name”}]}’ http://127.0.0.1:10999
Example 3: To fetch the device total cpu usage
curl -d ‘{“paramList” : [{“name” : “Device.DeviceInfo.ProcessStatus.CPUUsage”}]}’ http://127.0.0.1:10999
Steps to display Diagnostics page in PC Browser