muink / luci-app-netspeedtest

LuCI Network Speed Test
MIT License
36 stars 13 forks source link

Buggy in official OpenWrt 22.03.3 #1

Open PaTTeeL opened 1 year ago

PaTTeeL commented 1 year ago

Module: Phicomm K3 Hardware: BCM5301X CPU: ARM_Cortex-A9 [ARMv7 Processor rev 0 (v7l)] Version: OpenWrt 22.03.3 r20028-43d71ad93e / LuCI openwrt-22.03 branch git-22.361.69894-438c598 Kernel: 5.10.161

Bugs:

  1. Cannot download SpeedTest-CLI. Download button always in progress, and still show "Not Installed" after refresh. But there is speedtest & speedtest-cli in /usr/bin/ untitled
root@OpenWrt:/usr/bin# ls speed* -al
-rwxr-xr-x    1 root     root           980 Sep 19  2021 speedtest
-rwxr-xr-x    1 root     root           988 Sep 19  2021 speedtest-cli
root@OpenWrt:/usr/bin# ./speedtest-cli --version
speedtest-cli 2.1.3
Python 3.10.7 (main, Jan 25 2023, 15:45:14) [GCC 11.2.0]
  1. Web shows "No related RPC reply" in "Ookla SpeedTest" page, and always in progress, no more results. Screenshot here: untitled
muink commented 1 year ago
  1. In default, the speedtest use package python3-speedtest-cli. While it is compatible with the most platforms, but efficiency is relatively low. the single test time will be as long as 5+ minutes (RPC timeout is 3 minutes). The usual solution is to refresh the page after waiting for more than 5 minutes, then click test again if there is no result.
  2. Ookla SpeedTest may fail to download due to network problems. (unstable connection, ip is recognized as a robot...) You can manually download the corresponding architecture version from https://www.speedtest.net/apps/cli, put it to /usr/libexec/netspeedtest/speedtest and grant execute permission chmod +x /usr/libexec/netspeedtest/speedtest
PaTTeeL commented 1 year ago

Thanks for reply .

  • In default, the speedtest use package python3-speedtest-cli. While it is compatible with the most platforms, but efficiency is relatively low. the single test time will be as long as 5+ minutes (RPC timeout is 3 minutes). The usual solution is to refresh the page after waiting for more than 5 minutes, then click test again if there is no result.

I've waited for hours, which still shows "Testing in progress..." Then I found the file /tmp/speedtest_result exists for days.

root@OpenWrt:/tmp# cat /tmp/speedtest_result 
Testing

And the python3-speedtest-cli works well in commandline mode :

root@OpenWrt:/tmp# /usr/bin/speedtest
Retrieving speedtest.net configuration...
Testing from xxxxxxxxxxxxxxxxxxx...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by xxxxxxxxxxxxxxxxx [77.57 km]: 11.911 ms
Testing download speed................................................................................
Download: 56.37 Mbit/s
Testing upload speed..................................................................................
Upload: 23.34 Mbit/s
  • Ookla SpeedTest may fail to download due to network problems. (unstable connection, ip is recognized as a robot...) You can manually download the corresponding architecture version from https://www.speedtest.net/apps/cli, put it to /usr/libexec/netspeedtest/speedtest and grant execute permission chmod +x /usr/libexec/netspeedtest/speedtest

Tried the official ookla speedtest biniary, same as python3-speedtest-cli : page still shows "Testing in progress..." for hours and run biniary in ssh is ok.

root@OpenWrt:/tmp# /usr/libexec/netspeedtest/speedtest

   Speedtest by Ookla

      Server: xxxxxxxxxxxxxx
         ISP: xxxxxxxxxxxxxx
Idle Latency:    17.32 ms   (jitter: 0.15ms, low: 17.25ms, high: 17.58ms)
    Download:   155.93 Mbps (data used: 220.8 MB)                                                   
                 19.21 ms   (jitter: 3.54ms, low: 17.33ms, high: 269.10ms)
      Upload:    23.15 Mbps (data used: 35.1 MB)                                                   
                 19.26 ms   (jitter: 26.23ms, low: 14.93ms, high: 269.44ms)
 Packet Loss:     0.0%
  Result URL: https://www.speedtest.net/result/c/xxxxxxxxxxxxxxxxxxxxxx

Ookla's official CLI biniary version information :

root@OpenWrt:/tmp# /usr/libexec/netspeedtest/speedtest -V
Speedtest by Ookla 1.2.0.84 (ea6b6773cf) Linux/arm-linux-musleabi 5.10.161 arm/armv7l

The official command line client for testing the speed and performance
of your internet connection.
muink commented 1 year ago

I've waited for hours, which still shows "Testing in progress..." Then I found the file /tmp/speedtest_result exists for days.

This seems to be that the init.d program did not exit properly, it should show 'Test failed' normally You can delete /tmp/speedtest_result or execute the test again And you can also execute /etc/init.d/netspeedtest speedtest to display the results on the page

I will update the detection logic later