Orange Pi 5+ should we have switched kernel?

I see that if I on my “Orange Pi 5 Plus 16GB” do “apt search rk35” short for the machine’s “RK3588” CPU I currently get a listing of available (without having edited apt’s sources)
linux-[dtb/headers/image]-legacy-rk35xx (5.10.160, installed)
linux-[dtb/headers/image]-collabora-rockchip-rk3588 (6.7.0)
linux-[dtb/headers/image]-edge-rockchip-rk3588 (6.8.0-rc1)
Is there some particular reason why we are running the “legacy” kernel when it appears to me there is one (more) current and one more experimental kernel seemingly available?
Do the other two not match the rk3588 CPU or something else in the OPi5+ hardware?
Is this something we are supposed to have switched ourselves already? If not, is it advised or possible without being expected to break things? If so, what would be the recommended process on this distro?

I am kind of hoping that an updated kernel might fix the problem with the OPi5+ getting confused sometimes on reboot about which of the ethernet ports is the first one and which is the second in spite of having applied what I previously hoped would be the solution (a file /etc/network/interfaces.d/eth[0/1] with their respective “hardware ether address” listed at their respective configurations).

Thank you!

maybe @MichaIng could answer this

The edge kernel is a mainline kernel, hence many features of the RK3588 won’t work. However, you can just test it and report back what works and what not. I would love to switch to mainline kernel ASAP.

collabora is as well an experimental mix of mainline Linux with added hardware support by Collabora. Some more things will work, but it heavily changes, hence things may break with any update. By Collabora, these sources are aimed for upstreaming, for developers and testers, not for productive usage: Rockchip RK3588 upstream enablement efforts · GitLab
However, of course feel free to test it.

What I am actually aiming for is switching to the vendor branch, which is not in Armbian’s APT repositories yet. It is based on Rockchip kernel source (like legacy), but their recent Linux 6.1 sources, which were build up from scratch, while the 5.10 sources were only rebased since a long time, with a lot of crap accumulated, as well as Android and Linux intermixed. I’ll generate builds today, so you can test them.

EDIT: Build in progress: Armbian · MichaIng/DietPi@7da2b57 · GitHub
Can be found here once done: Index of /downloads/binaries/testing

I also started builds with vendor-boogie-panthor branch. This is the vendor branch, but with a new GPU driver developed by someone from Collabora: Release the panthor!
I guess this is part of the collabora branch already, hence this branch is between vendor and collabora.

2 Likes

@MichaIng excuse me - can you pinpoint the HOWTO document explaining details of kernel upgrade from vendor-boogie-panthor branch in case of DietPi? I would not like moving on with blind apt/dpkg installation of all listed images, but so far was not able to figure out, how to do it properly:

renamed 'linux-dtb-vendor-rk35xx_24.5.0-trunk_arm64__6.1.43-S8968-D440d-Pb426-C2ee4H66b1-HK01ba-Vc222-Bf15a-R448a.deb' -> 'linux-dtb-vendor-rk35xx.deb'
renamed 'linux-headers-vendor-rk35xx_24.5.0-trunk_arm64__6.1.43-S8968-D440d-Pb426-C2ee4H66b1-HK01ba-Vc222-Bf15a-R448a.deb' -> 'linux-headers-vendor-rk35xx.deb'
renamed 'linux-image-vendor-rk35xx_24.5.0-trunk_arm64__6.1.43-S8968-D440d-Pb426-C2ee4H66b1-HK01ba-Vc222-Bf15a-R448a.deb' -> 'linux-image-vendor-rk35xx.deb'
renamed 'linux-libc-dev-vendor-rk35xx_24.5.0-trunk_arm64__6.1.43-S8968-D440d-Pb426-C2ee4H66b1-HK01ba-Vc222-Bf15a-R448a.deb' -> 'linux-libc-dev-vendor-rk35xx.deb'

Thanks a lot!

Just to be clear, for my own part I was only asking if this kernel version upgrade was something we should have done already.

The only issues I currently have with my Orange Pi 5 Plus after months of otherwise perfectly stable use on DietPi is that

  • it rarely (like every 15th time) on reboot gets confused which network port is the first or second even with this DietPi is using an out-of-date u-boot that doesn't set a fixed MAC address on Quartz64A - #34 by KaKi87 workaround but just connecting a keyboard and pressing control+alt+delete to reboot statistically extremely probably has it come back up with a correct network ports assignment and my workaround for now is to just have both ports populated with cables so that it does not matter anyway
  • very rarely (like every 30th time) does not reboot when it’s told to but just stands frozen between apparently having left the kernel and the next bootup so one must pull the power cable out to replug it in and finally that,
  • it only seems to reach about 500Mb/s wired network speed on a 1Gb/s Internet connection.

For my own use (normally SSH-access only, no desktop, runs dockerized services like Nextcloud, Navidrome, Jellyfin and Tor obfs4-bridge) I would not be inclined to venture into something that would be known likely to make any of this functionality worse or break it.
Others might be interested in experiments though and I too would of course be very thankful to anyone that thusly contributes to some future stable upgraded kernel for this device, but that was not the purpose of my starting this thread.

1 Like

Try this way:

cd /tmp
wget https://dietpi.com/downloads/binaries/linux-{image,dtb}-vendor-rk35xx.deb
dpkg -i linux-{image,dtb}-vendor-rk35xx.deb
reboot

And yes, we should definitely switch to this kernel, as the source quality is much better compared to the often rebased 5.10 branch.

Hey, nice @MichaIng, thanks!

Seems all that I am actively using works with the new kernel at a glance.

The WiFi-card does not get detected anymore now though, while it was detected and working fine previously. I wasn’t using it, so I’m fine, but someone else might be.
Should the “https://dietpi.com/downloads/binaries/armbian-firmware.deb” be listed alongside those image/dtb-files included in the installation, maybe?


1 Like

Ah right, please try to install the little newer firmware package as well. Though it is possible that it requires an update at source code end:

cd /tmp
wget https://dietpi.com/downloads/binaries/armbian-firmware.deb
dpkg -i armbian-firmware.deb
rm armbian-firmware.deb

Do you remember which kernel module/driver was used for you WiFi card? Or did you use an M.2 E-key WiFi card? Probably kernel errors give a hint:

dmesg -l 0,1,2,3

EDIT: Ah wait, I think some device tree node is required to get M.2 WiFi modules to work, similar to this one: kernel-rockchip/arch/arm64/boot/dts/rockchip/rk3568-nanopi5-rev02.dts at 18fd1215fee01daef16b6ced1c0c3c3b83a4d8df · friendlyarm/kernel-rockchip · GitHub
We need to check Orange Pi Linux 6.1 sources and hope that we can moreless copy&paste that node over, if it is really missing in Armbian’s Rockchip 6.1 sources.

quick check on my OPi5. Seems to be working

root@DietPiOPi5:~# uname -a
Linux DietPiOPi5 6.1.43-vendor-rk35xx #1 SMP Tue Apr 23 05:36:43 UTC 2024 aarch64 GNU/Linux
root@DietPiOPi5:~#
2 Likes

Ah found it:

mkdir -p /boot/overlay-user
cp -a /boot/dtb/rockchip/overlay/rk3588-wifi-ap6275p.dtbo /boot/overlay-user/m2-pcie-wifi.dtbo
G_CONFIG_INJECT 'user_overlays=' 'user_overlays=m2-pcie-wifi' /boot/dietpiEnv.txt
reboot

I installed the “armbian-firmware.deb” as you described, @MichaIng.
The WiFi-card remains undetected.
It’s the official M.2 by Orange Pi (as in e.g. this 287.17€ |Orange pi 5 plus 32gb 256gb emmc modul wifi modul r6 metall gehäuse 5 v4a typ c netzteil, ddr4 rk3588 orange pi5 plus mini pc| | - AliExpress bundle).

See my post above. That device tree overlay seems to do it.

Hmm, well, I just copy/pasted your commands and… something seems to have been wrong?
See screenshot.

Still no WiFi detected according to dietpi-config.

Ah, it has a different name in Armbian sources:

cp -a /boot/dtb/rockchip/overlay/orangepi-5-ap6275p.dtbo /boot/overlay-user/m2-pcie-wifi.dtbo
reboot

You should be btw able to copy&paste text directly from your SSH client. No need to do screenshots.

I did those commands, but after reboot dietpi-config still says

WiFi : Not Found | [On] | Disconnected

Hmm, I also see that those two nodes are enabled by default: linux-rockchip/arch/arm64/boot/dts/rockchip/rk3588-orangepi-5-plus.dtsi at 2ef3143a76574ff6093c736f7c346f68cc5489cc · armbian/linux-rockchip · GitHub
The overlay sets status = "okay"; for both and wifi_chip_type = "ap6275p";, but that is the case here already.

So it really has an effect only on Orange Pi 5 non-Plus, where these are disabled: linux-rockchip/arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dtsi at 2ef3143a76574ff6093c736f7c346f68cc5489cc · armbian/linux-rockchip · GitHub
Makes sense since that one has one M.2 M-key socket only, where this surely breaks using an NVMe SSD.

What about kernel errors?

dmesg -l 0,1,2,3

Or generally some logs about PCIe devices?

dmesg | grep -E 'pcie|wifi|wlan|ap6275'

Sure, here are both of those:

# dmesg -l 0,1,2,3
[    2.207704] OF: fdt: Reserved memory: failed to reserve memory for node 'drm-logo@00000000': base 0x0000000000000000, size 0 MiB
[    2.207725] OF: fdt: Reserved memory: failed to reserve memory for node 'drm-cubic-lut@00000000': base 0x0000000000000000, size 0 MiB
[    3.623931] fiq_debugger fiq_debugger.0: error -ENXIO: IRQ fiq not found
[    3.623946] fiq_debugger fiq_debugger.0: error -ENXIO: IRQ wakeup not found
[    3.623956] fiq_debugger_probe: could not install nmi irq handler
[    3.682564] debugfs: Directory 'vcc_mipicsi1' with parent 'regulator' already present!
[    3.682584] debugfs: Directory 'vcc_mipicsi1' with parent 'vcc_mipicsi1' already present!
[    4.072995] dw-pcie fe180000.pcie: invalid resource
[    4.073009] dw-pcie fe180000.pcie: Failed to initialize host
[    4.073089] dw-pcie fe190000.pcie: invalid resource
[    4.073098] dw-pcie fe190000.pcie: Failed to initialize host
[    4.073217] dw-pcie fe150000.pcie: invalid resource
[    4.073226] dw-pcie fe150000.pcie: Failed to initialize host
[    4.073375] dw-pcie fe170000.pcie: invalid resource
[    4.073385] dw-pcie fe170000.pcie: Failed to initialize host
[    4.127105] rockchip-vop2 fdd90000.vop: Failed to get leakage
[    4.127179] rockchip-vop2 fdd90000.vop: error -ENODEV: _opp_set_regulators: no regulator (vop) found
[    4.127212] rockchip-vop2 fdd90000.vop: failed to set opp config
[    4.127223] rockchip-vop2 fdd90000.vop: failed to init opp info
[    4.127233] rockchip-vop2 fdd90000.vop: failed to init_opp_table
[    4.159276] rk806 spi2.0: no sleep-setting state
[    4.159293] rk806 spi2.0: no reset-setting pinctrl state
[    4.159303] rk806 spi2.0: no dvs-setting pinctrl state
[    4.183587] .. rk pwm remotectl v2.0 init
[    4.229383] cpu cpu0: Failed to get specification_serial_number
[    4.229401] cpu cpu0: Failed to get specification_serial_number
[    4.229419] cpu cpu0: Failed to get leakage
[    4.232959] cpu cpu4: Failed to get specification_serial_number
[    4.232977] cpu cpu4: Failed to get specification_serial_number
[    4.232993] cpu cpu4: Failed to get leakage
[    4.246306] cpu cpu6: Failed to get specification_serial_number
[    4.246323] cpu cpu6: Failed to get specification_serial_number
[    4.246340] cpu cpu6: Failed to get leakage
[    4.289217] arm-scmi firmware:scmi: Failed. SCMI protocol 17 not active.
[    4.318682] debugfs: File 'Capture' in directory 'dapm' already present!
[    4.323299] debugfs: File 'Capture' in directory 'dapm' already present!
[    4.344952] ES8323 7-0011: ASoC: error at soc_component_write_no_lock on ES8323.7-0011 for register: [0x00000035] -5
[    4.473755] mpp-iep2 fdbb0000.iep: allocate roi buffer failed
[    4.475125] mpp_rkvdec2 fdc38100.rkvdec-core: shared_niu_a is not found!
[    4.475136] rkvdec2_init:982: No niu aclk reset resource define
[    4.475145] mpp_rkvdec2 fdc38100.rkvdec-core: shared_niu_h is not found!
[    4.475153] rkvdec2_init:985: No niu hclk reset resource define
[    4.476125] mpp_rkvdec2 fdc48100.rkvdec-core: shared_niu_a is not found!
[    4.476136] rkvdec2_init:982: No niu aclk reset resource define
[    4.476145] mpp_rkvdec2 fdc48100.rkvdec-core: shared_niu_h is not found!
[    4.476153] rkvdec2_init:985: No niu hclk reset resource define
[    4.477083] mpp_rkvenc2 fdbd0000.rkvenc-core: rockchip_init_read_margin: no regulator (venc) found: -19
[    4.477134] mpp_rkvenc2 fdbd0000.rkvenc-core: Failed to get leakage
[    4.477190] mpp_rkvenc2 fdbd0000.rkvenc-core: error -ENODEV: _opp_set_regulators: no regulator (venc) found
[    4.477218] mpp_rkvenc2 fdbd0000.rkvenc-core: failed to set opp config
[    4.477227] mpp_rkvenc2 fdbd0000.rkvenc-core: failed to init opp info
[    4.477235] mpp_rkvenc2 fdbd0000.rkvenc-core: failed to init_opp_table
[    4.477243] rkvenc_init:1870: failed to add venc devfreq
[    4.477936] mpp_rkvenc2 fdbe0000.rkvenc-core: rockchip_init_read_margin: no regulator (venc) found: -19
[    4.477964] mpp_rkvenc2 fdbe0000.rkvenc-core: Failed to get leakage
[    4.478008] mpp_rkvenc2 fdbe0000.rkvenc-core: error -ENODEV: _opp_set_regulators: no regulator (venc) found
[    4.478030] mpp_rkvenc2 fdbe0000.rkvenc-core: failed to set opp config
[    4.478039] mpp_rkvenc2 fdbe0000.rkvenc-core: failed to init opp info
[    4.478047] mpp_rkvenc2 fdbe0000.rkvenc-core: failed to init_opp_table
[    4.478055] rkvenc_init:1870: failed to add venc devfreq
[    4.478794] rockchip-dmc dmc: Failed to get specification_serial_number
[    4.478803] rockchip-dmc dmc: Failed to get leakage
[    4.479490] mali fb000000.gpu: Failed to get specification_serial_number
[    4.479501] rockchip-dmc dmc: Current ATF unsupported get_stall_time
[    4.479518] mali fb000000.gpu: Failed to get specification_serial_number
[    4.479530] mali fb000000.gpu: Failed to get leakage
[    4.479580] debugfs: Directory 'fb000000.gpu-mali' with parent 'vdd_gpu_s0' already present!
[    4.479632] rockchip-dmc dmc: failed to get vop bandwidth to dmc rate
[    4.479640] rockchip-dmc dmc: failed to get vop pn to msch rl
[    4.481132] debugfs: Directory 'fb000000.gpu-mali' with parent 'vdd_gpu_s0' already present!
[    4.481181] debugfs: File 'uA_load' in directory '/' already present!
[    4.481197] debugfs: File 'min_uV' in directory '/' already present!
[    4.481212] debugfs: File 'max_uV' in directory '/' already present!
[    4.481226] debugfs: File 'constraint_flags' in directory '/' already present!
[    4.486195] RKNPU fdab0000.npu: can't request region for resource [mem 0xfdab0000-0xfdabffff]
[    4.486243] RKNPU fdab0000.npu: can't request region for resource [mem 0xfdac0000-0xfdacffff]
[    4.486286] RKNPU fdab0000.npu: can't request region for resource [mem 0xfdad0000-0xfdadffff]
[    4.492947] debugfs: File 'uA_load' in directory '/' already present!
[    4.492973] debugfs: File 'min_uV' in directory '/' already present!
[    4.492993] debugfs: File 'max_uV' in directory '/' already present!
[    4.493016] debugfs: File 'constraint_flags' in directory '/' already present!
[    4.496595] RKNPU fdab0000.npu: RKNPU: Failed to get specification_serial_number
[    4.496632] RKNPU fdab0000.npu: Failed to get specification_serial_number
[    4.496668] RKNPU fdab0000.npu: Failed to get leakage
[    4.496773] debugfs: Directory 'fdab0000.npu-rknpu' with parent 'vdd_npu_s0' already present!
[    4.511006] debugfs: Directory 'fdab0000.npu-rknpu' with parent 'vdd_npu_s0' already present!
[    4.516320] debugfs: File 'uA_load' in directory '/' already present!
[    4.516346] debugfs: File 'min_uV' in directory '/' already present!
[    4.516365] debugfs: File 'max_uV' in directory '/' already present!
[    4.516384] debugfs: File 'constraint_flags' in directory '/' already present!
[    4.974232] rockchip-hdptx-phy-hdmi fed70000.hdmiphy: hdptx phy pll locked!
[    4.978415] rockchip-hdptx-phy-hdmi fed70000.hdmiphy: hdptx phy lane locked!
[    7.547601] Goodix-TS 7-0014: Error reading 1 bytes from 0x8140: -6
[    7.574284] Goodix-TS 7-0014: Error reading 1 bytes from 0x8140: -6
[    7.600778] Goodix-TS 7-0014: I2C communication failure: -6

…and the other one:

# dmesg | grep -E 'pcie|wifi|wlan|ap6275'
[    3.625726] vcc3v3_pcie30: 3300 mV, disabled
[    3.625773] reg-fixed-voltage vcc3v3-pcie30: Looking up vin-supply from device tree
[    3.625778] vcc3v3_pcie30: supplied by vcc5v0_sys
[    3.625806] reg-fixed-voltage vcc3v3-pcie30: vcc3v3_pcie30 supplying 3300000uV
[    3.626040] vcc3v3_pcie2x1l0: 3300 mV, disabled
[    3.626086] reg-fixed-voltage vcc3v3-pcie2x1l0: Looking up vin-supply from device tree
[    3.626091] vcc3v3_pcie2x1l0: supplied by vcc12v_dcin
[    3.626121] reg-fixed-voltage vcc3v3-pcie2x1l0: vcc3v3_pcie2x1l0 supplying 3300000uV
[    3.626177] reg-fixed-voltage vcc3v3-pcie-eth: Looking up vin-supply from device tree
[    3.626182] vcc3v3_pcie_eth: supplied by vcc12v_dcin
[    3.682212] vcc3v3_pcie_eth: 3300 mV, enabled
[    3.682278] reg-fixed-voltage vcc3v3-pcie-eth: vcc3v3_pcie_eth supplying 3300000uV
[    3.682659] wifi_disable: no parameters, enabled
[    3.682722] reg-fixed-voltage wifi-diable-gpio-regulator: wifi_disable supplying 0uV
[    4.072995] dw-pcie fe180000.pcie: invalid resource
[    4.073009] dw-pcie fe180000.pcie: Failed to initialize host
[    4.073017] dw-pcie: probe of fe180000.pcie failed with error -22
[    4.073089] dw-pcie fe190000.pcie: invalid resource
[    4.073098] dw-pcie fe190000.pcie: Failed to initialize host
[    4.073105] dw-pcie: probe of fe190000.pcie failed with error -22
[    4.073217] dw-pcie fe150000.pcie: invalid resource
[    4.073226] dw-pcie fe150000.pcie: Failed to initialize host
[    4.073248] dw-pcie: probe of fe150000.pcie failed with error -22
[    4.073268] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply from device tree
[    4.073288] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply property in node /power-management@fd8d8000/power-controller failed
[    4.073375] dw-pcie fe170000.pcie: invalid resource
[    4.073385] dw-pcie fe170000.pcie: Failed to initialize host
[    4.073392] dw-pcie: probe of fe170000.pcie failed with error -22
[    4.073977] rk-pcie fe180000.pcie: invalid prsnt-gpios property in node
[    4.073981] rk-pcie fe190000.pcie: invalid prsnt-gpios property in node
[    4.073987] rk-pcie fe190000.pcie: Looking up vpcie3v3-supply from device tree
[    4.074001] rk-pcie fe180000.pcie: Looking up vpcie3v3-supply from device tree
[    4.074011] rk-pcie fe190000.pcie: Looking up vpcie3v3-supply property in node /pcie@fe190000 failed
[    4.074019] rk-pcie fe180000.pcie: Looking up vpcie3v3-supply property in node /pcie@fe180000 failed
[    4.074026] rk-pcie fe190000.pcie: no vpcie3v3 regulator found
[    4.074064] rk-pcie fe180000.pcie: no vpcie3v3 regulator found
[    4.074294] rk-pcie fe150000.pcie: invalid prsnt-gpios property in node
[    4.074326] rk-pcie fe150000.pcie: Looking up vpcie3v3-supply from device tree
[    4.074375] rk-pcie fe190000.pcie: host bridge /pcie@fe190000 ranges:
[    4.074417] rk-pcie fe190000.pcie:       IO 0x00f4100000..0x00f41fffff -> 0x00f4100000
[    4.074427] rk-pcie fe170000.pcie: invalid prsnt-gpios property in node
[    4.074442] rk-pcie fe190000.pcie:      MEM 0x00f4200000..0x00f4ffffff -> 0x00f4200000
[    4.074451] rk-pcie fe170000.pcie: Looking up vpcie3v3-supply from device tree
[    4.074468] rk-pcie fe190000.pcie:      MEM 0x0a00000000..0x0a3fffffff -> 0x0a00000000
[    4.074516] rk-pcie fe190000.pcie: iATU unroll: enabled
[    4.074525] rk-pcie fe190000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[    4.074677] rk-pcie fe180000.pcie: host bridge /pcie@fe180000 ranges:
[    4.074726] rk-pcie fe180000.pcie:       IO 0x00f3100000..0x00f31fffff -> 0x00f3100000
[    4.074763] rk-pcie fe180000.pcie:      MEM 0x00f3200000..0x00f3ffffff -> 0x00f3200000
[    4.074795] rk-pcie fe180000.pcie:      MEM 0x09c0000000..0x09ffffffff -> 0x09c0000000
[    4.074866] rk-pcie fe180000.pcie: iATU unroll: enabled
[    4.074887] rk-pcie fe180000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[    4.080589] rk-pcie fe150000.pcie: host bridge /pcie@fe150000 ranges:
[    4.080645] rk-pcie fe150000.pcie:       IO 0x00f0100000..0x00f01fffff -> 0x00f0100000
[    4.080687] rk-pcie fe150000.pcie:      MEM 0x00f0200000..0x00f0ffffff -> 0x00f0200000
[    4.080721] rk-pcie fe150000.pcie:      MEM 0x0900000000..0x093fffffff -> 0x0900000000
[    4.080813] rk-pcie fe150000.pcie: iATU unroll: enabled
[    4.080837] rk-pcie fe150000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[    4.134811] rk-pcie fe170000.pcie: host bridge /pcie@fe170000 ranges:
[    4.134874] rk-pcie fe170000.pcie:       IO 0x00f2100000..0x00f21fffff -> 0x00f2100000
[    4.134922] rk-pcie fe170000.pcie:      MEM 0x00f2200000..0x00f2ffffff -> 0x00f2200000
[    4.134963] rk-pcie fe170000.pcie:      MEM 0x0980000000..0x09bfffffff -> 0x0980000000
[    4.135057] rk-pcie fe170000.pcie: iATU unroll: enabled
[    4.135084] rk-pcie fe170000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[    4.165439] usbcore: registered new interface driver rndis_wlan
[    4.288486] rk-pcie fe150000.pcie: PCIe Linking... LTSSM is 0x3
[    4.317532] rk-pcie fe150000.pcie: PCIe Linking... LTSSM is 0x210023
[    4.337537] rk-pcie fe180000.pcie: PCIe Link up, LTSSM is 0x130011
[    4.337554] rk-pcie fe190000.pcie: PCIe Link up, LTSSM is 0x130011
[    4.337568] rk-pcie fe180000.pcie: PCIe Gen.2 x1 link up
[    4.337576] rk-pcie fe190000.pcie: PCIe Gen.2 x1 link up
[    4.337671] rk-pcie fe190000.pcie: PCI host bridge to bus 0004:40
[    4.337712] rk-pcie fe180000.pcie: PCI host bridge to bus 0003:30
[    4.367232] pcieport 0004:40:00.0: PME: Signaling with IRQ 136
[    4.377129] pcieport 0003:30:00.0: PME: Signaling with IRQ 146
[    4.396570] [WLAN_RFKILL]: Enter rfkill_wlan_init
[    4.396950] [WLAN_RFKILL]: Enter rfkill_wlan_probe
[    4.396997] [WLAN_RFKILL]: wlan_platdata_parse_dt: wifi_chip_type = ap6275p
[    4.397009] [WLAN_RFKILL]: wlan_platdata_parse_dt: enable wifi power control.
[    4.397023] [WLAN_RFKILL]: wlan_platdata_parse_dt: wifi power controled by gpio.
[    4.397098] [WLAN_RFKILL]: wlan_platdata_parse_dt: WIFI,host_wake_irq = 8, flags = 0.
[    4.397119] [WLAN_RFKILL]: wlan_platdata_parse_dt: The ref_wifi_clk not found !
[    4.397134] [WLAN_RFKILL]: rfkill_wlan_probe: init gpio
[    4.397146] [WLAN_RFKILL]: rfkill_set_wifi_bt_power: 1
[    4.397158] [WLAN_RFKILL]: Exit rfkill_wlan_probe
[    4.400872] rk-pcie fe150000.pcie: PCIe Link up, LTSSM is 0x230011
[    4.400894] rk-pcie fe150000.pcie: PCIe Gen.3 x4 link up
[    4.400997] rk-pcie fe150000.pcie: PCI host bridge to bus 0000:00
[    4.404165] rk-pcie fe170000.pcie: PCIe Link up, LTSSM is 0x30011
[    4.404189] rk-pcie fe170000.pcie: PCIe Gen.1 x1 link up
[    4.405411] rk-pcie fe170000.pcie: PCI host bridge to bus 0002:20
[    4.423035] pcieport 0000:00:00.0: PME: Signaling with IRQ 158
[    4.436305] pcieport 0002:20:00.0: PME: Signaling with IRQ 170
[    4.463023] reg-fixed-voltage pcie20-avdd0v85: Looking up vin-supply from device tree
[    4.463186] pcie20_avdd0v85: supplied by vdd_0v85_s0
[    4.463401] pcie20_avdd0v85: 850 mV, enabled
[    4.463655] reg-fixed-voltage pcie20-avdd0v85: pcie20_avdd0v85 supplying 850000uV
[    4.463861] reg-fixed-voltage pcie20-avdd1v8: Looking up vin-supply from device tree
[    4.463949] pcie20_avdd1v8: supplied by avcc_1v8_s0
[    4.464255] pcie20_avdd1v8: 1800 mV, enabled
[    4.464538] reg-fixed-voltage pcie20-avdd1v8: pcie20_avdd1v8 supplying 1800000uV
[    4.464768] reg-fixed-voltage pcie30-avdd0v75: Looking up vin-supply from device tree
[    4.464906] pcie30_avdd0v75: supplied by avdd_0v75_s0
[    4.465207] pcie30_avdd0v75: 750 mV, enabled
[    4.465497] reg-fixed-voltage pcie30-avdd0v75: pcie30_avdd0v75 supplying 750000uV
[    4.465722] reg-fixed-voltage pcie30-avdd1v8: Looking up vin-supply from device tree
[    4.465750] pcie30_avdd1v8: supplied by avcc_1v8_s0
[    4.466055] pcie30_avdd1v8: 1800 mV, enabled
[    4.466373] reg-fixed-voltage pcie30-avdd1v8: pcie30_avdd1v8 supplying 1800000uV

Cycling back to my other idea with the new PCIe node. Here was a similar one added to mainline device tree for another RK3588 board: rockchip-rk3588-edge: add ap6275p support by efectn · Pull Request #6335 · armbian/build · GitHub
Ah, and here: rockchip-rk3588-edge: opi5b: add support for pcie wifi by efectn · Pull Request #6486 · armbian/build · GitHub
Related topic in Armbian forum: Orangepi 5b ap6275p support for the edge kernel similar to khadas-edge2 - Orange Pi 5 / 5B - Armbian Community Forums

Checking our kernel output:

[    3.682659] wifi_disable: no parameters, enabled
[    3.682722] reg-fixed-voltage wifi-diable-gpio-regulator: wifi_disable supplying 0uV

Interesting node wifi_disable which is indeed defined without status attribute. It sounds like, when enabled, it would disable WiFi. But this is also present in 5.10 sources and not changed anywhere.

[    4.396570] [WLAN_RFKILL]: Enter rfkill_wlan_init
[    4.396950] [WLAN_RFKILL]: Enter rfkill_wlan_probe
[    4.396997] [WLAN_RFKILL]: wlan_platdata_parse_dt: wifi_chip_type = ap6275p
[    4.397009] [WLAN_RFKILL]: wlan_platdata_parse_dt: enable wifi power control.
[    4.397023] [WLAN_RFKILL]: wlan_platdata_parse_dt: wifi power controled by gpio.
[    4.397098] [WLAN_RFKILL]: wlan_platdata_parse_dt: WIFI,host_wake_irq = 8, flags = 0.
[    4.397119] [WLAN_RFKILL]: wlan_platdata_parse_dt: The ref_wifi_clk not found !
[    4.397134] [WLAN_RFKILL]: rfkill_wlan_probe: init gpio
[    4.397146] [WLAN_RFKILL]: rfkill_set_wifi_bt_power: 1
[    4.397158] [WLAN_RFKILL]: Exit rfkill_wlan_probe

It seems the same happens with the same WiFi module on Radxa ZERO 3: Share of Unofficial DietPi - Radxa Zero 3W

Well, fortunately I was not using the WiFi; only bought it because “just in case I ever need it” at the same time as the board, case and power-adapter,
sooo, if you come up with anything else to test without high risk of wrecking what currently works, please let me know.

It would be interesting whether the two Ethernet ports remain assigned to the same interfaces eth0 resp. eth1, on reboot as well as when changing from legacy to vendor kernel.

Checking further about the WiFi module issue, as this is quite important as well (we do not want users to loose their WiFi connectivity on update): I missed that there are two different module: The older (?) one with AP6275P chip all those overlays are about, as well as the newer one “R6” with RTL8852BE chip. So the older one might actually work already. Support for the newer one was added to legacy kernel here, which is why it worked for you: drivers: bluetooth: add support for RTL8852BE · armbian/linux-rockchip@0d05f8c · GitHub

Mainline kernel supports it since Linux 5.18: Bluetooth: btrtl: Add support for RTL8852B · torvalds/linux@18e8055 · GitHub
So it is in Linux 6.1 sources for vendor kernel as well: Bluetooth: btrtl: Add support for RTL8852B · armbian/linux-rockchip@18e8055 · GitHub
The commit shows the required firmware rtl8852bu_fw.bin which is indeed missing in armbian-firmware. armbian-firmware-full has it:

apt install armbian-firmware-full

If this works, I’ll try to patch our own armbian-firmware to contain this one, since armbian-firmware-full is huge.