

ebin-dev
Members-
Posts
431 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Everything posted by ebin-dev
-
@buhtux For the mainline r8152 driver you need to copy the rtl_nic firmware files into /lib/firmware/rtl_nic (see also here).
-
@prahal I can confirm that with those changes to the helios64 dtb emmc can be accessed with hs400 speed again. I tried that with linux 6.1.11 (reading and writing to emmc without CQE errors). Thank you very much for solving that issue. # cat /proc/version Linux version 6.1.11-rockchip64 (root@52d12ff355f0) (aarch64-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0, GNU ld (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 2.32.0.20190321) #23.02.2 SMP PREEMPT Sat Feb 18 00:08:25 UTC 2023 # hdparm -tT /dev/mmcblk1 /dev/mmcblk1: Timing cached reads: 2796 MB in 2.00 seconds = 1398.63 MB/sec Timing buffered disk reads: 664 MB in 3.01 seconds = 220.81 MB/sec changes to rk3399-kobol-helios64.dtb: added to phy@f780: rockchip,enable-strobe-pulldown; added to mmc@fe330000: mmc-hs400-1_8v; mmc-hs400-enhanced-strobe; deleted from mmc@fe330000: mmc-hs200-1_8v;
-
@prahal Thank you for your observations. I will test if linux 6.6 will write to emmc with hs400 speeds with those amendments to the device tree.
-
@TheGuv You need the firmware for the r8152 mainline driver present in linux 5.15.x and above. Edit: if you copy the firmware files to /lib/firmware/rtl_nic before you install the new linux kernel then those files are automatically copied into initrd during installation of the kernel. Otherwise you need to update initrd yourself. I would certainly overwrite u-boot on emmc by https://imola.armbian.com/apt/pool/main/l/linux-u-boot-helios64-edge/linux-u-boot-edge-helios64_22.02.1_arm64.deb as described earlier in this thread. And finally I would run sbc-bench at least once. It would appear to permanently change some performance related settings such that your system is more responsive. I disabled Armbian updates back in August 2021... Good luck.
-
@TheGuv Your CPU governor is set to performance, while I am using the standard settings (see below). You may safely upgrade linux to 5.15.52. Although it uses the r8152 mainline driver v.1.12.12 it is stable. To figure out what is wrong with your system you should start from a fresh image (bookworm 23.05.4-6.1.36) and downgrade to one of the linux versions 5.15.93, 5.15.52 or 5.10.43 if you have problems with 6.1.36. Im am currently using linux 5.15.52. # cat /etc/default/cpufrequtils ENABLE=true MIN_SPEED=408000 MAX_SPEED=1800000 GOVERNOR=ondemand
-
As nobody maintains helios64, installing Armbian updates is like playing russian roulette (even worse than that). In the parallel thread I tested various combinations of OS, bootloader and kernel and ended up with this configuration (adding linux 5.15.52 to the list).
-
With a ZFS pool you have to be especially careful. I have no plans whatsoever to replace Helios64 - it performs "better than ever" with the 2.5 G interface (bookworm, linux 5.10.63 and linux-u-boot-edge-helios64_22.02.1_arm64). Will try 5.15.52 🙂. I would love to run it with linux 6.6 (with a different r8152 driver) but since Armbian develops into "closed source" (see this example, drivers_network file hashed) it becomes increasingly difficult on this platform.
-
I think that you are very lucky, since your kernel 6.1.63 got compiled last night - it was 6.1.50 before lacking support for USB devices. You should be very careful with Armbian updates until Armbian on Helios64 is maintained by someone. Unfortunately that message is no joke. Armbian turned away from a being community project.
-
My latest tests with linux 6.6.2 were very promising: the watchdog timer does not reset the mainline r8152 driver anymore under heavy load (using the 2.5G interface). However, the mainline r8152 driver does not support bidirectional data exchange (total bidirectional transfer is capped to 2.35Gb/s). If you like to test it, please find the kernel deb files here (debs-6.6.2) (to be installed with dpkg -i linux*) and the Armbian image here (Armbian-23.11.0-6.6.2) . sbc-bench results are here. (you may also like to consider these remarks) P.S.: After a few days of testing linux-6.6.2, I must conclude that it is not yet fit for the purpose (produces swapper0 kernel panics). The best stable performance is still delivered by linux-5.10.43 (r8152 v2.14) and linux-5.15.52 (r8152 v1.12.12). _ _ _ _ __ _ _ | | | | ___| (_) ___ ___ / /_ | || | | |_| |/ _ \ | |/ _ \/ __| '_ \| || |_ | _ | __/ | | (_) \__ \ (_) |__ _| |_| |_|\___|_|_|\___/|___/\___/ |_| Welcome to Armbian 23.11.0-trunk Bookworm with Linux 6.6.2-edge-rockchip64 System load: 2% Up time: 21 min Memory usage: 31% of 3.71G IP: 192.168.xx.xx CPU temp: 49°C Usage of /: 48% of 15G storage/: 62% of 3.6T storage temp: 24°C % ./iperf3 -c 192.168.xx.30 -p 5201 Connecting to host 192.168.xx.30, port 5201 [ 5] local 192.168.xx.45 port 49535 connected to 192.168.xx.30 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 252 MBytes 2.12 Gbits/sec [ 5] 1.00-2.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 2.00-3.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 3.00-4.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 4.00-5.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 5.00-6.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 6.00-7.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 7.00-8.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 8.00-9.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 9.00-10.00 sec 281 MBytes 2.35 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 2.71 GBytes 2.33 Gbits/sec sender [ 5] 0.00-10.00 sec 2.71 GBytes 2.33 Gbits/sec receiver iperf Done. % ./iperf3 -c 192.168.xx.30 -p 5201 -R Connecting to host 192.168.xx.30, port 5201 Reverse mode, remote host 192.168.xx.30 is sending [ 5] local 192.168.xx.45 port 49537 connected to 192.168.xx.30 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 255 MBytes 2.14 Gbits/sec [ 5] 1.00-2.00 sec 276 MBytes 2.32 Gbits/sec [ 5] 2.00-3.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 3.00-4.00 sec 278 MBytes 2.34 Gbits/sec [ 5] 4.00-5.00 sec 278 MBytes 2.33 Gbits/sec [ 5] 5.00-6.00 sec 276 MBytes 2.31 Gbits/sec [ 5] 6.00-7.00 sec 279 MBytes 2.34 Gbits/sec [ 5] 7.00-8.00 sec 277 MBytes 2.32 Gbits/sec [ 5] 8.00-9.00 sec 279 MBytes 2.34 Gbits/sec [ 5] 9.00-10.00 sec 278 MBytes 2.33 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 2.69 GBytes 2.31 Gbits/sec 70 sender [ 5] 0.00-10.00 sec 2.69 GBytes 2.31 Gbits/sec receiver iperf Done. % ./iperf3 -c 192.168.xx.30 -p 5201 --bidir Connecting to host 192.168.xx.30, port 5201 [ 5] local 192.168.xx.45 port 49539 connected to 192.168.xx.30 port 5201 [ 7] local 192.168.xx.45 port 49540 connected to 192.168.xx.30 port 5201 [ ID][Role] Interval Transfer Bitrate [ 5][TX-C] 0.00-1.00 sec 23.8 MBytes 199 Mbits/sec [ 7][RX-C] 0.00-1.00 sec 212 MBytes 1.78 Gbits/sec [ 5][TX-C] 1.00-2.00 sec 28.4 MBytes 238 Mbits/sec [ 7][RX-C] 1.00-2.00 sec 244 MBytes 2.05 Gbits/sec [ 5][TX-C] 2.00-3.00 sec 24.9 MBytes 209 Mbits/sec [ 7][RX-C] 2.00-3.00 sec 250 MBytes 2.09 Gbits/sec [ 5][TX-C] 3.00-4.00 sec 75.0 MBytes 628 Mbits/sec [ 7][RX-C] 3.00-4.00 sec 207 MBytes 1.73 Gbits/sec [ 5][TX-C] 4.00-5.00 sec 96.2 MBytes 808 Mbits/sec [ 7][RX-C] 4.00-5.00 sec 190 MBytes 1.60 Gbits/sec [ 5][TX-C] 5.00-6.00 sec 24.4 MBytes 204 Mbits/sec [ 7][RX-C] 5.00-6.00 sec 244 MBytes 2.04 Gbits/sec [ 5][TX-C] 6.00-7.00 sec 25.0 MBytes 210 Mbits/sec [ 7][RX-C] 6.00-7.00 sec 248 MBytes 2.08 Gbits/sec [ 5][TX-C] 7.00-8.00 sec 24.6 MBytes 207 Mbits/sec [ 7][RX-C] 7.00-8.00 sec 246 MBytes 2.06 Gbits/sec [ 5][TX-C] 8.00-9.00 sec 24.4 MBytes 204 Mbits/sec [ 7][RX-C] 8.00-9.00 sec 245 MBytes 2.06 Gbits/sec [ 5][TX-C] 9.00-10.00 sec 25.1 MBytes 211 Mbits/sec [ 7][RX-C] 9.00-10.00 sec 244 MBytes 2.04 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-10.00 sec 372 MBytes 312 Mbits/sec sender [ 5][TX-C] 0.00-10.00 sec 364 MBytes 305 Mbits/sec receiver [ 7][RX-C] 0.00-10.00 sec 2.28 GBytes 1.95 Gbits/sec 61 sender [ 7][RX-C] 0.00-10.00 sec 2.27 GBytes 1.95 Gbits/sec receiver iperf Done.
-
The helios64 patch to setup the sata power lines is already mainlined (line 92 ff). So it remains unclear why the sata LEDs are flashing at kernel startup.
-
@prahal Thank you for the hints! I would like to test the modified u-boot. Would you send a link (pm) so that I can try ? My setup is now stable as discussed in the parallel thread. I had to go back to a linux kernel (5.10.43) using the realtek r8152 driver v2.14.0 (2020/09/24) instead of the mainline driver and to downgrade the boot loader to linux-u-boot-edge-helios64_22.02.1_arm64 on emmc (no flashing LEDs). As a next step I plan to compile and test a kernel based on LTS 6.6.x including the code to setup the sata power lines and a working version of the Realtek driver r8152 . The mainline version of that driver is still under heavy development ...
-
@RlndVt The kernel panic was produced by '6.6.0-edge-rockchip64' (after 830618s = 9.6 days). Hopefully those issues will vanish once the 6.6 kernel becomes more mature.
-
So far all my attempts to use the mainline driver r8152 in recent kernels 6.1.x and 6.6.y were accompanied by the system having to reset the driver on heavy loads. (My apologies to @RlndVt and @0x349850341010010101010100 - the mainline r8152 driver indeed causes problems) My attempts to replace the r8152 mainline driver by a recent version from Realtek (v.2.17.1) in linux kernels 6.1.xx and in 6.6.xx were accompanied by crashes. The logical solution now was to step back to linux 5.10.43 (Realtek driver v2.14.0 (2020/09/24)) also used with Debian bullseye before. After some performance tuning, network performance is now outstanding with that system (Armbian bookworm 23.05.4, linux downgraded to 5.10.43, linux-u-boot-edge-helios64_22.02.1_arm64, content of /lib/firmware/rtl_nic replaced by this firmware) (Bitrates bidirectional: 2.28+1.54=3.82Gb/s; Transfer bidirectional 2.65+1.80=4.45 GBytes transferred in 10s) P.S.: Performance optimised using sbc-bench - the famous tool from @tkaiser - and by changing the task affinity of iperf3. ./iperf3 -c 192.168.xx.30 -p 5201 Connecting to host 192.168.xx.30, port 5201 [ 5] local 192.168.xx.45 port 52050 connected to 192.168.xx.30 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 241 MBytes 2.02 Gbits/sec [ 5] 1.00-2.00 sec 242 MBytes 2.03 Gbits/sec [ 5] 2.00-3.00 sec 234 MBytes 1.97 Gbits/sec [ 5] 3.00-4.00 sec 271 MBytes 2.28 Gbits/sec [ 5] 4.00-5.00 sec 269 MBytes 2.26 Gbits/sec [ 5] 5.00-6.00 sec 268 MBytes 2.25 Gbits/sec [ 5] 6.00-7.00 sec 268 MBytes 2.24 Gbits/sec [ 5] 7.00-8.00 sec 267 MBytes 2.24 Gbits/sec [ 5] 8.00-9.00 sec 269 MBytes 2.25 Gbits/sec [ 5] 9.00-10.00 sec 269 MBytes 2.25 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 2.54 GBytes 2.18 Gbits/sec sender [ 5] 0.00-10.00 sec 2.53 GBytes 2.17 Gbits/sec receiver iperf Done. ./iperf3 -c 192.168.xx.30 -p 5201 -R Connecting to host 192.168.xx.30, port 5201 Reverse mode, remote host 192.168.xx.30 is sending [ 5] local 192.168.xx.45 port 51998 connected to 192.168.xx.30 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 267 MBytes 2.24 Gbits/sec [ 5] 1.00-2.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 2.00-3.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 3.00-4.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 4.00-5.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 5.00-6.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 6.00-7.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 7.00-8.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 8.00-9.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 9.00-10.00 sec 280 MBytes 2.35 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 2.73 GBytes 2.34 Gbits/sec 16 sender [ 5] 0.00-10.00 sec 2.73 GBytes 2.34 Gbits/sec receiver iperf Done. ./iperf3 -c 192.168.xx.30 -p 5201 --bidir Connecting to host 192.168.xx.30, port 5201 [ 5] local 192.168.xx.45 port 52006 connected to 192.168.xx.30 port 5201 [ 7] local 192.168.xx.45 port 52007 connected to 192.168.xx.30 port 5201 [ ID][Role] Interval Transfer Bitrate [ 5][TX-C] 0.00-1.00 sec 185 MBytes 1.55 Gbits/sec [ 7][RX-C] 0.00-1.00 sec 271 MBytes 2.28 Gbits/sec [ 5][TX-C] 1.00-2.00 sec 183 MBytes 1.53 Gbits/sec [ 7][RX-C] 1.00-2.00 sec 273 MBytes 2.29 Gbits/sec [ 5][TX-C] 2.00-3.00 sec 185 MBytes 1.55 Gbits/sec [ 7][RX-C] 2.00-3.00 sec 271 MBytes 2.27 Gbits/sec [ 5][TX-C] 3.00-4.00 sec 184 MBytes 1.54 Gbits/sec [ 7][RX-C] 3.00-4.00 sec 272 MBytes 2.29 Gbits/sec [ 5][TX-C] 4.00-5.00 sec 184 MBytes 1.54 Gbits/sec [ 7][RX-C] 4.00-5.00 sec 272 MBytes 2.28 Gbits/sec [ 5][TX-C] 5.00-6.00 sec 185 MBytes 1.55 Gbits/sec [ 7][RX-C] 5.00-6.00 sec 270 MBytes 2.27 Gbits/sec [ 5][TX-C] 6.00-7.00 sec 183 MBytes 1.53 Gbits/sec [ 7][RX-C] 6.00-7.00 sec 272 MBytes 2.28 Gbits/sec [ 5][TX-C] 7.00-8.00 sec 184 MBytes 1.55 Gbits/sec [ 7][RX-C] 7.00-8.00 sec 270 MBytes 2.27 Gbits/sec [ 5][TX-C] 8.00-9.00 sec 184 MBytes 1.54 Gbits/sec [ 7][RX-C] 8.00-9.00 sec 270 MBytes 2.27 Gbits/sec [ 5][TX-C] 9.00-10.00 sec 184 MBytes 1.54 Gbits/sec [ 7][RX-C] 9.00-10.00 sec 269 MBytes 2.26 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-10.00 sec 1.80 GBytes 1.54 Gbits/sec sender [ 5][TX-C] 0.00-10.00 sec 1.79 GBytes 1.54 Gbits/sec receiver [ 7][RX-C] 0.00-10.00 sec 2.65 GBytes 2.28 Gbits/sec 6 sender [ 7][RX-C] 0.00-10.00 sec 2.65 GBytes 2.27 Gbits/sec receiver iperf Done. Edit: Links added
-
Armbian bookworm 23.05.4 with linux downgraded to 5.10.43 seems to be the perfect setup (if you need linux-headers). It runs absolutely stable during stress tests using linux-u-boot-current-helios64_21.08.9_arm64 or linux-u-boot-edge-helios64_22.02.1_arm64. This kernel is the last one with hs400 support: emmc is accessed with 230MB/s. The fans don't spin up during boot but start slowly. However, it seems that RAM access is a little bit slower (timed cache reads) but what matters is stability. P.S.: If you downgrade from linux 6.x to linux 5.x all symlinks vmlinux* and uInitrd* should be deleted in the root directory / before reboot. _ _ _ _ __ _ _ | | | | ___| (_) ___ ___ / /_ | || | | |_| |/ _ \ | |/ _ \/ __| '_ \| || |_ | _ | __/ | | (_) \__ \ (_) |__ _| |_| |_|\___|_|_|\___/|___/\___/ |_| Welcome to Armbian 23.08.0-trunk Bookworm with Linux 5.10.43-rockchip64 No end-user support: community creations System load: 2% Up time: 12 min Memory usage: 29% of 3.77G IP: 192.168.xx.yy CPU temp: 46°C Usage of /: 46% of 15G storage/: 62% of 3.6T storage temp: 25°C # modinfo r8152 filename: /lib/modules/5.10.43-rockchip64/kernel/drivers/net/usb/r8152.ko version: v2.14.0 (2020/09/24) license: GPL description: Realtek RTL8152/RTL8153 Based USB Ethernet Adapters author: Realtek nic sw <nic_swsd@realtek.com> # hdparm -tT /dev/mmcblk2p1 /dev/mmcblk2p1: Timing cached reads: 2180 MB in 2.00 seconds = 1089.64 MB/sec Timing buffered disk reads: 714 MB in 3.01 seconds = 237.50 MB/sec % ./iperf3 -c 192.168.xx.30 -p 5201 Connecting to host 192.168.xx.30, port 5201 [ 5] local 192.168.xx.45 port 49517 connected to 192.168.xx.30 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 228 MBytes 1.91 Gbits/sec [ 5] 1.00-2.00 sec 281 MBytes 2.36 Gbits/sec [ 5] 2.00-3.00 sec 266 MBytes 2.23 Gbits/sec [ 5] 3.00-4.00 sec 248 MBytes 2.08 Gbits/sec [ 5] 4.00-5.00 sec 248 MBytes 2.08 Gbits/sec [ 5] 5.00-6.00 sec 245 MBytes 2.05 Gbits/sec [ 5] 6.00-7.00 sec 252 MBytes 2.11 Gbits/sec [ 5] 7.00-8.00 sec 270 MBytes 2.26 Gbits/sec [ 5] 8.00-9.00 sec 264 MBytes 2.22 Gbits/sec [ 5] 9.00-10.00 sec 249 MBytes 2.09 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 2.49 GBytes 2.14 Gbits/sec sender [ 5] 0.00-10.00 sec 2.48 GBytes 2.13 Gbits/sec receiver iperf Done. % ./iperf3 -c 192.168.xx.30 -p 5201 -R Connecting to host 192.168.xx.30, port 5201 Reverse mode, remote host 192.168.xx.30 is sending [ 5] local 192.168.xx.45 port 49520 connected to 192.168.xx.30 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 259 MBytes 2.17 Gbits/sec [ 5] 1.00-2.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 2.00-3.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 3.00-4.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 4.00-5.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 5.00-6.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 6.00-7.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 7.00-8.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 8.00-9.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 9.00-10.00 sec 280 MBytes 2.35 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 2.72 GBytes 2.34 Gbits/sec 15 sender [ 5] 0.00-10.00 sec 2.72 GBytes 2.33 Gbits/sec receiver iperf Done. % ./iperf3 -c 192.168.xx.30 -p 5201 --bidir Connecting to host 192.168.xx.30, port 5201 [ 5] local 192.168.xx.45 port 49541 connected to 192.168.xx.30 port 5201 [ 7] local 192.168.xx.45 port 49542 connected to 192.168.xx.30 port 5201 [ ID][Role] Interval Transfer Bitrate [ 5][TX-C] 0.00-1.00 sec 257 MBytes 2.16 Gbits/sec [ 7][RX-C] 0.00-1.00 sec 116 MBytes 977 Mbits/sec [ 5][TX-C] 1.00-2.00 sec 58.5 MBytes 491 Mbits/sec [ 7][RX-C] 1.00-2.00 sec 280 MBytes 2.35 Gbits/sec [ 5][TX-C] 2.00-3.00 sec 60.9 MBytes 511 Mbits/sec [ 7][RX-C] 2.00-3.00 sec 280 MBytes 2.35 Gbits/sec [ 5][TX-C] 3.00-4.00 sec 51.8 MBytes 435 Mbits/sec [ 7][RX-C] 3.00-4.00 sec 280 MBytes 2.35 Gbits/sec [ 5][TX-C] 4.00-5.00 sec 138 MBytes 1.16 Gbits/sec [ 7][RX-C] 4.00-5.00 sec 205 MBytes 1.72 Gbits/sec [ 5][TX-C] 5.00-6.00 sec 58.0 MBytes 486 Mbits/sec [ 7][RX-C] 5.00-6.00 sec 280 MBytes 2.35 Gbits/sec [ 5][TX-C] 6.00-7.00 sec 50.2 MBytes 421 Mbits/sec [ 7][RX-C] 6.00-7.00 sec 279 MBytes 2.34 Gbits/sec [ 5][TX-C] 7.00-8.00 sec 74.2 MBytes 622 Mbits/sec [ 7][RX-C] 7.00-8.00 sec 259 MBytes 2.17 Gbits/sec [ 5][TX-C] 8.00-9.00 sec 116 MBytes 974 Mbits/sec [ 7][RX-C] 8.00-9.00 sec 225 MBytes 1.89 Gbits/sec [ 5][TX-C] 9.00-10.00 sec 190 MBytes 1.59 Gbits/sec [ 7][RX-C] 9.00-10.00 sec 172 MBytes 1.45 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-10.00 sec 1.03 GBytes 885 Mbits/sec sender [ 5][TX-C] 0.00-10.00 sec 1.02 GBytes 879 Mbits/sec receiver [ 7][RX-C] 0.00-10.00 sec 2.32 GBytes 2.00 Gbits/sec 7 sender [ 7][RX-C] 0.00-10.00 sec 2.32 GBytes 1.99 Gbits/sec receiver iperf Done. dmesg.txt
-
@RlndVt Did you have any results compiling a kernel for your Helios or testing the Armbian 23.5.4 - 6.1.36 Image ? P.S.: How to build Armbian is described here. But the system has changed and the new build system is not documented (yet). The important bits are those: ./compile.sh kernel-patch <board etc> # this allows you to modify the source during a pause and then compiles the corresponding patch ./comile.sh kernel <board etc> # this compiles kernel only, copy patch to be applied here: ./build/patch/kernel/archive/rockchip64-6.1 The dwc3-usb regression is anyway fixed in all linux kernels starting from 6.1.59.
-
New Armbian build system: ./compile.sh kernel-patch <board etc> # this allows you to modify the source during a pause and then compiles the corresponding patch ./comile.sh kernel <board etc> # this compiles kernel only, copy patch to be applied here: ./build/patch/kernel/archive/rockchip64-6.1 What may happen is that the watchdog timer has to reset the r8152 driver (mainline v1.12.13) under heavy loads (the higher the kernel version, the more likely) I do not observe any kernel crashes on boot with any of the kernels 6.1.36, 6.1.58, 6.1.60 and 6.6.0 starting from Armbian 23.05.4 and using one of the two bootloaders as discussed earlier. On the other side, I really had problems after installing Armbian full firmware and the current bootloader - and the only way out was to start from scratch. Good luck ! P.S.: The dwc3-usb regression is fixed upstream in linux 6.1.59 and later.
-
There are three kernel versions 6.1.58, 6.1.60 and 6.6.0. I am currently using 6.1.58 and bootloader linux-u-boot-current-helios64_21.08.9_arm64 flashed to emmc/sd. In 6.1.58 the dwc3-usb regression is patched. All versions boot nicely but their performance in combination with the r8152 driver vary. (Install with 'dpkg -i linux*')
-
Yes - I built 6.1.60 and made it available in this thread for the ones who also need kernel plus matching linux-headers. But I would prefer to stay on Armbian 23.05.4 - 6.1.36.
-
The performance of the setup based on Armbian bookworm 23.05.4 is very impressive for a three year old NAS: using iperf3 measurements as a stress test, data transfer in both directions between server and client max out at 2.34 Gbit/s using the 2.5G interface (see the first and second iperf3 run below). This is currently not the case if data is transferred bidirectional at the same time (2.5G full duplex, see the third iperf3 run below). iperf3 speed tests % ./iperf3 -c 192.168.xxxx -p 5201 Connecting to host 192.168.xxxx, port 5201 [ 5] local 192.168.xxxx port 50917 connected to 192.168.xxxx port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 268 MBytes 2.25 Gbits/sec [ 5] 1.00-2.00 sec 281 MBytes 2.36 Gbits/sec [ 5] 2.00-3.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 3.00-4.00 sec 278 MBytes 2.33 Gbits/sec [ 5] 4.00-5.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 5.00-6.00 sec 279 MBytes 2.34 Gbits/sec [ 5] 6.00-7.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 7.00-8.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 8.00-9.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 9.00-10.00 sec 280 MBytes 2.35 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 2.72 GBytes 2.34 Gbits/sec sender [ 5] 0.00-10.00 sec 2.72 GBytes 2.34 Gbits/sec receiver iperf Done. % ./iperf3 -c 192.168.xxxx -p 5201 -R Connecting to host 192.168.xxxx, port 5201 Reverse mode, remote host 192.168.xxxx is sending [ 5] local 192.168.xxxx port 49235 connected to 192.168.xxxx port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 251 MBytes 2.11 Gbits/sec [ 5] 1.00-2.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 2.00-3.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 3.00-4.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 4.00-5.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 5.00-6.00 sec 280 MBytes 2.34 Gbits/sec [ 5] 6.00-7.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 7.00-8.00 sec 279 MBytes 2.34 Gbits/sec [ 5] 8.00-9.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 9.00-10.00 sec 280 MBytes 2.35 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 2.71 GBytes 2.33 Gbits/sec sender [ 5] 0.00-10.00 sec 2.70 GBytes 2.32 Gbits/sec receiver iperf Done. % ./iperf3 -c 192.168.xx.xx -p 5201 --bidir Connecting to host 192.168.xx.xx, port 5201 [ 5] local 192.168.xx.xx port 49292 connected to 192.168.xx.xx port 5201 [ 7] local 192.168.xx.xx port 49293 connected to 192.168.xx.xx port 5201 [ ID][Role] Interval Transfer Bitrate [ 5][TX-C] 0.00-1.00 sec 54.1 MBytes 454 Mbits/sec [ 7][RX-C] 0.00-1.00 sec 203 MBytes 1.71 Gbits/sec [ 5][TX-C] 1.00-2.00 sec 25.3 MBytes 212 Mbits/sec [ 7][RX-C] 1.00-2.00 sec 250 MBytes 2.10 Gbits/sec [ 5][TX-C] 2.00-3.00 sec 24.7 MBytes 208 Mbits/sec [ 7][RX-C] 2.00-3.00 sec 249 MBytes 2.09 Gbits/sec [ 5][TX-C] 3.00-4.00 sec 25.0 MBytes 210 Mbits/sec [ 7][RX-C] 3.00-4.00 sec 249 MBytes 2.09 Gbits/sec [ 5][TX-C] 4.00-5.00 sec 25.0 MBytes 210 Mbits/sec [ 7][RX-C] 4.00-5.00 sec 249 MBytes 2.09 Gbits/sec [ 5][TX-C] 5.00-6.00 sec 24.8 MBytes 208 Mbits/sec [ 7][RX-C] 5.00-6.00 sec 249 MBytes 2.09 Gbits/sec [ 5][TX-C] 6.00-7.00 sec 25.0 MBytes 210 Mbits/sec [ 7][RX-C] 6.00-7.00 sec 249 MBytes 2.09 Gbits/sec [ 5][TX-C] 7.00-8.00 sec 25.0 MBytes 209 Mbits/sec [ 7][RX-C] 7.00-8.00 sec 250 MBytes 2.10 Gbits/sec [ 5][TX-C] 8.00-9.00 sec 25.0 MBytes 210 Mbits/sec [ 7][RX-C] 8.00-9.00 sec 249 MBytes 2.09 Gbits/sec [ 5][TX-C] 9.00-10.00 sec 25.0 MBytes 210 Mbits/sec [ 7][RX-C] 9.00-10.00 sec 250 MBytes 2.09 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-10.00 sec 279 MBytes 234 Mbits/sec sender [ 5][TX-C] 0.00-10.00 sec 273 MBytes 229 Mbits/sec receiver [ 7][RX-C] 0.00-10.00 sec 2.39 GBytes 2.05 Gbits/sec sender [ 7][RX-C] 0.00-10.00 sec 2.39 GBytes 2.05 Gbits/sec receiver iperf Done.
-
Helios64 archives (i.e. this one) have been wiped and the only image available is Armbian 23.08.1 - 6.1.50, the useless one with the dwc3-usb regression. @Igor Would you please revert the Armbian images linked on the Helios64 download page back to Armbian bookworm and jammy 23.05.4 - 6.1.36 ? The only place where I can still find those images for the ultimate ARM powered NAS is on this mirror. (I would help out doing that as well).
-
Using linux kernel 6.1.60 and linux-u-boot-current-helios64_21.08.9_arm64 (and rtl_nic firmware from git.kernel.org) such kernel panics cannot be reproduced here (booting from emmc). @RlndVt You are on Armbian 23.08.3 - 6.1.50 (dwc3-usb regression) without rtl_nic firmware from git.kernel.org and it is not stable. Does the problem also occur if you use Armbian 23.05.4 - 6.1.36 ? # cat /var/log/syslog | grep network 2023-11-05T08:40:06.350431+01:00 kernel: [ 2.161445] drop_monitor: Initializing network drop monitor service 2023-11-05T08:40:06.353126+01:00 systemd-networkd[449]: lo: Link UP 2023-11-05T08:40:06.353139+01:00 systemd-networkd[449]: lo: Gained carrier 2023-11-05T08:40:06.353149+01:00 systemd-networkd[449]: Enumeration completed 2023-11-05T08:40:06.353161+01:00 systemd-networkd[449]: end1: Configuring with /etc/systemd/network/end1.network. 2023-11-05T08:40:06.353177+01:00 systemd-networkd[449]: end0: Configuring with /etc/systemd/network/end0.network. 2023-11-05T08:40:06.353187+01:00 systemd-networkd[449]: end1: Link UP 2023-11-05T08:40:06.353197+01:00 systemd-networkd[449]: end0: Link UP 2023-11-05T08:40:06.353208+01:00 systemd-networkd[449]: end1: Link DOWN 2023-11-05T08:40:06.353247+01:00 systemd-networkd[449]: eth0: Interface name change detected, renamed to end1. 2023-11-05T08:40:06.353258+01:00 systemd-networkd[449]: end1: Configuring with /etc/systemd/network/end1.network. 2023-11-05T08:40:06.353268+01:00 systemd-networkd[449]: end1: Link UP 2023-11-05T08:40:06.356372+01:00 systemd-networkd[449]: end1: Gained carrier 2023-11-05T08:40:06.356496+01:00 systemd-networkd[449]: end1: DHCPv4 address 192.168.xx.xx/24, gateway 192.168.xx.xx acquired from 192.168.xx.xx 2023-11-05T08:40:06.430434+01:00 systemd[1]: Started vnstat.service - vnStat network traffic monitor. 2023-11-05T08:40:06.858858+01:00 systemd[1]: Starting helios64-heartbeat-led.service - Enable heartbeat & network activity led on Helios64... 2023-11-05T08:40:07.205052+01:00 systemd[1]: Finished helios64-heartbeat-led.service - Enable heartbeat & network activity led on Helios64. 2023-11-05T08:40:07.900568+01:00 systemd-networkd[449]: end1: Gained IPv6LL 2023-11-05T08:40:22.426376+01:00 systemd[2380]: Listening on dirmngr.socket - GnuPG network certificate management daemon.
-
That is most likely a bug in that version of u-boot. The solution is to flash another bootloader as shown earlier in this thread.
-
Yes Exactly. Your friend is rtl8156a-2.fw. It it is the firmware patch for your 2.5G interface. The driver r8152 also takes care of it (load rtl8156a-2 v2 04/27/23 successfully) (Once the firmware files are transferred, update uInitrd: 'sudo update-initramfs -u' and reboot): # sudo update-initramfs -u update-initramfs: Generating /boot/initrd.img-6.1.60-current-rockchip64 update-initramfs: Armbian: Converting to u-boot format: /boot/uInitrd-6.1.60-current-rockchip64 Image Name: uInitrd Created: Sat Nov 4 20:21:18 2023 Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 15769458 Bytes = 15399.86 KiB = 15.04 MiB Load Address: 00000000 Entry Point: 00000000 update-initramfs: Armbian: Symlinking /boot/uInitrd-6.1.60-current-rockchip64 to /boot/uInitrd '/boot/uInitrd' -> 'uInitrd-6.1.60-current-rockchip64' update-initramfs: Armbian: done. #reboot now # dmesg | grep 2-1.4 [ 4.799058] usb 2-1.4: new SuperSpeed USB device number 3 using xhci-hcd [ 4.820177] usb 2-1.4: New USB device found, idVendor=0bda, idProduct=8156, bcdDevice=30.00 [ 4.820199] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=6 [ 4.820215] usb 2-1.4: Product: USB 10/100/1G/2.5G LAN [ 4.820229] usb 2-1.4: Manufacturer: Realtek [ 4.820242] usb 2-1.4: SerialNumber: 000000001 [ 6.774096] usb 2-1.4: reset SuperSpeed USB device number 3 using xhci-hcd [ 6.874385] r8152 2-1.4:1.0: load rtl8156a-2 v2 04/27/23 successfully [ 6.915329] r8152 2-1.4:1.0 (unnamed net_device) (uninitialized): netif_napi_add_weight() called with weight 256 [ 6.931069] r8152 2-1.4:1.0 eth0: v1.12.13 [ 6.952950] r8152 2-1.4:1.0 end1: renamed from eth0 [ 10.353834] r8152 2-1.4:1.0 end1: Stop submitting intr, status -108 [ 10.998114] usb 2-1.4: reset SuperSpeed USB device number 3 using xhci-hcd [ 11.058100] r8152 2-1.4:1.0: load rtl8156a-2 v2 04/27/23 successfully [ 11.305382] r8152 2-1.4:1.0 eth0: v1.12.13 [ 11.513913] r8152 2-1.4:1.0 end1: renamed from eth0 [ 14.940343] r8152 2-1.4:1.0 end1: carrier on
-
This is an issue that started with Armbian bookworm (not present in bullseye): Updating the bootloader on emmc and sd with the current (mainlined) bootloader provided by Armbian is easily done using armbian-config (or armbian-install). However, as discussed by @prahal and @blmhemu, that bootloader causes trouble (free() invalid pointer issue). You can easily test if you are affected by running the following python loop: for i in $(seq 1 100);do python3 -c "import pkg_resources" || break;done If you get the 'free() invalid pointer; aborted' message, you should replace the bootloader by either linux-u-boot-edge-helios64_22.02.1_arm64 or by linux-u-boot-current-helios64_21.08.9_arm64. You can do that using armbian-install as shown here - you need to modify /usr/lib/u-boot/platform_install.sh before. armbian-install always changes the bootloader on the medium that was used to boot the last time and the bootloader on the target medium if you transfer a system with it. P.S.: On my system the bootloader also caused some other trouble: the sata bus was not detected reliably during boot, and sometimes accessed only with very low speeds causing boot delays of 5-10 seconds. P.S.': If you prefer to manually update the bootloader on emmc (/dev/mmcblk1), just do the following: # cd /tmp # wget --content-disposition https://imola.armbian.com/apt/pool/main/l/linux-u-boot-helios64-current/linux-u-boot-current-helios64_21.08.9_arm64.deb # dpkg -x linux-u-boot-current-helios64_21.08.9_arm64.deb linux-u-boot-current-helios64_21.08.9_arm64/ # cd linux-u-boot-current-helios64_21.08.9_arm64/usr/lib/linux-u-boot-current-helios64_21.08.9_arm64/ # ls -la # dd if=idbloader.bin of=/dev/mmcblk1 seek=64 conv=notrunc # dd if=uboot.img of=/dev/mmcblk1 seek=16384 conv=notrunc # dd if=trust.bin of=/dev/mmcblk1 seek=24576 conv=notrunc # reboot now
-
After two days of testing linux 6.6 seems almost perfect. However, on heavy network loads the 2.5G interface is not really stable yet and is reset several times during operation. It seems that cpu4 is overloaded by the transmission tasks and that those tasks need to be distributed differently between the cpu cores to avoid that. I switched back again to 6.1.60. [11806.608303] ------------[ cut here ]------------ [11806.608336] NETDEV WATCHDOG: end1 (r8152): transmit queue 0 timed out 8180 ms [11806.608512] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:525 dev_watchdog+0x298/0x2a0 [11806.608566] Modules linked in: xt_comment xt_tcpudp nft_compat nf_tables nfnetlink eq3_char_loop(O) rpi_rf_mod_led(O) dummy_rx8130(O) hb_rf_eth(O) generic_raw_uart(O) sunrpc lz4hc lz4 zram binfmt_misc cp210x usbserial hantro_vpu rockchip_vdec(C) rockchip_rga snd_soc_hdmi_codec snd_soc_rockchip_i2s v4l2_vp9 leds_pwm panfrost v4l2_h264 snd_soc_core videobuf2_dma_contig gpio_charger pwm_fan videobuf2_dma_sg v4l2_mem2mem snd_compress gpu_sched videobuf2_memops snd_pcm_dmaengine drm_shmem_helper rk_crypto snd_pcm videobuf2_v4l2 snd_timer videodev snd videobuf2_common mc soundcore cpufreq_dt gpio_beeper sg cfg80211 rfkill ledtrig_netdev lm75 dm_mod ip_tables x_tables autofs4 efivarfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx raid1 raid0 multipath linear md_mod cdc_ncm cdc_ether usbnet realtek r8152 dwmac_rk fusb302 tcpm stmmac_platform stmmac typec pcs_xpcs adc_keys [11806.609441] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G C O 6.6.0-edge-rockchip64 #1 [11806.609468] Hardware name: Helios64 (DT) [11806.609483] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [11806.609511] pc : dev_watchdog+0x298/0x2a0 [11806.609543] lr : dev_watchdog+0x298/0x2a0 [11806.609573] sp : ffff800080003dc0 [11806.609586] x29: ffff800080003dc0 x28: ffff800080ea70d4 x27: ffff800080003ec0 [11806.609634] x26: ffff800081818008 x25: 0000000000001ff4 x24: ffff800081b67000 [11806.609680] x23: 0000000000000000 x22: ffff0000075f341c x21: ffff0000075f3000 [11806.609725] x20: ffff000007680c00 x19: ffff0000075f34c8 x18: ffffffffffffffff [11806.609771] x17: 6d20303831382074 x16: 756f2064656d6974 x15: 2030206575657571 [11806.609816] x14: 2074696d736e6172 x13: 0000000000000304 x12: 00000000ffffffea [11806.609862] x11: 00000000ffffefff x10: ffff800081be5f08 x9 : ffff800081b8deb0 [11806.609907] x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : 0000000000057fa8 [11806.609951] x5 : 0000000000000fff x4 : 0000000000000000 x3 : 0000000000000027 [11806.609994] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff800081b74680 [11806.610038] Call trace: [11806.610052] dev_watchdog+0x298/0x2a0 [11806.610083] call_timer_fn+0x34/0x1bc [11806.610113] __run_timers.part.0+0x228/0x2ec [11806.610141] run_timer_softirq+0x48/0x84 [11806.610167] __do_softirq+0x150/0x3e4 [11806.610191] ____do_softirq+0x10/0x1c [11806.610217] call_on_irq_stack+0x24/0x4c [11806.610242] do_softirq_own_stack+0x1c/0x28 [11806.610268] irq_exit_rcu+0xb4/0xe4 [11806.610298] el1_interrupt+0x38/0x68 [11806.610326] el1h_64_irq_handler+0x18/0x24 [11806.610354] el1h_64_irq+0x64/0x68 [11806.610375] default_idle_call+0x38/0x16c [11806.610407] do_idle+0x20c/0x264 [11806.610435] cpu_startup_entry+0x34/0x3c [11806.610461] kernel_init+0x0/0x1e0 [11806.610491] arch_post_acpi_subsys_init+0x0/0x8 [11806.610524] start_kernel+0x734/0x950 [11806.610554] __primary_switched+0xb4/0xbc [11806.610582] ---[ end trace 0000000000000000 ]--- [11806.610611] r8152 2-1.4:1.0 end1: Tx timeout [11806.612779] r8152 2-1.4:1.0 end1: Tx status -2 [11806.612997] r8152 2-1.4:1.0 end1: Tx status -2 [11806.613129] r8152 2-1.4:1.0 end1: Tx status -2 [11806.613246] r8152 2-1.4:1.0 end1: Tx status -2