Scope

Target is to provide a IMP/Gateway speedtest reference implementation to RDK-B community as part of banana Pi R4



Types of speedtests

Block diagram

Components involved

Backend ecosystems involved


RDK-B Customer perspective

Technical requirements of gateway speed test

State machine design for Bananapi R4


Source code repo

Reference

Plan


Test Steps And Results

                Pre test requirement : Ensure we have a iperf server on wan side in a ubuntu machine / windows machine.And is listening at port 5201 

                1.  Using DMcli / webui set the   Speedtest argument .In the string, give the server details used to send the Iperf server, port number ( ex: 5201) , bandwidth (ex 200), timeout (ex 15)  details .Example as below

                                       Ex: dmcli eRT setv Device.IP.Diagnostics.X_RDKCENTRAL-COM_SpeedTest.Argument string "-t 15 -b 200 -P 6 -p 5201 67.xx.xx.xxx"

               2. Enable the speed test  :     dmcli eRT setv Device.IP.Diagnostics.X_RDKCENTRAL-COM_SpeedTest.Enable_Speedtest bool true
               3. Enable the SpeedRun DM :   dmcli eRT setv Device.IP.Diagnostics.X_RDKCENTRAL-COM_SpeedTest.Run bool true

               4.Once we enable the Speedtest .Run DM ,we can see the iperf test has been intiated by through ps o/p , also we can see the packets being sent from server and received by the           gateway in the console

                                                   root@Filogic-GW:~# ps | grep speed

                                                   392379 root      3236 S    {speedtest.sh} /bin/sh /usr/ccsp/tad/speedtest.sh

                                                   392417 root      2180 SN   /usr/bin/speedtest-client xx.xx.xx.xxx


               5.In the TandD logs , we can see the iperf results as below :

                              2025-03-14 07:33:06 : Iperf test results: Sender 375000000 MBytes 200.000000 Mbits/sec sender      Receiver : 375000000 MBytes 200.000000 Mbits/sec


               6.Create a telemetry profile using the below link in Xconf server (First follow the log upload steps and then the telemetry profile creation)

                                https://wiki.rdkcentral.com/display/RDK/Feature+Validation+%3A+Xconf+Server

               7.Telemetery profile has to be like below : 

                                

Telemtery profile:

"urn:settings:TelemetryProfile":{"id":"c8eb7b91-d982-4e08-97f8-20b2bc11d657","telemetryProfile":[

{"header" : "SPEEDTEST_IPERF_INFO_SPLIT","content" : "Iperf test results","type" : "TDMlog.txt.0","pollingFrequency":"0"}

],"schedule":"/5 * * *","expires":0,"telemetryProfile:name":"BPI-CIEC","uploadRepository:URL":"https://xconf.rdkcentral.com/xconf/telemetry_upload.php","uploadRepository:uploadProtocol":"HTTP"}

             8.During log upload we wil be able to see the logs uploaded having the specific telemtery profile from TandD as well

                                               


Logs can be downloaded and checked for the iperf results information


Code enhancement to match libiperf3

FAQ's

Child pages