Damaged eMMC, does not boot from SD-Card automagically

I have a BeagleBone Wireless with a damaged eMMC card.

I got mmcutils from https://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc-utils.git, and

mmc extcsd read /dev/mmcblk1
gives me this for the lifetime estimation:
eMMC Life Time Estimation A [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x0b
eMMC Life Time Estimation B [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x08

Not good, should be something like 0x01 (less that 10 percent), according to
https://www.cnx-software.com/2019/08/16/wear-estimation-emmc-flash-memory/

Also, looking at the devices I do not see a mmcbl1p1.

root@beaglebone:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mmcblk0 179:0 0 14.9G 0 disk
└─mmcblk0p1 179:1 0 3.5G 0 part /
mmcblk1 179:8 0 3.6G 0 disk
mmcblk1boot0 179:16 0 2M 1 disk
mmcblk1boot1 179:24 0 2M 1 disk
mmcblk1rpmb 179:32 0 512K 0 disk

I am trying to boot the beaglebone from SD-card for the moment, until i get another one, but it will only boot when i use press the power and the boot button next to the sd-card.

I tried to get rid of the boot flag on /dev/mmcblk1, as per instructions on
https://www.erdahl.io/2016/12/beaglebone-black-booting-from-sd-by.html
but I get errors getting to the eMMC:

fdisk: cannot open /dev/mmcblk1: Input/output error

Is there any way I can disable the eMMC somehow, so that it does not interfere with the booting of the sd-card and automatically boots the sd-card?

Kind Regards,
Johan Henselmans

Should be easy to do. Change the boot configuration so that you don’t try to boot from mmc1.

I think if it’s a black, it should be r68 out, r93 in. Look up that platform manual to see the boot options. Chip is Am3358.

Here a handy chunk of schematic to help with that. https://e2e.ti.com/support/processors/f/791/t/661109?AM3358-SYSBOOT-configuration

J

It might not be an eMMC failure.
Could just be an old bootloader.
Did you update the bootpoader in the eMMC?

https://elinux.org/EBC_Exercise_07_Updating_an_Old_U-Boot#Fixing_the_Problem.2C_Blow_Away_Old_Boot_Loader

— Graham

The eMMC is definitely borked. I tried several times to get the eMMC to do anything with it.

mmc gives the following result

mmc extcsd read /dev/mmcblk1 | grep “Life” | awk ‘{print $6,$7}’
[EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x0b
[EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x08

As far as I understood, 0x01 means dead cell is between 0 and 10 percent. In that understanding 0x0b means that between 100 and 110 percent is dead, and 0x08 means between 70 and 80 percent is dead.

Thanks for bootloadertip, I did

sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=1
After that the machine booted off the sdcard without having to press the boot button, as the Beaglebone could not find a bootloader on the eMMC.

Thanks for the reply.

I looked at the schematics pdf that you referred to and understood that r93 and r68 have to do with the boot-order, and that setting r68 low (as is actually done by pressing the uSD boot button) would make the bootorder different.

Is that possible in software, or do I have to do that by settting up some kind of wiring?

*Is that possible in software, or do I have to do that *by settting up some kind of wiring?

The ROM bootloader contains firmware to boot using multiple protocols set by SoC pins being strapped. The details are in TRM.