ebin-dev
Members-
Posts
423 -
Joined
-
Last visited
-
You can further tune your system (see here). I am on linux 6.6.56 now and use the 6.6.34 dtb with the fixes.
-
Well, the dtbs contain fixes for the 6.6 and 6.10 branch respectively (see i.e. here). If the 2.5G port of your Helios64 is connected to a device (via a 2.5G switch), where that device is connected using a 2.5G USB-C adapter instead of a standard 1G ethernet plug, the transmission rates between the two devices rise to 2.5Gbit/s full duplex.
-
These timeout issues are actually linux kernel related (see i.e. here). To get rid of those issues, disable scatter/gather offloading (just execute 'ethtool -K <iface> sg off' ; replace <iface> by your interface name like eth0). But transmission speed will suffer ! With some optimizations the timeout issues also disappear. Dealing with 2.5G traffic is quite a burden on the CPUs! Use jumbo frames. I am using the following content in /etc/rc.local to bind the tasks involved to the big cores (sata (cpu 4) and 2.5g network traffic (cpu 5)). How is your PC connected to your Helios64 ? If you are using an 2.5G USB-C adapter it should contain the latest version of the rtl8156 chip (31.04) (i.e. like this one). #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. cd /sys/devices/system/cpu/cpufreq for cpufreqpolicy in 0 4 ; do echo 1 > policy${cpufreqpolicy}/ondemand/io_is_busy echo 25 > policy${cpufreqpolicy}/ondemand/up_threshold echo 10 > policy${cpufreqpolicy}/ondemand/sampling_down_factor echo $(cat policy${cpufreqpolicy}/cpuinfo_transition_latency) > policy${cpufreqpolicy}/ondemand/sampling_rate done for i in $(awk -F":" "/ahci/ {print \$1}" < /proc/interrupts | sed 's/\ //g'); do echo 10 > /proc/irq/$i/smp_affinity done for i in $(awk -F":" "/xhci/ {print \$1}" < /proc/interrupts | sed 's/\ //g'); do echo 20 > /proc/irq/$i/smp_affinity done exit 0 rk3399-kobol-helios64.dtb-6.10.2-L2-hs400-opp rk3399-kobol-helios64.dtb-6.6.34-L2-hs400-opp
-
Download a new system image with linux 6.6.y, flash it to another sd card (just use etcher) and boot from it. I would recommend to copy the dtb from my post (for the 6.6 branch) and execute 'update-initramfs -u'. If you are using the 2.5G interface, replace the rtl firmware in /lib/firmware/rtl_nic. No need to install a new r8152 driver. You can then copy the system from sd to emmc using armbian-config (this also changes the bootloader on emmc) and boot from emmc. (If there are issues with the new bootloader installed on emmc, flash the following u-boot to emmc (linux-u-boot-edge-helios64_22.02.1_arm64) (see here).)
-
Here is my backup script - it copies the content from the running system - emmc (/) in my case - to sd (/mnt/sd). (create the mount point on emmc if it does not exist: 'mkdir /mnt/sd') As you can see the UUID that starts with 87654321... corresponds to the sd card, and the UUID starting with 12345678... corresponds to emmc. Type 'blkid' to get the UUIDs of your devices and insert them into the script accordingly. Check that the script can be executed (chmod +x backup.sh), insert a formatted sd card (ext4) and let the script run. That`s it. # cat backup.sh #!/bin/bash # Check if user is root if [ $(id -u) != "0" ]; then echo "Error: You must be root to run this script." exit 1 fi cat > install-exclude <<EOF /dev/* /proc/* /sys/* /mnt/sd/* /mnt/ssd/* /mnt/usb/* /mnt/hd/* /run/* # /tmp/* # /root/* EOF exec 2>/dev/null umount /mnt/sd exec 2>&1 mount --uuid 87654321-5709-4000-91ac-099eeefe4685 /mnt/sd rsync -avxSE --delete --exclude-from="install-exclude" / /mnt/sd # change fstab sed -e 's/UUID=12345678-3e1b-4e01-a6be-9ee203b1b54f/UUID=87654321-5709-4000-91ac-099eeefe4685/g' -i /mnt/sd/etc/fstab sed -e 's/UUID=12345678-3e1b-4e01-a6be-9ee203b1b54f/UUID=87654321-5709-4000-91ac-099eeefe4685/g' -i /mnt/sd/boot/armbianEnv.txt umount /mnt/sd rm install-exclude echo "SD - done."
-
Did you update the r8152 firmware (link)? # dmesg | grep r8152 [ 5.245881] usbcore: registered new device driver r8152-cfgselector [ 5.460956] r8152-cfgselector 2-1.4: reset SuperSpeed USB device number 3 using xhci-hcd [ 5.741177] r8152 2-1.4:1.0: load rtl8156a-2 v2 04/27/23 successfully [ 5.795083] r8152 2-1.4:1.0 eth0: v1.12.13
-
With the voltage changes proposed by @prahal (see 'opp-table 1' earlier in this thread) my system is 100% stable, absolutely reliable (using linux 6.6.x or 6.10.y). There are also others observing this. Attaching drives is handled by the kernel. If that is not working, it may be that the relevant (hotplug) options are not configured.
-
It seems that the patches are still missing. Until this is fixed you can use my dtb attached for the kernel 6.6.x branch (just copy it to /boot/dtb/rockchip/rk3399-kobol-helios64.dtb). The linux files (linux-image, linux-header, linux-dtb) can be downloaded from beta.armbian.com (to be installed with 'dpkg -i linux*). Copy the attached 6.6 dtb to its location and run 'update-initramfs -u' and reboot. Thats it. I am on 6.10.2 right now - I also include the dtb for the 6.10 branch below. rk3399-kobol-helios64.dtb-6.6.34-L2-hs400-opp rk3399-kobol-helios64.dtb-6.10.2-L2-hs400-opp
-
To install the latest kernel 6.6.69 just load the three files (image, dtb, headers) into a single folder, and execute 'dpkg -i linux*' inside that folder and reboot.
-
You may have noticed that Helios64 was moved to the supported section again about two weeks ago: thanks to @prahal who volunteers as a maintainer ! I think this should be appreciated i.e. by reacting to his last message two postings earlier.
-
@prahal Current kernel 6.9.6 works just fine on Helios64 (headless) thanks to your PR. I am still using linux-u-boot-edge-helios64_22.02.1_arm64. Level2 cache-info is now included: # lscpu -C NAME ONE-SIZE ALL-SIZE WAYS TYPE LEVEL SETS PHY-LINE COHERENCY-SIZE L1d 32K 192K 4 Data 1 128 64 L1i 32K 224K 2 Instruction 1 256 64 L2 512K 1.5M 16 Unified 2 512 64 The modified dtb (hs400, modified opp-table-1) is attached below (copy to /boot/dtb/rockchip/rk3399-kobol-helios64.dtb ; execute 'update-initramfs -u'). P.S.: sata performance needs to be addressed and helios64-heartbeat-led.service is not working rk3399-kobol-helios64.dtb-6.9.6-L2-hs400-opp
-
@prahal There are two versions of the bootloader in the repository (edge and current). I just tried the current u-boot from the repository. It works but dmesg outputs seven of the following messages: [ 9.674633] rockchip-i2s ff8a0000.i2s: Could not register PCM This note mentions that such error messages could mean that DMA and sound are missing in the linux kernel, could this be ignored ? P.S.: Those messages are not thrown if the recommended bootloader (linux-u-boot-edge-helios64_22.02.1_arm64) is flashed to emmc.