I now have the Armbian-unofficial_24.5.0-trunk_Orangepi3b_bookworm_vendor_6.1.43_minimal image booting on my orangpi3b. This is an unsupported board, and the images is built from trunk and bleeding edge, so I guess it is expected to have some issues. Anyway I post my findings in case other have the same problem.
Iper3 works without any retries. So next is to install OMV7 and see the file transfer speed.
orangepi@orangepi3b:~$ iperf3 -c 192.168.10.10 -f M
Connecting to host 192.168.10.10, port 5201
[ 5] local 192.168.10.227 port 41766 connected to 192.168.10.10 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 114 MBytes 114 MBytes/sec 0 407 KBytes
[ 5] 1.00-2.00 sec 112 MBytes 112 MBytes/sec 0 407 KBytes
[ 5] 2.00-3.00 sec 113 MBytes 113 MBytes/sec 0 428 KBytes
[ 5] 3.00-4.00 sec 112 MBytes 112 MBytes/sec 0 428 KBytes
[ 5] 4.00-5.00 sec 112 MBytes 112 MBytes/sec 0 451 KBytes
[ 5] 5.00-6.00 sec 112 MBytes 112 MBytes/sec 0 451 KBytes
[ 5] 6.00-7.00 sec 112 MBytes 112 MBytes/sec 0 451 KBytes
[ 5] 7.00-8.00 sec 112 MBytes 112 MBytes/sec 0 451 KBytes
[ 5] 8.00-9.00 sec 112 MBytes 112 MBytes/sec 0 451 KBytes
[ 5] 9.00-10.00 sec 113 MBytes 113 MBytes/sec 0 451 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.10 GBytes 112 MBytes/sec 0 sender
[ 5] 0.00-10.04 sec 1.10 GBytes 112 MBytes/sec receiver
iperf Done.
I did not know that the bootloader/u-boot on the SPI and EMMC could have impact on booting of SD card, because all images with edge kernel booted just fine from SD card. I have an EMMC with armbian-bookworm-edge-minimal installed, and have flashed the SPI with the u-boot version installed on the EMMC.
Error when trying to boot a vendor image from SD card:
[ 9.413438] rockchip-pm-domain fdd90000.power-management:power-controller: failed to get ack on domain 'npu', target_idle = 0, target_ack = 0, val=0x6
[ 9.413543] Kernel panic - not syncing: panic_on_set_idle set ...
Then I tried other images, armbian with legacy kernel and ubuntu24.04beta-6.1 kernel. Both with the same error.
I then flashed the ubuntu's u-boot on the SPI and removed the EMMC. Then the both images booted.
But the armbian-bookworm-vendor-mininal still would not boot. But this time it stopped with another error:
[ 23.575850] mtty_probe init device addr: 0x000000004f52d231
[ 23.576178] -->rfkill_bluetooth_init
[ 23.576456] <--rfkill_bluetooth_init
[ 23.577060] sysfs: cannot create duplicate filename '/devices/virtual/tty/ttyBT0'
[ 23.577107] CPU: 1 PID: 381 Comm: systemd-modules Not tainted 6.1.43-vendor-rk35xx #1
[ 23.577127] Hardware name: Rockchip RK3566 OPi 3B (DT)
[ 23.577141] Call trace:
[ 23.577153] dump_backtrace+0xe4/0x108
Next I erased the SPI, and with no EMMC the only bootloader on the SBC was on the SD card.
Then the armbian-bookworm-vendor-mininal image stopped with the first kernel panic again:
[ 9.413438] rockchip-pm-domain fdd90000.power-management:power-controller: failed to get ack on domain 'npu', target_idle = 0, target_ack = 0, val=0x6
[ 9.413543] Kernel panic - not syncing: panic_on_set_idle set ...
So I made changes and reverted to an older version of uboot:
BOOTBRANCH="commit:63073b4af636146d26a7f0f258610eed060c8f34" # specific commit, from "branch:rk3568-2023.10"
BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory
BOOTPATCHDIR="v2023.10-orangepi3b" # empty, patches are already in Kwiboo's branch:rk3568-2023.10
revert-u-boot-orangepi3b.patch
Again booting from SD card I got the "duplicate filename" bluetooth error again.
So after scratching my head and poking around I noticed that not all the UW5622 patches was applied?:
# Apply patches that adjust the driver only for rockchip platforms
if [[ "$LINUXFAMILY" == rockchip* ]]; then
if linux-version compare "${version}" le 6.1; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-adjust-for-rockchip-pre-6.1.patch"
else
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-adjust-for-rockchip-post-6.1.patch"
fi
fi
Since the vendor kernel is defined as "$LINUXFAMILY" == rk35xx ? this part of the patch does not get applied.
And since the vendor kernel is 6.1.43, it should use the post version of the patch?, aka the "le" won't work.?
I changed the script to:
# Apply patches that adjust the driver only for rockchip platforms
if [[ "$LINUXFAMILY" == rockchip* || "$LINUXFAMILY" == "rk35xx" ]]; then
if linux-version compare "${version}" ge 6.1; then
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-adjust-for-rockchip-post-6.1.patch"
else
process_patch_file "${SRC}/patch/misc/wireless-uwe5622/uwe5622-adjust-for-rockchip-pre-6.1.patch"
fi
uw5622-fix-adjust-for-rockchip-post-6.1.patch
Compiled, now it boots from SD and seems to work just fine.
It seems like you can boot Armbian_community_24.5.0-trunk.250_Orangepi3b_bookworm_vendor_6.1.43_minimal.img.xz ?
I made a post that I can't boot my homebuilt bookworm minimal with the vendor kernel. I was curious it my home built image was bad. So I downloaded the above mentioned image and burned it to a sd card, and I got exactly the same kernel panic!. (Kernel panic - not syncing: panic_on_set_idle set). Then I thought that it maybe was an issue with the u-boot I have flashed to spi. (I got another image on emmc)
So I erased the spi, and booted from sd card again, it booted further, but got another kernel panic:
sysfs: cannot create duplicate filename '/devices/virtual/tty/ttyBT0'
and
kobject_add_internal failed for ttyBT0 with -EEXIST, don't try to register things with the same name in the same directory.
I have no idea what it is, but seems like Bluetooth is registering twice.
If you can boot the vendor kernel image that my Orangepi3b board has some issues Or my powersupply(s). But the edge kernel images boots fine.
Regards the hardware options/overlays, I do not think is built any overlays with the image and/or the overlay name is wrong.
Check the overlay_prefix= in /boot/armbianEnv.txt. The overlay prefix name must match with the first name (before the -)of your overlays in: /boot/dtb/rockchip/overlay/
If your overlays has name like this: rk356x-i2c2-m1.dtbo. Then your overlay_prefix should be: overlay_prefix=rk356x
But maybe it is none for the orangepi3b. What I did was downloading a xunlong orangepi3b image to an sd card, or you can loop mount it. Then copy out the overlays, use filezilla and sftp it over to your orangepi3b, place them in your overlay folder and edit armbianEnv.txt to the right overlay name.
I have red that it should not work if it was not compiled with the kernel, but I use one overlay and it works.