Orange Pi 5B doesn't detect/show eMMC

Creating a bug report/issue

I have searched the existing open and closed issues

Required Information

  • DietPi version |
  • Distro version | bookworm
  • Kernel version | 5.10.160-legacy-rk35xx #1 SMP Fri Feb 2 07:51:33 UTC 2024 aarch64 GNU/Linux
  • Architecture | arm64
  • SBC model | shows Orange Pi 5 (aarch64) but is Orange Pi 5B (aarch64)
  • Power supply used | EG: 5V 4A RAVpower
  • SD card used | Samsung EVO select

Additional Information (if applicable)

  • Software title | (EG: Nextcloud)
  • Was the software title installed freshly or updated/migrated?
  • Can this issue be replicated on a fresh installation of DietPi?
    ← If you sent a “dietpi-bugreport”, please paste the ID here →
  • Bug report ID | echo $G_HW_UUID

Steps to reproduce

  1. Flash SD card with newest DietPi image
  2. lsblk
    mmcblk1 179:0 0 59.7G 0 disk
    └─mmcblk1p1 179:1 0 59.7G 0 part /
    zram0 254:0 0 0B 0 disk

Expected behaviour

  • an additionally mmcblk device labeled mmcblk0 should be showing up

Actual behaviour

  • Only one mmblk device is showing up, the eMMC device on the board is absent from lsblk

Extra details

  • cat /proc/device-tree/model shows Orange Pi 5

I would assume if it doesn’t show up with lsblk command it’s not connected properly. Maybe you can reseat the module and try again.

That doesn’t apply in this case as the module is soldered into the SBC and it is visible with both Armbian OS and the orange pi Debian OS. Of course, since the provided Orange Pi Debian OS uses Huawei depositories, I am leery of using it.

maybe a different kernel version. Did you tried to compare between DietPi, Armbian and OrangePi Debian? Do they all use 5.10.160? Or does Armbian and OrangePi Debian uses a newer one 6.x?

They all use 5.10.16, but OrangePi Debian and Armbian use rk3588s-orange-pi-5b.dtb instead of the rk3588s-orange-pi-5.dtb that DietPi uses by default, and I can’t figure out how to change that.

ping @MichaIng

On Armbian, you must manually change the device tree, since it also explicitly usesrk3588s-orange-pi-5.dtb by default, or do you mean some custom Armbian image provided by Orange Pi?

We do not hardcode the device tree like Armbian does, and at least in the past, the bootloader did pick the correct one on 5B automatically. Probably this changed with a recent build.

Since I am not sure whether it boots with SPI or MMC bootloader, if both are available, could you try to flash the SPI bootloader via dietpi-config > Advanved Options > Flash SPI bootloader, reboot and see whether still the wrong device tree is loaded? Can be quickly checked like this:

cat /proc/device-tree/model

which should show “Orange Pi 5B” instead of “Orange Pi 5”. The name in the DietPi banner is independent of this, since we have only one hardware ID for both variants.

No joy, there was no Flash SPI option, just MMC, reverified that model shows “Orange Pi 5.”

The output of my cat proc/device-tree/model is just Orange Pi 5 and not Orange Pi 5b as you have indicated above.
I also have the same problem as these posters… my emmc is not showing, yet it shows in bulls-eye server Debian, and also under DietPi my wifi adapter does not show.
Is there any workaround or way for DietPi to see the emmc??

Please try this:

G_CONFIG_INJECT 'fdtfile=' 'fdtfile=rockchip/rk3588s-orange-pi-5b.dtb' /boot/dietpiEnv.txt

Initially, that didn’t work, but I double-checked the dtd folder and found that there were too many dashes. I edited the /boot/dietpiEnv.txt and made sure the last line read:


After I rebooted, I reran the model command, and it came up as Orange Pi 5B. The onboard eMMC was found, and the Wi-Fi worked.

Using Michalng’s easier and modified solution:

1 Like

Okay great. This means we need to provide a dedicated image, with this only little change :smile:. But I’ll first check whether there is a better way to select the correct device tree in /boot/boot.scr automatically, based on some identifier.