Jump to content

Radxa rock5c - PentaHat and EMMC


Go to solution Solved by Inis,

Recommended Posts

Posted

Login, type "sudo armbianmonitor -u" and copy the URL here.  the command failed with the following error :

/usr/bin/armbianmonitor: ligne 976: iostat : commande introuvable

img used : Armbian_24.8.4_Rock-5c_bookworm_vendor_6.1.75-omv_minimal.img.xz


hardware :
https://docs.radxa.com/en/accessories/penta-sata-hat
https://docs.radxa.com/en/rock5/rock5c
4 ssd samasung evo 870

 

The image works perfectly when flashed on a SD card and booting from the SD card, the Radxa pentaHat works, the disk are powered (green led for the hat, blue led per each disk).

However, when the image is flashed on emmc, the OS boot normaly but the pentaHat does not work, the disk are not powered and not detected by the os (green led Ok, no blue led for the disk)

Does any of you have an idea why it works using the SD card and not with the emmc ? is their some settings or overlay that could help fix this issue.

I tried the radxa img for the rock5c and it works with either emmc or sd card (https://github.com/radxa-build/rock-5c/releases)

Thank you for your answers and help!

 

Posted

Probably the bootloader, when you boot from SD it uses the bootloader from the SD and when you boot from emmc it loads the bootloader from spi flash or emmc. So update the bootloader and see if it helps

Posted

I tried updating the bootloader without much sucess,
Another clue is that when i update the radxa os on the emmc (apt update && apt upgrade) then the pentaHat do not work anymore. As their is a conflict between emmc and pcie lane used by the hat ?

Posted (edited)

@Inis If that's the case you also won't be able to see the emmc memory and pentaHat at the same time after booting from SD

 

From what I can see is that SPI flash and emmc share the same pins, so the bootloader should be written to the emmc

Edited by royk
Posted (edited)

@Inis I think this should work:

 

 

Follow nr 2 and use the device name of your emmc in case it's different.

 

To be sure since it works correctly when you boot from SD, you didn't update the kernel after installing to emmc?

Edited by royk
Posted (edited)

didnt update any thing, and just for the record, the emmc is not soldered and i flashed it using belena etcher.

 

I have donne the steps in the link, and i manage to boot from the emmc, but as before the pentahat is not detected / working.

 

here are the results of the dmesg | grep pci when booting from the sd card
 

Spoiler

[   12.644291] vcc3v3_pcie: 3300 mV, disabled
[   12.644332] reg-fixed-voltage vcc3v3-pcie: Looking up vin-supply from device tree
[   12.644337] vcc3v3_pcie: supplied by vcc5v0_sys
[   12.644364] reg-fixed-voltage vcc3v3-pcie: vcc3v3_pcie supplying 3300000uV
[   12.708165] dw-pcie fe190000.pcie: invalid resource
[   12.708169] dw-pcie fe190000.pcie: Failed to initialize host
[   12.708172] dw-pcie: probe of fe190000.pcie failed with error -22
[   12.708602] rk-pcie fe190000.pcie: invalid prsnt-gpios property in node
[   12.708620] rk-pcie fe190000.pcie: Looking up vpcie3v3-supply from device tree
[   12.716465] rk-pcie fe190000.pcie: host bridge /pcie@fe190000 ranges:
[   12.716494] rk-pcie fe190000.pcie:       IO 0x00f4100000..0x00f41fffff -> 0x00f4100000
[   12.716515] rk-pcie fe190000.pcie:      MEM 0x00f4200000..0x00f4ffffff -> 0x00f4200000
[   12.716530] rk-pcie fe190000.pcie:      MEM 0x0a00000000..0x0a3fffffff -> 0x0a00000000
[   12.716584] rk-pcie fe190000.pcie: iATU unroll: enabled
[   12.716592] rk-pcie fe190000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[   12.924194] rk-pcie fe190000.pcie: PCIe Linking... LTSSM is 0x2
[   13.006401] rk-pcie fe190000.pcie: PCIe Link up, LTSSM is 0x130011
[   13.006419] rk-pcie fe190000.pcie: PCIe Gen.2 x1 link up
[   13.006585] rk-pcie fe190000.pcie: PCI host bridge to bus 0004:40
[   13.006600] pci_bus 0004:40: root bus resource [bus 40-4f]
[   13.006615] pci_bus 0004:40: root bus resource [io  0x0000-0xfffff] (bus address [0xf4100000-0xf41fffff])
[   13.006628] pci_bus 0004:40: root bus resource [mem 0xf4200000-0xf4ffffff]
[   13.006639] pci_bus 0004:40: root bus resource [mem 0xa00000000-0xa3fffffff pref]
[   13.006679] pci 0004:40:00.0: [1d87:3588] type 01 class 0x060400
[   13.006708] pci 0004:40:00.0: reg 0x38: [mem 0x00000000-0x0000ffff pref]
[   13.006772] pci 0004:40:00.0: supports D1 D2
[   13.006784] pci 0004:40:00.0: PME# supported from D0 D1 D3hot
[   13.018030] pci 0004:40:00.0: Primary bus is hard wired to 0
[   13.018044] pci 0004:40:00.0: bridge configuration invalid ([bus 01-ff]), reconfiguring
[   13.018238] pci 0004:41:00.0: [197b:0585] type 00 class 0x010601
[   13.018303] pci 0004:41:00.0: reg 0x10: initial BAR value 0x00000000 invalid
[   13.018315] pci 0004:41:00.0: reg 0x10: [io  size 0x0080]
[   13.018350] pci 0004:41:00.0: reg 0x14: initial BAR value 0x00000000 invalid
[   13.018360] pci 0004:41:00.0: reg 0x14: [io  size 0x0080]
[   13.018394] pci 0004:41:00.0: reg 0x18: initial BAR value 0x00000000 invalid
[   13.018404] pci 0004:41:00.0: reg 0x18: [io  size 0x0080]
[   13.018437] pci 0004:41:00.0: reg 0x1c: initial BAR value 0x00000000 invalid
[   13.018448] pci 0004:41:00.0: reg 0x1c: [io  size 0x0080]
[   13.018481] pci 0004:41:00.0: reg 0x20: initial BAR value 0x00000000 invalid
[   13.018491] pci 0004:41:00.0: reg 0x20: [io  size 0x0080]
[   13.018524] pci 0004:41:00.0: reg 0x24: [mem 0x00000000-0x00001fff]
[   13.018558] pci 0004:41:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[   13.018862] pci 0004:41:00.0: PME# supported from D3hot
[   13.018983] pci 0004:41:00.0: 4.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x1 link at 0004:40:00.0 (capable of 15.752 Gb/s with 8.0 GT/s PCIe x2 link)
[   13.019394] pci_bus 0004:41: busn_res: [bus 41-4f] end is updated to 41
[   13.019427] pci 0004:40:00.0: BAR 8: assigned [mem 0xf4200000-0xf42fffff]
[   13.019442] pci 0004:40:00.0: BAR 6: assigned [mem 0xf4300000-0xf430ffff pref]
[   13.019456] pci 0004:40:00.0: BAR 7: assigned [io  0x1000-0x1fff]
[   13.019475] pci 0004:41:00.0: BAR 6: assigned [mem 0xf4200000-0xf420ffff pref]
[   13.019488] pci 0004:41:00.0: BAR 5: assigned [mem 0xf4210000-0xf4211fff]
[   13.019510] pci 0004:41:00.0: BAR 0: assigned [io  0x1000-0x107f]
[   13.019531] pci 0004:41:00.0: BAR 1: assigned [io  0x1080-0x10ff]
[   13.019552] pci 0004:41:00.0: BAR 2: assigned [io  0x1100-0x117f]
[   13.019573] pci 0004:41:00.0: BAR 3: assigned [io  0x1180-0x11ff]
[   13.019594] pci 0004:41:00.0: BAR 4: assigned [io  0x1200-0x127f]
[   13.019617] pci 0004:40:00.0: PCI bridge to [bus 41]
[   13.019628] pci 0004:40:00.0:   bridge window [io  0x1000-0x1fff]
[   13.019641] pci 0004:40:00.0:   bridge window [mem 0xf4200000-0xf42fffff]
[   13.022564] pcieport 0004:40:00.0: PME: Signaling with IRQ 98
[   13.197078] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply from device tree
[   13.197114] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply property in node /power-management@fd8d8000/power-controller failed

 here are the results of the dmesg | grep pci when booting from the emmc
 

Spoiler

[    9.695238] vcc3v3_pcie: 3300 mV, disabled
[    9.695279] reg-fixed-voltage vcc3v3-pcie: Looking up vin-supply from device tree
[    9.695284] vcc3v3_pcie: supplied by vcc5v0_sys
[    9.695311] reg-fixed-voltage vcc3v3-pcie: vcc3v3_pcie supplying 3300000uV
[    9.764344] dw-pcie fe190000.pcie: invalid resource
[    9.764349] dw-pcie fe190000.pcie: Failed to initialize host
[    9.764352] dw-pcie: probe of fe190000.pcie failed with error -22
[    9.764801] rk-pcie fe190000.pcie: invalid prsnt-gpios property in node
[    9.764814] rk-pcie fe190000.pcie: Looking up vpcie3v3-supply from device tree
[    9.773111] rk-pcie fe190000.pcie: host bridge /pcie@fe190000 ranges:
[    9.773141] rk-pcie fe190000.pcie:       IO 0x00f4100000..0x00f41fffff -> 0x00f4100000
[    9.773161] rk-pcie fe190000.pcie:      MEM 0x00f4200000..0x00f4ffffff -> 0x00f4200000
[    9.773176] rk-pcie fe190000.pcie:      MEM 0x0a00000000..0x0a3fffffff -> 0x0a00000000
[    9.773226] rk-pcie fe190000.pcie: iATU unroll: enabled
[    9.773235] rk-pcie fe190000.pcie: iATU regions: 8 ob, 8 ib, align 64K, limit 8G
[    9.773268] rk-pcie fe190000.pcie: PCIe Gen.2 x1 link up
[    9.773389] rk-pcie fe190000.pcie: PCI host bridge to bus 0004:40
[    9.773401] pci_bus 0004:40: root bus resource [bus 40-4f]
[    9.773413] pci_bus 0004:40: root bus resource [io  0x0000-0xfffff] (bus address [0xf4100000-0xf41fffff])
[    9.773423] pci_bus 0004:40: root bus resource [mem 0xf4200000-0xf4ffffff]
[    9.773432] pci_bus 0004:40: root bus resource [mem 0xa00000000-0xa3fffffff pref]
[    9.773469] pci 0004:40:00.0: [1d87:3588] type 01 class 0x060400
[    9.773493] pci 0004:40:00.0: reg 0x38: [mem 0xf4200000-0xf420ffff pref]
[    9.773549] pci 0004:40:00.0: supports D1 D2
[    9.773557] pci 0004:40:00.0: PME# supported from D0 D1 D3hot
[    9.784834] pci 0004:40:00.0: Primary bus is hard wired to 0
[    9.784848] pci 0004:40:00.0: bridge configuration invalid ([bus 01-ff]), reconfiguring
[    9.821740] pci_bus 0004:41: busn_res: [bus 41-4f] end is updated to 41
[    9.821845] pci 0004:40:00.0: BAR 6: assigned [mem 0xf4200000-0xf420ffff pref]
[    9.821855] pci 0004:40:00.0: PCI bridge to [bus 41]
[    9.823486] pcieport 0004:40:00.0: PME: Signaling with IRQ 70
[   10.247024] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply from device tree
[   10.247063] rockchip-pm-domain fd8d8000.power-management:power-controller: Looking up pcie-supply property in node /power-management@fd8d8000/power-controller failed


there is a discrepency between the two and considering the pentaHat connects the ssd via pcie maybe it could explain why the disk are not recognize ?

Edited by Inis
Posted (edited)

Hello, did you also posted the thread in the Radxa forum? If so, in case you didn't noticed that, I just copy the reply here and hope that could help.
https://forum.radxa.com/t/rock-5c-pentahat-and-emmc/24624

In short words, the emmc worked fine with nvme on ubuntu-rockchip.
 

After I switch from debian based Radxa OS to ubuntu-rockchip (https://github.com/Joshua-Riek/ubuntu-rockchip/releases/tag/v2.4.0), the problem is solved. Now the OS boot from emmc could use the nvme ssd connected on pcie slot.


I have tested with both 22.04 and 24.04 on Rock 5C and both of them worked fine with pcie connected nvme ssd. The corresponding kernel versions are 5.10.0-1012-rockchip and 6.1.0-1025-rockchip.


There might be some overlay issue and the case was not triggered when booting from SD card.

If you want to dig into this, then I think this thread could be discussing something similiar: 


The output of the lsblk, nvme is detected and worked fine.

ubuntu-rochip-lsblk-output.png

Edited by Lockon Stratos
Posted

If it's not the u-boot you could check for differences between the boot directory of the sd-card and emmc with: diff /dir-of-sd/boot /dir-of-emmc/boot

  • Solution
Posted

@roykAfter many hours, what fixed my issue is reverting to an older kernel .
Indeed it seems 6.1.75-vendor-rk35xx might have issue with nvme / pcie and so the penthat

the solution that worked was downgrading to the 24.8.2 version of the kernel :
 

sudo apt install linux-dtb-vendor-rk35xx=24.8.2 linux-image-vendor-rk35xx=24.8.2
reboot


for reference the solution found was in this post


https://forum.armbian.com/topic/46624-atp-update-changed-kernel-from-6106-current-rockchip-rk3588-to-6175-vendor-rk35xx-and-failed/

 

Thank you Royk for your kind help and suggestions ! it made me read / learn alot but alos helped continue to look further.

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