We have an HMI product based on the BeagleBone Black running:
- uBoot: V2019.04
- Kernel: 4.19.106-bone49
- Debian 10.2
- ext4 filesystem
Several customers have had issues where the device fails to boot after power loss. We have had several of these devices returned to our factory and in connecting to the serial port, see error messages during the check of the root file system (see below for partial boot log). The device can be recovered by reflashing the eMMC from a uSD card.
We do not have the option of assuming a clean shutdown and would prefer not to make hardware modifications to resolve this issue. Any suggestions for steps to take to minimize the risk of filesystem corruption?
[ 2.786989] No soundcards found.
[ 2.796516] Freeing unused kernel memory: 2048K
[ 2.801567] Run /init as init process
Loading, please wait...
Starting version 241
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... Scanning for Btrfs filesystems
done.
Begin: Will now check root file system ... fsck from util-linux 2.33.1
[/sbin/fsck.ext4 (1) -- /dev/mmcblk1p1] fsck.ext4 -a -C0 /dev/mmcblk1p1
[ 9.273137] mmc1: cache flush error -110
[ 9.277128] print_req_error: I/O error, dev mmcblk1, sector 0
rootfs: recovering journal
[ 14.136598] omap_hsmmc 481d8000.mmc: Card stuck in wrong state! card_busy_detect status: 0xe00
[ 14.242612] mmc1: cache flush error -110
[ 15.544958] mmc1: tried to HW reset card, got error -110
[ 15.550330] mmcblk1: recovery failed!
[ 15.554059] print_req_error: I/O error, dev mmcblk1, sector 8192
[ 15.560190] Buffer I/O error on dev mmcblk1p1, logical block 0, lost async page write
[ 15.568106] Buffer I/O error on dev mmcblk1p1, logical block 1, lost async page write
[ 15.581101] omap_hsmmc 481d8000.mmc: error -110 requesting status
[ 15.587246] mmcblk1: recovery failed!
[ 15.590971] print_req_error: I/O error, dev mmcblk1, sector 11992
[ 15.597174] Buffer I/O error on dev mmcblk1p1, logical block 475, lost async page write
[ 15.610270] omap_hsmmc 481d8000.mmc: error -110 requesting status
[ 15.616408] mmcblk1: recovery failed!
[ 15.620121] print_req_error: I/O error, dev mmcblk1, sector 12112
[ 15.626327] Buffer I/O error on dev mmcblk1p1, logical block 490, lost async page write
[ 15.639397] omap_hsmmc 481d8000.mmc: error -110 requesting status
[ 15.645536] mmcblk1: recovery failed!
[ 15.649246] print_req_error: I/O error, dev mmcblk1, sector 12152
[ 15.655447] Buffer I/O error on dev mmcblk1p1, logical block 495, lost async page write
[ 15.663513] Buffer I/O error on dev mmcblk1p1, logical block 496, lost async page write
[ 15.676579] omap_hsmmc 481d8000.mmc: error -110 requesting status
[ 15.682716] mmcblk1: recovery failed!
[ 15.686426] print_req_error: I/O error, dev mmcblk1, sector 20664
[ 15.692621] Buffer I/O error on dev mmcblk1p1, logical block 1559, lost async page write
[ 15.705775] omap_hsmmc 481d8000.mmc: error -110 requesting status
[ 15.711918] mmcblk1: recovery failed!