Jump to content

Protx

Members
  • Posts

    7
  • Joined

  • Last visited

Community Answers

  1. Protx's post in Orangepi3b kernel panic when trying to boot with the new vendor kernel(6.1.43) was marked as the answer   
    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.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines