Versions Compared

Key

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

...

  • draw.io Diagram
    bordertrue
    diagramNamet2speed-bpir4
    simpleViewerfalse
    width
    linksauto
    tbstyletop
    lboxtrue
    diagramWidth15861641
    height621701
    revision79

Components involved

...

Technical requirements of gateway speed test

State machine design for Bananapi R4

...

  • Low level design

    • simple flow
    • Assumed output
      • iperf3 -c 192.168.2.151 -t 60 -b 100M -P 4

        root@RaspberryPi-Gateway:/# tail -n 25 /var/log/iperf3log.log [ 5] 0.00-60.00 sec 169 MBytes 23.6 Mbits/sec receiver [ 7] 0.00-60.00 sec 173 MBytes 24.2 Mbits/sec 150 sender [ 7] 0.00-60.00 sec 173 MBytes 24.2 Mbits/sec receiver [ 9] 0.00-60.00 sec 167 MBytes 23.3 Mbits/sec 152 sender [ 9] 0.00-60.00 sec 167 MBytes 23.3 Mbits/sec receiver [ 11] 0.00-60.00 sec 164 MBytes 23.0 Mbits/sec 159 sender [ 11] 0.00-60.00 sec 164 MBytes 23.0 Mbits/sec receiver [SUM] 0.00-60.00 sec 674 MBytes 94.2 Mbits/sec 621 sender [SUM] 0.00-60.00 sec 673 MBytes 94.1 Mbits/sec receiver

    • supported speedtest dml's 
      • draw.io Diagram
        bordertrue
        diagramNamespeedtestdmls
        simpleViewerfalse
        width
        linksauto
        tbstyletop
        lboxtrue
        diagramWidth761
        height381
        revision1

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

                                               

Image Added


Logs can be downloaded and checked for the iperf results information


Code enhancement to match libiperf3

FAQ's

  • TBD

Child pages

  • Advanced Content Navigator