Upgraded to USB boot on a Raspberry pi4 now getting errors: mmc0: Timeout waiting for hardware cmd interrupt.

  • First off thanks go to all involved in the development of Libreelec, I’m impressed with the quality of what is especially free software, I run Libreelec on a 4Gb Raspberry pi4 that’s NFS’ed to a Synology NAS.

    However, I have an issue that has arisen after I upgraded to USB boot via an external Transcend 820S M.2-2280 120Gb SATA III Solid State Drive (in a USB3 enclosure). This upgrade has dramatically improved the boot time and usability of Libreelec but seems to have introduced random reboot issues and dmesg errors:

    mmc0: Timeout waiting for hardware cmd interrupt.

    The error seems to point to the now missing SD card as the OS seems to be trying to access it and timesout on the missing SD card. The latest Libreelec was raw installed onto the SSD (not upgraded). A quick Google shows similar issues here:

    18.04 - Ubuntu "mmc0: Timeout waiting for hardware cmd interrupt" error, no SD card - Ask Ubuntu

    As a workaround I have installed a blank MSDOS formated SD card, with this arrangement the errors go away. Any advice would be welcomed, some more info…

    LibreELEC:~ # vcgencmd version

    Jun 26 2020 14:49:28

    Copyright (c) 2012 Broadcom

    version b078012603a6a094178f959805996ad225a0d83b (clean) (release) (start_x)

    LibreELEC:~ # lsusb

    Bus 002 Device 002: ID 152d:0576 JMicron Technology Corp. / JMicron USA Technology Corp.

    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

    Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub

    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    LibreELEC:~ # uname -a

    Linux LibreELEC 4.19.127 #1 SMP Sat Oct 24 15:01:22 EDT 2020 armv7l GNU/Linux

    I can enable component-specific logging and submit any logs if it helps.


    [90934.155506] mmc0: Timeout waiting for hardware cmd interrupt.

    [90934.155515] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========

    [90934.155525] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00001002

    [90934.155532] mmc0: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000

    [90934.155540] mmc0: sdhci: Argument: 0x80000c08 | Trn mode: 0x00000000

    [90934.155548] mmc0: sdhci: Present: 0x1fff0001 | Host ctl: 0x00000001

    [90934.155555] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000080

    [90934.155562] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x0000f447

    [90934.155569] mmc0: sdhci: Timeout: 0x00000000 | Int stat: 0x00000000

    [90934.155576] mmc0: sdhci: Int enab: 0x00ff1003 | Sig enab: 0x00ff1003

    [90934.155583] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000

    [90934.155590] mmc0: sdhci: Caps: 0x45ee6432 | Caps_1: 0x0000a525

    [90934.155598] mmc0: sdhci: Cmd: 0x0000341a | Max curr: 0x00080008

    [90934.155605] mmc0: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x00000000

    [90934.155612] mmc0: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000

    [90934.155619] mmc0: sdhci: Host ctl2: 0x00000000

    [90934.155626] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000

    [90934.155633] mmc0: sdhci: ============================================

    [90953.782559] mmc0: Timeout waiting for hardware cmd interrupt.

    [90953.782566] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========

    [90953.782574] mmc0: sdhci: Sys addr: 0x00000000 | Version: 0x00001002

    [90953.782580] mmc0: sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000

    [90953.782586] mmc0: sdhci: Argument: 0x80000c08 | Trn mode: 0x00000000

    [90953.782592] mmc0: sdhci: Present: 0x1fff0001 | Host ctl: 0x00000001

    [90953.782598] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000080

    [90953.782604] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x0000f447

    [90953.782609] mmc0: sdhci: Timeout: 0x00000000 | Int stat: 0x00000000

    [90953.782615] mmc0: sdhci: Int enab: 0x00ff1003 | Sig enab: 0x00ff1003

    [90953.782620] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000

    [90953.782626] mmc0: sdhci: Caps: 0x45ee6432 | Caps_1: 0x0000a525

    [90953.782631] mmc0: sdhci: Cmd: 0x0000341a | Max curr: 0x00080008

    [90953.782636] mmc0: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x00000000

    [90953.782641] mmc0: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000

    [90953.782646] mmc0: sdhci: Host ctl2: 0x00000000

    [90953.782652] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000000

    [90953.782657] mmc0: sdhci: ============================================

    [90968.716192] mmc0: Timeout waiting for hardware cmd interrupt.

  • Please retest with a current LE 10 nightly to validate the issue still exists. The entire OS has newer everything inside and there will be no more LE 9.2 releases.

  • As a workaround I have installed a blank MSDOS formated SD card, with this arrangement the errors go away. Any advice would be welcomed, some more info…

    This is not necessary. Just insert dtparam=sd_poll_once=on to /flash/config.txt file to stop filling logs by mmc0.