Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
minLevel2
styledisc

Introduction.

TR-069 is a technical specification that defines an application layer protocol for remote management of end-user devices. It was published by the Broadband Forum and was entitled CPE WAN Management Protocol (CWMP). It provides the communication between CPE and Auto Configuration Servers (ACS). An ACS can manage a device, trouble shoot, configure, upgrade etc. TR-69 uses common web protocols such as HTTP, TCP-IP, SOAP, XML-RPCs to exchange information.

GenieACS Server and Client BPIR4 communication.

The CPE is responsible for establishing the session to the server. The CPE keeps sending HTTP POST requests during the session. The session is closed as soon as both CPE & GenieACS  have indicated that they have nothing more to send (response or new RPC).

 Image Added

GenieACS Server.

Ensure the GenieACS Server Setup is launched and running to establish the Client-Server communication

GenieACS server home page:

Image Added

Test Procedure.

Client BPIR4 set-up

Steps to be followed:

1) Flash the RDK-Broadband image where the Tr069 Protocol Agent is enabled.

Code Block
themeRDark
titleCcspTr069PaSsp.service status .
root@Filogic-GW:/lib/systemd/system# systemctl status CcspTr069PaSsp.service 
● CcspTr069PaSsp.service - CcspTr069PaSsp service
     Loaded: loaded (/lib/systemd/system/CcspTr069PaSsp.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-04-28 17:43:08 UTC; 2 years 6 months ago
    Process: 3809 ExecStartPre=/bin/sh -c val=`syscfg get EnableTR69Binary`; if [ "$val" == "false" ]; then `systemctl stop CcspTr069PaSsp`; fi (code=exited, status=0/SUCCESS)
    Process: 3834 ExecStart=/usr/bin/CcspTr069PaSsp -subsys $Subsys (code=exited, status=0/SUCCESS)
   Main PID: 3856 (CcspTr069PaSsp)
      Tasks: 17 (limit: 4713)
     Memory: 9.2M
     CGroup: /system.slice/CcspTr069PaSsp.service
             └─ 3856 /usr/bin/CcspTr069PaSsp -subsys eRT.


2) Check for the CcspTr069PaSsp is active and listening to port 7547

Image Added


3)Then, set the parameters for connecting CPE with ACS server.

Code Block
themeRDark
titleCommands for acs server connectivity.
$  dmcli eRT setv Device.ManagementServer.EnableCWMP bool true

$  dmcli eRT setv Device.ManagementServer.URL string http://192.168.2.165:7547/
 
$  dmcli eRT setv Device.DeviceInfo.X_RDKCENTRAL-COM_Syndication.TR69CertLocation string "/etc/cacert.pem"


5) Now, from the GenieACS Server try to fetch the Connected Devices details.

GenieACS Server Login & Initial check.

1) Visit the GenieACS Server page

2) Click on "Devices" that displays the connected devices information and the device parameters available

Image Added


3) Force Inform Parameters 

Code Block
themeRDark
titleForce inform parameters.
collapsetrue
The following parameters must be supported for Forced Inform:

Device.DeviceInfo.HardwareVersion

Device.DeviceInfo.SoftwareVersion

Device.DeviceInfo.ProvisioningCode

Device.ManagementServer.ParameterKey

Device.ManagementServer.ConnectionRequestURL


4) Download Message

The Download message contains:

      • CommandKey
      • FileType
      • URL
      • Username
      • Password
      • FileSize
      • TargetFileName
      • DelaySeconds
      • SuccessURL
      • FailureURL 

As mentioned in logs.

Code Block
themeRDark
titleDownload message info.
241029-12:43:20.427125 [mod=TR69, lvl=INFO] [tid=155207] ACS Request now at: 1730205800
241029-12:43:20.453079 [mod=TR69, lvl=INFO] [tid=155207] ACS Request has completed with status code 0, at 1730205800
241029-12:48:20.271983 [mod=TR69, lvl=WARN] [tid=46956] CcspManagementServer_GetURL -#- ManagementServerURLID_PSM: http://192.168.2.165:7547/
241029-12:48:20.273168 [mod=TR69, lvl=INFO] [tid=46956] rbus.c:5739 Method_InvokeInternal success response with returnCode:0
241029-12:48:20.273247 [mod=TR69, lvl=WARN] [tid=46956] bInitialContact switched to <TRUE> as MgmtCRPwdID was missing
241029-12:48:20.273272 [mod=TR69, lvl=WARN] [tid=46956]  Manufacturer: Mediatek Inc. , OUI : 0xFFFFFFFE, ProductClass: XB3, SerialNumber: d273d53ac48e, ProvisionCode: d273d53ac48e
241029-12:38:45.572348 [mod=TR69, lvl=WARN] [tid=46956] CcspTr069PaSsp_DeviceDefaultUsernameGenerate -- default username is '0xFFFFFFFE-XB3-d273d53ac48e'
241029-12:38:45.572396 [mod=TR69, lvl=WARN] [tid=46956] CcspManagementServer_GetUsername -- default username generation Success 0xFFFFFFFE-XB3-d273d53ac48e
241029-12:38:45.572537 [mod=TR69, lvl=WARN] [tid=46956] CcspTr069PaSsp_retrieveSharedKey -- Plain Shared Key Available
241029-12:38:45.578569 [mod=TR69, lvl=WARN] [tid=46956] CcspTr069PaSsp_DeviceDefaultPasswordGenerate -- default password is '0e3d901efd6fcd9221c2f4f6789a771b50fb8c8d555be6f3e6e4159e0400e28b', hashLength = 0

Steps for Setting and getting data model parameters through ACS server.

Data-model info will be reflected in CPE (BPIR4) device if we set new parameter to data-mode through ACS server. Modified below mentioned data-model for reference . "Device.X_CISCO_COM_DeviceControl.LanManagementEntry.1.LanMode"


1) From ACS page scroll the data-models and refresh "Device.X_CISCO_COM_DeviceControl" data-model.

2) After refreshing all parameters wrt to "Device.X_CISCO_COM_DeviceControl" will be updated in acs server as mentioned below .
Image Added
From the image we can see that "Device.X_CISCO_COM_DeviceControl.LanManagementEntry.1.LanMode" value is router.


3)From cpe(BPIR4) device side also we can see that LanMode is router.

Code Block
titleLanMode info from CPE.
root@Filogic-GW:~# dmcli eRT getv Device.X_CISCO_COM_DeviceControl.LanManagementEntry.1.LanMode
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.
Parameter    1 name: Device.X_CISCO_COM_DeviceControl.LanManagementEntry.1.LanMode
               type:     string,    value: router


4)From ACS server side change LanMode parameter to "bridge-state" from "router" mode using edit option, edit option will be visible at right side to the specified data-model.
Image AddedImage Added


5)Then select commit option, which will be populated at right corner to confirm the edited changes.

Image Added

6) After selecting commit button, refresh the page. After refresh we can see updated LanMode parameter value.
Image Added

7)LanMode data-model info from CPE device(BPIR4) after modification from ACS.

Code Block
themeRDark
titleLan Mode parameter info after modification.
root@Filogic-GW:~# dmcli eRT getv Device.X_CISCO_COM_DeviceControl.LanManagementEntry.1.LanMode
CR component name is: eRT.com.cisco.spvtg.ccsp.CR
subsystem_prefix eRT.
Execution succeed.
Parameter    1 name: Device.X_CISCO_COM_DeviceControl.LanManagementEntry.1.LanMode
               type:     string,    value: bridge-static

By following above mentioned steps we can set data-model value from ACS server and same data model value will be updated in BPIR4 device.

Reference.

1) Jira for TR069 support in BPIR4:

Jira
serverJIRA
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyRDKBACCL-290

2)More Info with respect to tr69 validation in bpir4:
Jira
serverJIRA
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyRDKBACCL-476

Bug. 

Acs server is taking time to update all the parameters at initial and also we can see a highlighted info as "device is offline" when we edit any data-model value from acs server, but in background data gets updated. 
Jira for this bug:

Jira
serverJIRA
serverId11deff04-0380-3a3d-a916-0849d4e573f7
keyRDKBACCL-478