Recovery, accessing eMMC

Hi,

My device, a NanoPi R5S with OpenWrt 24.10.5, recently became inaccessible over the network due to a VPN misconfiguration.

I don’t appear to be able to see the console, either via the HDMI port or using UART (well I can see garbage in picocom (115200, 8n1, TxRx swapped)), so I’m now booting vanilla OpenWrt from an SD card to try and access the eMMC where OpenWrt is installed so I can edit ‘/etc/config/network’.

I have installed usb-utils, mmc-utils, kmod-fs-ext4, e2fsprogs and a couple of others that I forget now.

‘dmesg | grep mmc’ shows amongst other things, ‘mmc1: error -84 whilst initialising MMC card’

The SD card I’m booting from is in /dev as mmcblk0 and is the only mmc entry.

I’m guessing that there is a missing driver or kernel module which is preventing the eMMC from being configured.

Can anyone tell me how I can make the eMMC available so I can mount the filesystem and correct the config error?

TIA

Installation procedure tells that you just need to use dd. Default image should see the eMMC.

Hi,

Thanks for the reply.
Forgive my ignorance, but dd is for writing an image isn’t it? That isn’t what I want to do.

I have already written 24.10.5 to an SD card and am using mask to make the R5S boot from the SD card. What I’m trying to do is mount a broken OpenWrt that is installed on the eMMC so I can fix its config

It just occured to me to try failsafe mode, but it seems the NanoPi R5S’ ‘mask’ button doesn’t work for that :frowning:

The idea is to rewrite the whole eMMC rather than trying to mount/repair it. Once done just restore the right settings (assuming you saved them). It's more convinient to use straight forward procedures.

Well that may be, but I’d like to learn :slight_smile:

I’m flashing Debian to the SD card now and will try that for recovery

Gave up.

FriendlyElec’s Trixie image is kernel 6.1.141 and also didn’t configure the eMMC and as I didn’t have aworking internet connection, I couldn’t update the kernel and see if that would help.

The RKDevTool also doesn’t appear to be able to extract or otherwise backup the eMMC using USB-to-USB and I couldn’t get UART to work with my (shady)PL2303; which I’ve used in the past to flash BT HH5a routers.

I puzzles me, because OpenWrt is clearly able to boot from the eMMC, but can’t configure it as a storage device if booting from SD card?

Could anyone tell me how to enable the video console for OpenWrt? At least if I do that now, if I have a problem in the future, I can plug in a monitor and keyboard

Indeed, this is a case where you can learn :sweat_smile:

You may have partitions corruption. Hence you can't boot neither mount as storage. So obvious solution is ... dd :slight_smile:

Yes, it got the big stick :slight_smile:

Even if the partitions were corrupt, it wasn’t even initialising the device, so it didn’t even show up in /dev. I would expect it to be there and I could use parted to remove any corrupted partitions.

Unfortunately, Google doesn’t have ANY information for a -84 error with regards to initialising MMC, so we’re on our own :D. All clues pointed to a missing driver which is why I wanted to try a later kernel. It’s a PITA trying to problem solve when you don’t have an internet connection. Even Debian doesn’t come with pppoeconf, so you can’t even try and configure PPPoE.

If I had more time, I would have hooked up the ISPs router and tried a bit harder, but in the end it was quicker to nuke it from orbit.

I’m also guessing OpenWrt doesn’t have support for HDMI on this device? FriendlyWRT does apparently. I briefly flashed FriendlyWRT and it looked pretty decent TBF, but I always prefer vanilla.
I seem to remember reading in the release notes for the 25 RC that there’s better support for video?

1 Like