Jump to content

Helios64: Armbian 25.2.3 bookworm (6.12.18) @ OMV7 - 2.5Gbit LAN -> upload to client very slow


Recommended Posts

Posted

If I transfer from Helios64 2.5Gbit Port to a client 2.5Gbit port I'll got a very slow transfer rate (Helios -> client around 200Mbit/s), vice versa full speed, switch is 2.5Gbit (Rj45 ethernet Cat7 cable).Testet with iperf. The switch monitoring indicates always 2 errors.

I know about the Hardware issue of Lan-Port2, but it only effect 1Gbit transfer. Nevertheless in the Network are also mixed with 1Gbit clients.

Is there anything I'll can try to get full 2.5Gbit speed?

 

 

 

Posted

Today I did also the hardware fix for the 2.5Gbit Port & I can confirm nothing changed concerning the speed:

Helios64 -> client around 200Mbit/s

Client -> Helios64 2.35Gbit/s but unstable connection compared to 1Gbit Port, the transfer drops

The switch monitoring indicates now 1 error.

 

My Conclusion for 2.5Gbit Port: Not usable at all!

 

Posted (edited)

Hi greg396,

 

solutions for your issue were discussed in the parallel thread:

 

You need to update the rtl_nic firmware in /lib/firmware/rtl_nic and use the modified dtb for stability reasons.

 

If there are any remaining problems, check the load distribution on your helios64 and the connection to your client. 

 

The iperf3 transfer speeds from helios64 to macos clients in our network are 280MByte/s without any dropouts (linux 6.6.87 is recommended), upload speed is around 230MByte/s and we are using it 24/7 without any issues.

 

Edited by ebin-dev
Posted (edited)

Dear ebin-dev,

the rtl_nic firmware from your link are already in /lib/firmware/rtl_nic - anything I should do?

the modified dtb for 6.12 are installed already in march - without any changes.

Your suggestion should be to downgrade the kernel, but how can I downgrade from actual kernel 6.12.x to your recommended deb-package 6.6.87 without getting into trouble and how I should disable kernel updates? ;)

Edited by greg396
Posted (edited)

@greg396  You can downgrade linux to 6.6.87: unzip the file debs-6.6.87.zip on your helios, cd into the folder and submit  'dpkg -i linux*'. With linux 6.12. I get some timeouts during data transfer. You need to install the modified dtb for the linux-6.6 branch in /boot/dtb/rockchip/  (do not forget 'update-initramfs -u' after that and reboot).

 

Follow the link load distribution and Install the code displayed ('cd ... exit 0') in /etc/rc.local and reboot.

 

I have disabled any Armbian updates by commenting the text in /etc/apt/sources.list.d/armbian.list but submitting 'apt-mark hold armbian-firmware' may work as well.

 

However, I have no idea whether or not OMV requires a specific kernel branch - but I don't think so. If you need to reinstall linux 6.12. you can collect the three corresponding deb packages (linux-image, linux-dtb and linux-headers) on http://beta.armbian.com/ (currently 6.12.25).

 

P.S.: Alternatively you can also download the Armbian 24.11.1 Bookworm image (6.6.62) and start from the fresh image (add rtl_nic firmware, replace dtb, setup rc.local). If transfer rates are still low something may be wrong with your client or with your helios64 or with the network itself.

 

Edited by ebin-dev
Posted

Dear ebin-dev,

 

I downgraded, got an error concerning linux-headers-current-rockchip64, could solve it with sudo apt --fix-broken install,

but hesitating to reboot if I am not shure if the downgrade was 100% sucessful ;)

Is there any possibility to check before reboot if anything is well and system will reboot sucessful?

 

sudo dpkg -i linux-*
dpkg: warning: downgrading linux-dtb-current-rockchip64 from 25.2.3 to 24.11.0-trunk
(Reading database ... 52529 files and directories currently installed.)
Preparing to unpack linux-dtb-current-rockchip64_24.11.0-trunk_arm64__6.6.87-S8146-D0531-P5324-C702eH5c21-HK01ba-Vc222-B59f0-R448a.deb ...
Armbian 'linux-dtb-current-rockchip64' for '6.6.87-current-rockchip64': 'preinst' starting.
Armbian 'linux-dtb-current-rockchip64' for '6.6.87-current-rockchip64': 'preinst' finishing.
Unpacking linux-dtb-current-rockchip64 (24.11.0-trunk) over (25.2.3) ...
Selecting previously unselected package linux-headers-current-rockchip64.
Preparing to unpack linux-headers-current-rockchip64_24.11.0-trunk_arm64__6.6.87-S8146-D0531-P5324-C702eH5c21-HK01ba-Vc222-B59f0-R448a.deb ...
Armbian 'linux-headers-current-rockchip64' for '6.6.87-current-rockchip64': 'preinst' starting.
Armbian 'linux-headers-current-rockchip64' for '6.6.87-current-rockchip64': 'preinst' finishing.
Unpacking linux-headers-current-rockchip64 (24.11.0-trunk) ...
dpkg: warning: downgrading linux-image-current-rockchip64 from 25.2.3 to 24.11.0-trunk
Preparing to unpack linux-image-current-rockchip64_24.11.0-trunk_arm64__6.6.87-S8146-D0531-P5324-C702eH5c21-HK01ba-Vc222-B59f0-R448a.deb ...
Armbian 'linux-image-current-rockchip64' for '6.12.22-current-rockchip64': 'prerm' starting.
Armbian 'linux-image-current-rockchip64' for '6.12.22-current-rockchip64': 'prerm' finishing.
Armbian 'linux-image-current-rockchip64' for '6.6.87-current-rockchip64': 'preinst' starting.
ls: cannot access '/var/lib/initramfs-tools': No such file or directory
Armbian 'linux-image-current-rockchip64' for '6.6.87-current-rockchip64': 'preinst' finishing.
Unpacking linux-image-current-rockchip64 (24.11.0-trunk) over (25.2.3) ...
Armbian 'linux-image-current-rockchip64' for '6.12.22-current-rockchip64': 'postrm' starting.
Armbian 'linux-image-current-rockchip64' for '6.12.22-current-rockchip64': 'postrm' finishing.
Setting up linux-dtb-current-rockchip64 (24.11.0-trunk) ...
Armbian 'linux-dtb-current-rockchip64' for '6.6.87-current-rockchip64': 'postinst' starting.
Armbian: DTB: symlinking /boot/dtb to /boot/dtb-6.6.87-current-rockchip64...
'dtb' -> 'dtb-6.6.87-current-rockchip64'
Armbian 'linux-dtb-current-rockchip64' for '6.6.87-current-rockchip64': 'postinst' finishing.
dpkg: dependency problems prevent configuration of linux-headers-current-rockchip64:
 linux-headers-current-rockchip64 depends on libelf-dev; however:
  Package libelf-dev is not installed.

dpkg: error processing package linux-headers-current-rockchip64 (--install):
 dependency problems - leaving unconfigured
Setting up linux-image-current-rockchip64 (24.11.0-trunk) ...
Armbian 'linux-image-current-rockchip64' for '6.6.87-current-rockchip64': 'postinst' starting.
update-initramfs: Generating /boot/initrd.img-6.6.87-current-rockchip64
update-initramfs: Converting to u-boot format
Armbian: update last-installed kernel symlink to 'Image'...
'/boot/Image' -> 'vmlinuz-6.6.87-current-rockchip64'
Armbian: Debian compat: linux-update-symlinks install 6.6.87-current-rockchip64 boot/vmlinuz-6.6.87-current-rockchip64
I: /vmlinuz.old is now a symlink to boot/vmlinuz-6.6.87-current-rockchip64
I: /initrd.img.old is now a symlink to boot/initrd.img-6.6.87-current-rockchip64
I: /vmlinuz is now a symlink to boot/vmlinuz-6.6.87-current-rockchip64
I: /initrd.img is now a symlink to boot/initrd.img-6.6.87-current-rockchip64
Armbian 'linux-image-current-rockchip64' for '6.6.87-current-rockchip64': 'postinst' finishing.
Errors were encountered while processing:
 linux-headers-current-rockchip64


sudo apt --fix-broken install
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  libelf-dev zlib1g-dev
The following NEW packages will be installed:
  libelf-dev zlib1g-dev
0 upgraded, 2 newly installed, 0 to remove and 3 not upgraded.
1 not fully installed or removed.
Need to get 987 kB of archives.
After this operation, 1716 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://deb.debian.org/debian bookworm/main arm64 zlib1g-dev arm64 1:1.2.13.dfsg-1 [913 kB]
Get:2 http://deb.debian.org/debian bookworm/main arm64 libelf-dev arm64 0.188-2.1 [73.8 kB]
Fetched 987 kB in 0s (2258 kB/s)      
Selecting previously unselected package zlib1g-dev:arm64.
(Reading database ... 78145 files and directories currently installed.)
Preparing to unpack .../zlib1g-dev_1%3a1.2.13.dfsg-1_arm64.deb ...
Unpacking zlib1g-dev:arm64 (1:1.2.13.dfsg-1) ...
Selecting previously unselected package libelf-dev:arm64.
Preparing to unpack .../libelf-dev_0.188-2.1_arm64.deb ...
Unpacking libelf-dev:arm64 (0.188-2.1) ...
Setting up zlib1g-dev:arm64 (1:1.2.13.dfsg-1) ...
Setting up libelf-dev:arm64 (0.188-2.1) ...
Setting up linux-headers-current-rockchip64 (24.11.0-trunk) ...
Armbian 'linux-headers-current-rockchip64' for '6.6.87-current-rockchip64': 'postinst' starting.
Compiling kernel-headers tools (6.6.87-current-rockchip64) using 6 CPUs - please wait ...
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
  SYNC    include/config/auto.conf.cmd
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.[ch]
  HOSTCC  scripts/dtc/libfdt/fdt.o
  HOSTCC  scripts/dtc/libfdt/fdt_ro.o
  HOSTCC  scripts/dtc/libfdt/fdt_wip.o
  HOSTCC  scripts/dtc/libfdt/fdt_sw.o
  HOSTCC  scripts/dtc/libfdt/fdt_rw.o
  HOSTCC  scripts/dtc/libfdt/fdt_strerror.o
  HOSTCC  scripts/dtc/libfdt/fdt_empty_tree.o
  HOSTCC  scripts/dtc/libfdt/fdt_addresses.o
  HOSTCC  scripts/dtc/libfdt/fdt_overlay.o
  HOSTCC  scripts/dtc/fdtoverlay.o
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/dtc/fdtoverlay
  HOSTLD  scripts/dtc/dtc
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/insert-sys-cert
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTCC  scripts/selinux/mdp/mdp
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/devicetable-offsets.s
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/mod/symsearch.o
  UPD     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTLD  scripts/mod/modpost
  MODPOST scripts/mod/Module.symvers
Done compiling kernel-headers tools (6.6.87-current-rockchip64).
Done compiling kernel-headers tools (6.6.87-current-rockchip64).
Armbian 'linux-headers-current-rockchip64' for '6.6.87-current-rockchip64': 'postinst' finishing.
Processing triggers for man-db (2.11.2-2) ...


sudo dpkg -i linux-headers-current-rockchip64_24.11.0-trunk_arm64__6.6.87-S8146-D0531-P5324-C702eH5c21-HK01ba-Vc222-B59f0-R448a.deb
(Reading database ... 78194 files and directories currently installed.)
Preparing to unpack linux-headers-current-rockchip64_24.11.0-trunk_arm64__6.6.87-S8146-D0531-P5324-C702eH5c21-HK01ba-Vc222-B59f0-R448a.deb ...
Armbian 'linux-headers-current-rockchip64' for '6.6.87-current-rockchip64': 'prerm' starting.
Cleaning directory /usr/src/linux-headers-6.6.87-current-rockchip64 ...
Armbian 'linux-headers-current-rockchip64' for '6.6.87-current-rockchip64': 'prerm' finishing.
Armbian 'linux-headers-current-rockchip64' for '6.6.87-current-rockchip64': 'preinst' starting.
Armbian 'linux-headers-current-rockchip64' for '6.6.87-current-rockchip64': 'preinst' finishing.
Unpacking linux-headers-current-rockchip64 (24.11.0-trunk) over (24.11.0-trunk) ...
Setting up linux-headers-current-rockchip64 (24.11.0-trunk) ...
Armbian 'linux-headers-current-rockchip64' for '6.6.87-current-rockchip64': 'postinst' starting.
Compiling kernel-headers tools (6.6.87-current-rockchip64) using 6 CPUs - please wait ...
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/expr.o
  LEX     scripts/kconfig/lexer.lex.c
  YACC    scripts/kconfig/parser.tab.[ch]
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/menu.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
  SYNC    include/config/auto.conf.cmd
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.[ch]
  HOSTCC  scripts/dtc/libfdt/fdt.o
  HOSTCC  scripts/dtc/libfdt/fdt_ro.o
  HOSTCC  scripts/dtc/libfdt/fdt_wip.o
  HOSTCC  scripts/dtc/libfdt/fdt_sw.o
  HOSTCC  scripts/dtc/libfdt/fdt_rw.o
  HOSTCC  scripts/dtc/libfdt/fdt_strerror.o
  HOSTCC  scripts/dtc/libfdt/fdt_empty_tree.o
  HOSTCC  scripts/dtc/libfdt/fdt_addresses.o
  HOSTCC  scripts/dtc/libfdt/fdt_overlay.o
  HOSTCC  scripts/dtc/fdtoverlay.o
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/dtc/fdtoverlay
  HOSTLD  scripts/dtc/dtc
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/insert-sys-cert
  HOSTCC  scripts/selinux/genheaders/genheaders
  HOSTCC  scripts/selinux/mdp/mdp
  CC      scripts/mod/empty.o
  HOSTCC  scripts/mod/mk_elfconfig
  CC      scripts/mod/devicetable-offsets.s
  MKELF   scripts/mod/elfconfig.h
  UPD     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTCC  scripts/mod/symsearch.o
  HOSTCC  scripts/mod/file2alias.o
  HOSTLD  scripts/mod/modpost
  MODPOST scripts/mod/Module.symvers
Done compiling kernel-headers tools (6.6.87-current-rockchip64).
Done compiling kernel-headers tools (6.6.87-current-rockchip64).
Armbian 'linux-headers-current-rockchip64' for '6.6.87-current-rockchip64': 'postinst' finishing.

sudo cp rk3399-kobol-helios64.dtb /boot/dtb/rockchip/
sudo update-initramfs -u

 

Posted

Well, the two packages libelf-dev and zlib1g-dev were missing on your installation and 'sudo apt --fix-broken install' resolved it.

Reboot should be fine: after the dtb is replaced and 'update-initramfs -u' executed.

Cheers

Posted

After shutdown client, Nas, switch I tested the NAS with the downgraded kernel 6.6.87.

Using the dtb for 6.6 from here

https://forum.armbian.com/applications/core/interface/file/attachment.php?id=13745&key=de08de7cf5b1684faa2f41605ea19a5f

 

Including your optimizations here

/etc/rc.local -> done

No difference! Speed from NAS to client remains at 200Mbit/s! :(

 

armbian-hardware-optimization is disabled on your system -> how do i do this?

 

make_nas_processes_faster.sh

"if iperf3 tests are performed or if helios64 is mounted as a remote drive I call the following script that assigns a big core and a preferred"

-> I copied the script to /usr/local/bin/make_nas_processes_faster.sh but how should it'll be started?

 

./make_nas_processes_faster.sh
pgrep: pattern that searches for process name longer than 15 characters will result in zero matches
Try `pgrep -f' option to match against the complete command line.

 

Anything I can try?

Posted (edited)

 

3 hours ago, greg396 said:

No difference! Speed from NAS to client remains at 200Mbit/s! :(

 

To troubleshoot that you could boot off a fresh Armbian 24.11.1 Bookworm image (6.6.62) and add rtl_nic firmware, replace dtb, setup rc.local. If transfer rates are still low something may be wrong with your client or with your helios64 or with the network itself.

 

Did you launch 'htop' so that you can see what is going on during the data transfer? Are there any cores fully utilized ? Is nic offloading enabled ? etc.

 

3 hours ago, greg396 said:

armbian-hardware-optimization is disabled on your system -> how do i do this?

 

'systemctl disable armbian-hardware-optimize.service' 

 

3 hours ago, greg396 said:

make_nas_processes_faster.sh

"if iperf3 tests are performed or if helios64 is mounted as a remote drive I call the following script that assigns a big core and a preferred"

-> I copied the script to /usr/local/bin/make_nas_processes_faster.sh but how should it'll be started?

 

I am automatically calling that shell script while mounting helios64 as a remote drive on macOS clients (using netatalk).

The names of the processes (afpd|cnid|iperf3|netatalk) need to be replaced by the processes involved in the data transfer on your helios (iperf3, smb? etc. ).

 

root@grid:~# chmod +x /usr/local/bin/make_nas_processes_faster.sh

root@grid:~# sh /usr/local/bin/make_nas_processes_faster.sh
pid 21358's current affinity list: 4
pid 21358's new affinity list: 4
pid 21359's current affinity list: 4
pid 21359's new affinity list: 4
pid 21360's current affinity list: 4
pid 21360's new affinity list: 4
pid 21367's current affinity list: 4
pid 21367's new affinity list: 4
pid 21368's current affinity list: 4
pid 21368's new affinity list: 4
pid 21700's current affinity list: 4
pid 21700's new affinity list: 4

 

 

Edited by ebin-dev

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines