Scope
RDK Reference USP controller for testing Remote management in RDK-B
Code base
Use cases tested
- getpv
- setpv
- rpc methods
- Datamodel tree discovery
Block diagram
| draw.io Diagram |
|---|
| border | true |
|---|
| |
|---|
| diagramName | uspco |
|---|
| simpleViewer | false |
|---|
| width | |
|---|
| links | auto |
|---|
| tbstyle | top |
|---|
| lbox | true |
|---|
| diagramWidth | 9411367 |
|---|
| height | 862872 |
|---|
| revision | 12 |
|---|
|
Installation steps
- setup MQTT in host machine & allow the ports
| Code Block |
|---|
ontroller# netstat -tlnp | grep mosquitto
tcp 0 0 127.0.0.1:1883 0.0.0.0:* LISTEN 1596/mosquitto
tcp6 0 0 ::1:1883 :::* LISTEN 1596/mosquitto
pip3 install paho-mqtt
pip3 install protobuf==3.20.3
pip3 install flask |
- goto https://github.com/rdkcentral/rdkb-usp-reference-controller and configure the ip address and start app using python3 app.py
| Code Block |
|---|
self.config = {
'broker': "10.26.60.86",
self.repos = {
......
"server": "http://10.26.60.86/"
repos = {
......
"server": "http://10.26.60.86/" |
- Factory reset file
| Code Block |
|---|
##########################################################################################################
#
# This file contains a factory reset database in text format
#
# If no USP database exists when OB-USP-AGENT starts, then OB-USP-AGENT will create a database containing
# the parameters specified in a text file located by the '-r' option.
# Example:
# obuspa -p -v 4 -r factory_reset_example.txt
#
# Each line of this file contains either a comment (denoted by '#' at the start of the line)
# or a USP data model parameter and its factory reset value.
# The parameter and value are separated by whitespace.
# The value may optionally be enclosed in speech marks "" (this is the only way to specify an empty string)
#
##########################################################################################################
Device.LocalAgent.EndpointID "proto::rx_usp_agent_mqtt"
## Adding boot params
Device.LocalAgent.Controller.1.BootParameter.1.Enable true
Device.LocalAgent.Controller.1.BootParameter.1.ParameterName "Device.LocalAgent.EndpointID"
Device.LocalAgent.Subscription.1.Alias cpe-1
Device.LocalAgent.Subscription.1.Enable true
Device.LocalAgent.Subscription.1.ID default-boot-event-ACS
Device.LocalAgent.Subscription.1.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.1.NotifType Event
Device.LocalAgent.Subscription.1.ReferenceList Device.Boot!
Device.LocalAgent.Subscription.1.Persistent true
Device.LocalAgent.Subscription.2.Alias cpe-2
Device.LocalAgent.Subscription.2.Enable true
Device.LocalAgent.Subscription.2.ID PeriodicInformInterval
Device.LocalAgent.Subscription.2.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.2.NotifType ValueChange
Device.LocalAgent.Subscription.2.ReferenceList Device.ManagementServer.PeriodicInformInterval
Device.LocalAgent.Subscription.2.Persistent true
Device.LocalAgent.Subscription.2.TimeToLive 0
Device.LocalAgent.Subscription.2.NotifRetry true
Device.LocalAgent.Subscription.2.NotifExpiration 10000
Device.LocalAgent.Subscription.3.Alias cpe-3
Device.LocalAgent.Subscription.3.Enable true
Device.LocalAgent.Subscription.3.ID object-creation
Device.LocalAgent.Subscription.3.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.3.NotifType ObjectCreation
Device.LocalAgent.Subscription.3.ReferenceList Device.Routing.Router.
Device.LocalAgent.Subscription.3.Persistent true
Device.LocalAgent.Subscription.3.TimeToLive 0
Device.LocalAgent.Subscription.3.NotifRetry true
Device.LocalAgent.Subscription.3.NotifExpiration 10000
Device.LocalAgent.Subscription.4.Alias cpe-4
Device.LocalAgent.Subscription.4.Enable true
Device.LocalAgent.Subscription.4.ID object-deletion
Device.LocalAgent.Subscription.4.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.4.NotifType ObjectDeletion
Device.LocalAgent.Subscription.4.ReferenceList Device.Routing.Router.
Device.LocalAgent.Subscription.4.Persistent true
Device.LocalAgent.Subscription.4.TimeToLive 0
Device.LocalAgent.Subscription.4.NotifRetry true
Device.LocalAgent.Subscription.4.NotifExpiration 10000
Device.LocalAgent.Subscription.5.Alias cpe-5
Device.LocalAgent.Subscription.5.Enable true
Device.LocalAgent.Subscription.5.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.5.ID operation-complete
Device.LocalAgent.Subscription.5.NotifType OperationComplete
Device.LocalAgent.Subscription.5.ReferenceList Device.SelfTestDiagnostics()
Device.LocalAgent.Subscription.5.Persistent true
Device.LocalAgent.Subscription.5.TimeToLive 0
Device.LocalAgent.Subscription.5.NotifRetry true
Device.LocalAgent.Subscription.5.NotifExpiration 10000
Device.LocalAgent.Subscription.6.Alias cpe-6
Device.LocalAgent.Subscription.6.Enable true
Device.LocalAgent.Subscription.6.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.6.ID default-boot-event-ACS
Device.LocalAgent.Subscription.6.CreationDate 0001-01-01T00:00:00Z
Device.LocalAgent.Subscription.6.NotifType Event
Device.LocalAgent.Subscription.6.ReferenceList Device.Boot!
Device.LocalAgent.Subscription.6.Persistent true
Device.LocalAgent.Subscription.6.TimeToLive 0
Device.LocalAgent.Subscription.6.NotifRetry true
Device.LocalAgent.Subscription.6.NotifExpiration 10000
Device.LocalAgent.MTP.1.MQTT.ResponseTopicConfigured "/usp/agent"
Device.LocalAgent.MTP.1.MQTT.Reference "Device.MQTT.Client.1"
#Device.MQTT.Client.1.BrokerAddress "mqtt.eclipse.org"
#Device.MQTT.Client.1.BrokerAddress "localhost"
#Device.MQTT.Client.1.BrokerAddress "192.168.2.130"
Device.MQTT.Client.1.BrokerAddress "69.136.48.217"
Device.MQTT.Client.1.ProtocolVersion "5.0"
Device.MQTT.Client.1.BrokerPort "1883"
Device.MQTT.Client.1.TransportProtocol "TCP/IP"
Device.MQTT.Client.1.Username ""
Device.MQTT.Client.1.Password ""
Device.MQTT.Client.1.Alias "cpe-1"
Device.MQTT.Client.1.Enable true
Device.MQTT.Client.1.ClientID ""
Device.MQTT.Client.1.KeepAliveTime "60"
Device.MQTT.Client.1.ConnectRetryTime "5"
Device.MQTT.Client.1.ConnectRetryIntervalMultiplier "2000"
Device.MQTT.Client.1.ConnectRetryMaxInterval "60"
Device.LocalAgent.Controller.1.Alias "cpe-1"
Device.LocalAgent.Controller.1.EndpointID "self::usp-controller"
Device.LocalAgent.Controller.1.ControllerCode ""
Device.LocalAgent.Controller.1.Enable true
Device.LocalAgent.Controller.1.PeriodicNotifInterval "86400"
Device.LocalAgent.Controller.1.PeriodicNotifTime "0001-01-01T00:00:00Z"
Device.LocalAgent.Controller.1.MTP.1.Alias "cpe-1"
Device.LocalAgent.Controller.1.MTP.1.Enable true
Device.LocalAgent.Controller.1.MTP.1.Protocol "MQTT"
Device.LocalAgent.Controller.1.MTP.1.MQTT.Reference "Device.MQTT.Client.1"
Device.LocalAgent.Controller.1.MTP.1.MQTT.Topic "/usp/controller"
#
# The following parameters may be modified
#
Device.LocalAgent.MTP.1.Alias "cpe-1"
Device.LocalAgent.MTP.1.Enable true
Device.LocalAgent.MTP.1.Protocol "MQTT"
Internal.Reboot.Cause "LocalFactoryReset" |
Events
| View file |
|---|
| name | usp_factory_reset.conf |
|---|
| height | 250 |
|---|
|
Factor reset with IoT
| Code Block |
|---|
root@Filogic-GW:~# cat /etc/usp-pa/usp_factory_reset.conf
##########################################################################################################
#
# This file contains a factory reset database in text format
#
# If no USP database exists when OB-USP-AGENT starts, then OB-USP-AGENT will create a database containing
# the parameters specified in a text file located by the '-r' option.
# Example:
# obuspa -p -v 4 -r factory_reset_example.txt
#
# Each line of this file contains either a comment (denoted by '#' at the start of the line)
# or a USP data model parameter and its factory reset value.
# The parameter and value are separated by whitespace.
# The value may optionally be enclosed in speech marks "" (this is the only way to specify an empty string)
#
##########################################################################################################
Device.LocalAgent.EndpointID "proto::rx_usp_agent_mqtt"
## Adding boot params
Device.LocalAgent.Controller.1.BootParameter.1.Enable true
Device.LocalAgent.Controller.1.BootParameter.1.ParameterName "Device.LocalAgent.EndpointID"
##########################################################################################################
# SUBSCRIPTIONS
##########################################################################################################
## Sub 1 — Boot Event (default)
Device.LocalAgent.Subscription.1.Alias cpe-1
Device.LocalAgent.Subscription.1.Enable true
Device.LocalAgent.Subscription.1.ID default-boot-event-ACS
Device.LocalAgent.Subscription.1.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.1.NotifType Event
Device.LocalAgent.Subscription.1.ReferenceList Device.Boot!
Device.LocalAgent.Subscription.1.Persistent true
## Sub 2 — ValueChange: PeriodicInformInterval
Device.LocalAgent.Subscription.2.Alias cpe-2
Device.LocalAgent.Subscription.2.Enable true
Device.LocalAgent.Subscription.2.ID PeriodicInformInterval
Device.LocalAgent.Subscription.2.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.2.NotifType ValueChange
Device.LocalAgent.Subscription.2.ReferenceList Device.ManagementServer.PeriodicInformInterval
Device.LocalAgent.Subscription.2.Persistent true
Device.LocalAgent.Subscription.2.TimeToLive 0
Device.LocalAgent.Subscription.2.NotifRetry true
Device.LocalAgent.Subscription.2.NotifExpiration 10000
## Sub 3 — ObjectCreation: Routing.Router
Device.LocalAgent.Subscription.3.Alias cpe-3
Device.LocalAgent.Subscription.3.Enable true
Device.LocalAgent.Subscription.3.ID object-creation
Device.LocalAgent.Subscription.3.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.3.NotifType ObjectCreation
Device.LocalAgent.Subscription.3.ReferenceList Device.Routing.Router.
Device.LocalAgent.Subscription.3.Persistent true
Device.LocalAgent.Subscription.3.TimeToLive 0
Device.LocalAgent.Subscription.3.NotifRetry true
Device.LocalAgent.Subscription.3.NotifExpiration 10000
## Sub 4 — ObjectDeletion: Routing.Router
Device.LocalAgent.Subscription.4.Alias cpe-4
Device.LocalAgent.Subscription.4.Enable true
Device.LocalAgent.Subscription.4.ID object-deletion
Device.LocalAgent.Subscription.4.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.4.NotifType ObjectDeletion
Device.LocalAgent.Subscription.4.ReferenceList Device.Routing.Router.
Device.LocalAgent.Subscription.4.Persistent true
Device.LocalAgent.Subscription.4.TimeToLive 0
Device.LocalAgent.Subscription.4.NotifRetry true
Device.LocalAgent.Subscription.4.NotifExpiration 10000
## Sub 5 — OperationComplete: SelfTestDiagnostics
Device.LocalAgent.Subscription.5.Alias cpe-5
Device.LocalAgent.Subscription.5.Enable true
Device.LocalAgent.Subscription.5.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.5.ID operation-complete
Device.LocalAgent.Subscription.5.NotifType OperationComplete
Device.LocalAgent.Subscription.5.ReferenceList Device.SelfTestDiagnostics()
Device.LocalAgent.Subscription.5.Persistent true
Device.LocalAgent.Subscription.5.TimeToLive 0
Device.LocalAgent.Subscription.5.NotifRetry true
Device.LocalAgent.Subscription.5.NotifExpiration 10000
## Sub 6 — Boot Event (duplicate for retry)
Device.LocalAgent.Subscription.6.Alias cpe-6
Device.LocalAgent.Subscription.6.Enable true
Device.LocalAgent.Subscription.6.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.6.ID default-boot-event-ACS
Device.LocalAgent.Subscription.6.CreationDate 0001-01-01T00:00:00Z
Device.LocalAgent.Subscription.6.NotifType Event
Device.LocalAgent.Subscription.6.ReferenceList Device.Boot!
Device.LocalAgent.Subscription.6.Persistent true
Device.LocalAgent.Subscription.6.TimeToLive 0
Device.LocalAgent.Subscription.6.NotifRetry true
Device.LocalAgent.Subscription.6.NotifExpiration 10000
## Sub 7 — ValueChange: User Password
Device.LocalAgent.Subscription.7.Alias cpe-7
Device.LocalAgent.Subscription.7.Enable true
Device.LocalAgent.Subscription.7.ID user-password-change
Device.LocalAgent.Subscription.7.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.7.NotifType ValueChange
Device.LocalAgent.Subscription.7.ReferenceList Device.Users.User.2.X_CISCO_COM_Password
Device.LocalAgent.Subscription.7.Persistent true
Device.LocalAgent.Subscription.7.TimeToLive 0
Device.LocalAgent.Subscription.7.NotifRetry true
Device.LocalAgent.Subscription.7.NotifExpiration 10000
## Sub 8 — ValueChange: DHCP Pool MinAddress
Device.LocalAgent.Subscription.8.Alias cpe-8
Device.LocalAgent.Subscription.8.Enable true
Device.LocalAgent.Subscription.8.ID dhcp-min-change
Device.LocalAgent.Subscription.8.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.8.NotifType ValueChange
Device.LocalAgent.Subscription.8.ReferenceList Device.DHCPv4.Server.Pool.1.MinAddress
Device.LocalAgent.Subscription.8.Persistent true
Device.LocalAgent.Subscription.8.TimeToLive 0
Device.LocalAgent.Subscription.8.NotifRetry true
Device.LocalAgent.Subscription.8.NotifExpiration 10000
## Sub 9 — ValueChange: DNS Server
Device.LocalAgent.Subscription.9.Alias cpe-9
Device.LocalAgent.Subscription.9.Enable true
Device.LocalAgent.Subscription.9.ID dns-change
Device.LocalAgent.Subscription.9.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.9.NotifType ValueChange
Device.LocalAgent.Subscription.9.ReferenceList Device.DNS.Client.Server.1.DNSServer
Device.LocalAgent.Subscription.9.Persistent true
Device.LocalAgent.Subscription.9.TimeToLive 0
Device.LocalAgent.Subscription.9.NotifRetry true
Device.LocalAgent.Subscription.9.NotifExpiration 10000
## Sub 10 — ValueChange: IPPing Host
Device.LocalAgent.Subscription.10.Alias cpe-10
Device.LocalAgent.Subscription.10.Enable true
Device.LocalAgent.Subscription.10.ID ping-host-change
Device.LocalAgent.Subscription.10.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.10.NotifType ValueChange
Device.LocalAgent.Subscription.10.ReferenceList Device.IP.Diagnostics.IPPing.Host
Device.LocalAgent.Subscription.10.Persistent true
Device.LocalAgent.Subscription.10.TimeToLive 0
Device.LocalAgent.Subscription.10.NotifRetry true
Device.LocalAgent.Subscription.10.NotifExpiration 10000
## Sub 11 — ObjectCreation: DNS Server
Device.LocalAgent.Subscription.11.Alias cpe-11
Device.LocalAgent.Subscription.11.Enable true
Device.LocalAgent.Subscription.11.ID dns-server-create
Device.LocalAgent.Subscription.11.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.11.NotifType ObjectCreation
Device.LocalAgent.Subscription.11.ReferenceList Device.DNS.Client.Server.
Device.LocalAgent.Subscription.11.Persistent true
Device.LocalAgent.Subscription.11.TimeToLive 0
Device.LocalAgent.Subscription.11.NotifRetry true
Device.LocalAgent.Subscription.11.NotifExpiration 10000
## Sub 12 — ObjectDeletion: DNS Server
Device.LocalAgent.Subscription.12.Alias cpe-12
Device.LocalAgent.Subscription.12.Enable true
Device.LocalAgent.Subscription.12.ID dns-server-delete
Device.LocalAgent.Subscription.12.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.12.NotifType ObjectDeletion
Device.LocalAgent.Subscription.12.ReferenceList Device.DNS.Client.Server.
Device.LocalAgent.Subscription.12.Persistent true
Device.LocalAgent.Subscription.12.TimeToLive 0
Device.LocalAgent.Subscription.12.NotifRetry true
Device.LocalAgent.Subscription.12.NotifExpiration 10000
## Sub 13 — ObjectCreation: Users
Device.LocalAgent.Subscription.13.Alias cpe-13
Device.LocalAgent.Subscription.13.Enable true
Device.LocalAgent.Subscription.13.ID user-create
Device.LocalAgent.Subscription.13.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.13.NotifType ObjectCreation
Device.LocalAgent.Subscription.13.ReferenceList Device.Users.User.
Device.LocalAgent.Subscription.13.Persistent true
Device.LocalAgent.Subscription.13.TimeToLive 0
Device.LocalAgent.Subscription.13.NotifRetry true
Device.LocalAgent.Subscription.13.NotifExpiration 10000
## Sub 14 — ObjectDeletion: Users
Device.LocalAgent.Subscription.14.Alias cpe-14
Device.LocalAgent.Subscription.14.Enable true
Device.LocalAgent.Subscription.14.ID user-delete
Device.LocalAgent.Subscription.14.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.14.NotifType ObjectDeletion
Device.LocalAgent.Subscription.14.ReferenceList Device.Users.User.
Device.LocalAgent.Subscription.14.Persistent true
Device.LocalAgent.Subscription.14.TimeToLive 0
Device.LocalAgent.Subscription.14.NotifRetry true
Device.LocalAgent.Subscription.14.NotifExpiration 10000
## Sub 15 — OperationComplete: IPPing
Device.LocalAgent.Subscription.15.Alias cpe-15
Device.LocalAgent.Subscription.15.Enable true
Device.LocalAgent.Subscription.15.ID ping-complete
Device.LocalAgent.Subscription.15.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.15.NotifType OperationComplete
Device.LocalAgent.Subscription.15.ReferenceList Device.IP.Diagnostics.IPPing()
Device.LocalAgent.Subscription.15.Persistent true
Device.LocalAgent.Subscription.15.TimeToLive 0
Device.LocalAgent.Subscription.15.NotifRetry true
Device.LocalAgent.Subscription.15.NotifExpiration 10000
## Sub 16 — OperationComplete: TraceRoute
Device.LocalAgent.Subscription.16.Alias cpe-16
Device.LocalAgent.Subscription.16.Enable true
Device.LocalAgent.Subscription.16.ID traceroute-complete
Device.LocalAgent.Subscription.16.Recipient Device.LocalAgent.Controller.1
Device.LocalAgent.Subscription.16.NotifType OperationComplete
Device.LocalAgent.Subscription.16.ReferenceList Device.IP.Diagnostics.TraceRoute()
Device.LocalAgent.Subscription.16.Persistent true
Device.LocalAgent.Subscription.16.TimeToLive 0
Device.LocalAgent.Subscription.16.NotifRetry true
Device.LocalAgent.Subscription.16.NotifExpiration 10000
##########################################################################################################
# MQTT BROKER
##########################################################################################################
Device.LocalAgent.MTP.1.MQTT.ResponseTopicConfigured "/usp/agent"
Device.LocalAgent.MTP.1.MQTT.Reference "Device.MQTT.Client.1"
Device.MQTT.Client.1.BrokerAddress "10.26.69.240"
Device.MQTT.Client.1.ProtocolVersion "5.0"
Device.MQTT.Client.1.BrokerPort "1883"
Device.MQTT.Client.1.TransportProtocol "TCP/IP"
Device.MQTT.Client.1.Username ""
Device.MQTT.Client.1.Password ""
Device.MQTT.Client.1.Alias "cpe-1"
Device.MQTT.Client.1.Enable true
Device.MQTT.Client.1.ClientID ""
Device.MQTT.Client.1.KeepAliveTime "60"
Device.MQTT.Client.1.ConnectRetryTime "5"
Device.MQTT.Client.1.ConnectRetryIntervalMultiplier "2000"
Device.MQTT.Client.1.ConnectRetryMaxInterval "60"
##########################################################################################################
# CONTROLLER
##########################################################################################################
Device.LocalAgent.Controller.1.Alias "cpe-1"
Device.LocalAgent.Controller.1.EndpointID "self::usp-controller"
Device.LocalAgent.Controller.1.ControllerCode ""
Device.LocalAgent.Controller.1.Enable true
Device.LocalAgent.Controller.1.PeriodicNotifInterval "86400"
Device.LocalAgent.Controller.1.PeriodicNotifTime "0001-01-01T00:00:00Z"
Device.LocalAgent.Controller.1.MTP.1.Alias "cpe-1"
Device.LocalAgent.Controller.1.MTP.1.Enable true
Device.LocalAgent.Controller.1.MTP.1.Protocol "MQTT"
Device.LocalAgent.Controller.1.MTP.1.MQTT.Reference "Device.MQTT.Client.1"
Device.LocalAgent.Controller.1.MTP.1.MQTT.Topic "/usp/controller"
##########################################################################################################
# MTP
##########################################################################################################
Device.LocalAgent.MTP.1.Alias "cpe-1"
Device.LocalAgent.MTP.1.Enable true
Device.LocalAgent.MTP.1.Protocol "MQTT"
##########################################################################################################
# INTERNAL
##########################################################################################################
Internal.Reboot.Cause "LocalFactoryReset"
|
References