Radxa M.2 E key to SATA breakout card on Armbian. HDD is not visible

Hello.
I’m trying to make this my M.2 E card working on Armbian and it’s not working for some reason.

I did try various approaches without any luck:
Compile from source code: DeviceTree overlay for enabling ROCK 5A’s SATA on m2 slot - ROCK 5 Series / 5A - Radxa Community
Take existing one: # Radxa M.2 E key to SATA breakout card

Context - fresh armbian for rock 5b and M.2 E key (The one for wifi M2 slot)

armbian version
v24.11.3 for Rock 5B running Armbian Linux 6.1.84-vendor-rk35xx
Packages:     Debian stable (bookworm)
Updates:      Kernel upgrade enabled and 20 packages available for upgrade

What I did:
I have read that overlay prefix is not working good that’s why I’m trying to use user-overlays.

  1. Add user overlay rock-5b-sata.dtbo based on packed rock 5b:
mkdir overlay-user
cp /boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/rock-5b-sata.dtbo  /boot/overlay-user
  1. Add user_overlays=rock-5b-sata to armbianEnv.txt
  2. Reboot.

As a result after reboot I started to see new messages in dmesg, but hdd seems not working. I still do not see it in lsblk:

root@rock-5b:~# dmesg | grep sata
[    9.262023] ahci-dwc fe220000.sata: Looking up ahci-supply from device tree
[    9.262035] ahci-dwc fe220000.sata: Looking up ahci-supply property in node /sata@fe220000 failed
[    9.262065] ahci-dwc fe220000.sata: supply ahci not found, using dummy regulator
[    9.262204] ahci-dwc fe220000.sata: Looking up phy-supply from device tree
[    9.262209] ahci-dwc fe220000.sata: Looking up phy-supply property in node /sata@fe220000 failed
[    9.262217] ahci-dwc fe220000.sata: supply phy not found, using dummy regulator
[    9.262557] ahci-dwc fe220000.sata: Looking up target-supply from device tree
[    9.262562] ahci-dwc fe220000.sata: Looking up target-supply property in node /sata@fe220000 failed
[    9.262572] ahci-dwc fe220000.sata: supply target not found, using dummy regulator
[    9.262642] ahci-dwc fe220000.sata: PMPn is limited up to 5 ports
[    9.262725] ahci-dwc fe220000.sata: forcing port_map 0x0 -> 0x1
[    9.262744] ahci-dwc fe220000.sata: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[    9.262749] ahci-dwc fe220000.sata: flags: ncq sntf pm led clo only pmp fbs pio slum part ccc apst
[    9.262759] ahci-dwc fe220000.sata: port 0 is not capable of FBS

@dominik suggested to use bundled sata2, but I don’t see any appropriate dtbo:

root@rock-5b:/boot# find / -type f -name sata.dt*
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/orangepi-5-sata.dtbo
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/rk3566-roc-pc-sata2.dtbo
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/turing-rk1-sata2.dtbo
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/radxa-cm5-io-sata.dtbo
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/rock-5b-sata.dtbo
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/mixtile-blade3-sata2.dtbo
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/yy3568-sata2.dtbo
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/rock-3a-sata.dtbo
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/orangepi-5-plus-sata2.dtbo
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/rk3588s-roc-pc-sata0.dtbo
/usr/lib/linux-image-6.1.84-vendor-rk35xx/rockchip/overlay/rock-5a-sata.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/orangepi-5-sata.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/rk3566-roc-pc-sata2.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/turing-rk1-sata2.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/radxa-cm5-io-sata.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/rock-5b-sata.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/mixtile-blade3-sata2.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/yy3568-sata2.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/rock-3a-sata.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/orangepi-5-plus-sata2.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/rk3588s-roc-pc-sata0.dtbo
/boot/dtb-6.1.84-vendor-rk35xx/rockchip/overlay/rock-5a-sata.dtbo

If anybody see that, I’m doing something wrong - please give some clue what I need to do with that.
I would not be surprised if I need to do something else to add hdd, and just do not know about this, I’m not a Linux expert.

Here you mention the overlay of the 5a, but 5b is different. Are you sure you are using the 5b version?

I hope so, I took the one for rock 5b. It mentioned later in the same post.

I also tried official image with this instruction, but there was no ‘update_exlinux.sh‘ and extlinux package was missed in apt.

I have looked into the Radxa rock5b KDE image, it uses kernel 6.1.43-15-rk2312 and there is only 1 sata overlay:

/usr/lib/linux-image-6.1.43-15-rk2312/rockchip/overlays# ls -al rock-5b*sata*
-rw-r--r-- 1 root root 829 Aug  8  2024 rock-5b-sata.dtbo

For a latest updated armbian bookworm:

/usr/lib/linux-image-6.1.99-vendor-rk35xx/rockchip/overlay# ls -al rock-5b*sata*
-rw-r--r-- 1 root root 829 Feb 17 14:54 rock-5b-sata.dtbo

Although different timestamp, they are binary the same.

So I don’t know what is meant with ‘sata2’; it is not there. It is there for rock3a (in Radxa overlays), in Armbian overlays there is also only 1. In Radxa overlays it looks like you can also turn the USB3 ports into sata it seems, but I guess no-one will do that.

I could only get both NVMe and SATA on my Rock-3A working if I use older 2017.9 dated U-Boot and 6.1.99 kernel. I would hope/expect that the same will work on Rock5b as otherwise it makes not really sense to buy it in order to have a faster variant of the Rock3a.

So maybe check the U-Boot variant the board is started with, maybe SPI contains other version than on SD card image (or EMMC?).

The sata messages look similar for my rock3a, but also the HDD is detected. Maybe check power, cables etc:

root@rock3a:~# dmesg | grep -e sata -e ata1
[   13.818506] ahci-dwc fc800000.sata: Looking up ahci-supply from device tree
[   13.818556] ahci-dwc fc800000.sata: Looking up ahci-supply property in node /sata@fc800000 failed
[   13.818661] ahci-dwc fc800000.sata: supply ahci not found, using dummy regulator
[   13.819439] ahci-dwc fc800000.sata: Looking up phy-supply from device tree
[   13.819491] ahci-dwc fc800000.sata: Looking up phy-supply property in node /sata@fc800000 failed
[   13.819590] ahci-dwc fc800000.sata: supply phy not found, using dummy regulator
[   13.820073] ahci-dwc fc800000.sata: Looking up target-supply from device tree
[   13.820114] ahci-dwc fc800000.sata: Looking up target-supply property in node /sata@fc800000 failed
[   13.820206] ahci-dwc fc800000.sata: supply target not found, using dummy regulator
[   13.820662] ahci-dwc fc800000.sata: PMPn is limited up to 5 ports
[   13.821189] ahci-dwc fc800000.sata: forcing port_map 0x0 -> 0x1
[   13.821301] ahci-dwc fc800000.sata: AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl platform mode
[   13.821322] ahci-dwc fc800000.sata: flags: ncq sntf pm led clo only pmp fbs pio slum part ccc apst  
[   13.821365] ahci-dwc fc800000.sata: port 0 is not capable of FBS
[   13.854652] ata1: SATA max UDMA/133 mmio [mem 0xfc800000-0xfc800fff] port 0x100 irq 123
[   14.326426] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[   14.327966] ata1.00: ATA-9: ST8000AS0002-1NA17Z, AR13, max UDMA/133
[   14.328007] ata1.00: 15628053168 sectors, multi 0: LBA48 NCQ (depth 32)
[   14.329337] ata1.00: configured for UDMA/133

Yes - it’s identical except irq and link status.
Does it mean that programmatically it is correct?

I’s using external power from my PC’s PSU and literally the same sata cable from the same PC, that I have used to ensure that disk itself is working.

Could it be because powers sources for board and HDD are different? Any other ideas?

Sorry, I have no idea what is U-boot? Is it some other image?