06-30-2021, 11:38 AM
Ok, I got a bit further: I attempted again to boot from SDCard with an empty eMMC module connected to the board. In my last post I explained that the board tried to boot from eMMC anyway (as it has preference over SDCard) but then halted. Seems like after a while there is some timeout and the board eventually boots from Sdcard.
So, I then logged in and saw two mmc devices listed under /dev/:
/dev/mmcblk1 => this is the sdcard as it has a number of partitions listed as well.
/dev/mmcblk2 => this is the eMMC card.
I then attemped an fdisk /dev/mmcblk2, but the command hang.
In /var/log/kern.log I could see these messages pop up from time to time, so I really believe eMMC is not supported on kernel 5.X somehow, see below. I reflashed the eMMC to Armbian buster (4.X kernel), booting succeeded and I couldn't see any of these error messages in kern.log.
Jun 30 17:18:36 rockpro64 kernel: [ 2343.905451] mmc2: cqhci: timeout for tag 0
Jun 30 17:18:36 rockpro64 kernel: [ 2343.905830] mmc2: cqhci: ============ CQHCI REGISTER DUMP ===========
Jun 30 17:18:36 rockpro64 kernel: [ 2343.906397] mmc2: cqhci: Caps: 0x00000000 | Version: 0x00000510
Jun 30 17:18:36 rockpro64 kernel: [ 2343.906962] mmc2: cqhci: Config: 0x00000001 | Control: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.907526] mmc2: cqhci: Int stat: 0x00000000 | Int enab: 0x00000006
Jun 30 17:18:36 rockpro64 kernel: [ 2343.908091] mmc2: cqhci: Int sig: 0x00000006 | Int Coal: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.908655] mmc2: cqhci: TDL base: 0x00000000 | TDL up32: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.909220] mmc2: cqhci: Doorbell: 0x00000000 | TCN: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.909820] mmc2: cqhci: Dev queue: 0x00000000 | Dev Pend: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.910388] mmc2: cqhci: Task clr: 0x00000000 | SSC1: 0x00011000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.910953] mmc2: cqhci: SSC2: 0x00000000 | DCMD rsp: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.911518] mmc2: cqhci: RED mask: 0xfdf9a080 | TERRI: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.912082] mmc2: cqhci: Resp idx: 0x00000000 | Resp arg: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.912646] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
Jun 30 17:18:36 rockpro64 kernel: [ 2343.913211] mmc2: sdhci: Sys addr: 0x00000000 | Version: 0x00001002
Jun 30 17:18:36 rockpro64 kernel: [ 2343.913804] mmc2: sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.914371] mmc2: sdhci: Argument: 0x00000001 | Trn mode: 0x00000010
Jun 30 17:18:36 rockpro64 kernel: [ 2343.914936] mmc2: sdhci: Present: 0x1fff0000 | Host ctl: 0x00000034
Jun 30 17:18:36 rockpro64 kernel: [ 2343.915500] mmc2: sdhci: Power: 0x0000000b | Blk gap: 0x00000080
Jun 30 17:18:36 rockpro64 kernel: [ 2343.916065] mmc2: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
Jun 30 17:18:36 rockpro64 kernel: [ 2343.916629] mmc2: sdhci: Timeout: 0x0000000e | Int stat: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.917194] mmc2: sdhci: Int enab: 0x02ff4000 | Sig enab: 0x02ff4000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.917778] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.918346] mmc2: sdhci: Caps: 0x44edc880 | Caps_1: 0x800020f7
Jun 30 17:18:36 rockpro64 kernel: [ 2343.918911] mmc2: sdhci: Cmd: 0x00003013 | Max curr: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.919476] mmc2: sdhci: Resp[0]: 0x00400800 | Resp[1]: 0x64201832
Jun 30 17:18:36 rockpro64 kernel: [ 2343.920040] mmc2: sdhci: Resp[2]: 0x4e436172 | Resp[3]: 0x00880103
Jun 30 17:18:36 rockpro64 kernel: [ 2343.920605] mmc2: sdhci: Host ctl2: 0x00000083
Jun 30 17:18:36 rockpro64 kernel: [ 2343.920997] mmc2: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x01191208
Jun 30 17:18:36 rockpro64 kernel: [ 2343.921580] mmc2: sdhci: ============================================
Jun 30 17:18:36 rockpro64 kernel: [ 2343.922179] mmc2: running CQE recovery
Jun 30 17:18:36 rockpro64 kernel: [ 2343.923435] blk_update_request: I/O error, dev mmcblk2, sector 0 op 0x0READ) flags 0x80700 phys_seg 1 prio class 0
So, I then logged in and saw two mmc devices listed under /dev/:
/dev/mmcblk1 => this is the sdcard as it has a number of partitions listed as well.
/dev/mmcblk2 => this is the eMMC card.
I then attemped an fdisk /dev/mmcblk2, but the command hang.
In /var/log/kern.log I could see these messages pop up from time to time, so I really believe eMMC is not supported on kernel 5.X somehow, see below. I reflashed the eMMC to Armbian buster (4.X kernel), booting succeeded and I couldn't see any of these error messages in kern.log.
Jun 30 17:18:36 rockpro64 kernel: [ 2343.905451] mmc2: cqhci: timeout for tag 0
Jun 30 17:18:36 rockpro64 kernel: [ 2343.905830] mmc2: cqhci: ============ CQHCI REGISTER DUMP ===========
Jun 30 17:18:36 rockpro64 kernel: [ 2343.906397] mmc2: cqhci: Caps: 0x00000000 | Version: 0x00000510
Jun 30 17:18:36 rockpro64 kernel: [ 2343.906962] mmc2: cqhci: Config: 0x00000001 | Control: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.907526] mmc2: cqhci: Int stat: 0x00000000 | Int enab: 0x00000006
Jun 30 17:18:36 rockpro64 kernel: [ 2343.908091] mmc2: cqhci: Int sig: 0x00000006 | Int Coal: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.908655] mmc2: cqhci: TDL base: 0x00000000 | TDL up32: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.909220] mmc2: cqhci: Doorbell: 0x00000000 | TCN: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.909820] mmc2: cqhci: Dev queue: 0x00000000 | Dev Pend: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.910388] mmc2: cqhci: Task clr: 0x00000000 | SSC1: 0x00011000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.910953] mmc2: cqhci: SSC2: 0x00000000 | DCMD rsp: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.911518] mmc2: cqhci: RED mask: 0xfdf9a080 | TERRI: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.912082] mmc2: cqhci: Resp idx: 0x00000000 | Resp arg: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.912646] mmc2: sdhci: ============ SDHCI REGISTER DUMP ===========
Jun 30 17:18:36 rockpro64 kernel: [ 2343.913211] mmc2: sdhci: Sys addr: 0x00000000 | Version: 0x00001002
Jun 30 17:18:36 rockpro64 kernel: [ 2343.913804] mmc2: sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.914371] mmc2: sdhci: Argument: 0x00000001 | Trn mode: 0x00000010
Jun 30 17:18:36 rockpro64 kernel: [ 2343.914936] mmc2: sdhci: Present: 0x1fff0000 | Host ctl: 0x00000034
Jun 30 17:18:36 rockpro64 kernel: [ 2343.915500] mmc2: sdhci: Power: 0x0000000b | Blk gap: 0x00000080
Jun 30 17:18:36 rockpro64 kernel: [ 2343.916065] mmc2: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
Jun 30 17:18:36 rockpro64 kernel: [ 2343.916629] mmc2: sdhci: Timeout: 0x0000000e | Int stat: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.917194] mmc2: sdhci: Int enab: 0x02ff4000 | Sig enab: 0x02ff4000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.917778] mmc2: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.918346] mmc2: sdhci: Caps: 0x44edc880 | Caps_1: 0x800020f7
Jun 30 17:18:36 rockpro64 kernel: [ 2343.918911] mmc2: sdhci: Cmd: 0x00003013 | Max curr: 0x00000000
Jun 30 17:18:36 rockpro64 kernel: [ 2343.919476] mmc2: sdhci: Resp[0]: 0x00400800 | Resp[1]: 0x64201832
Jun 30 17:18:36 rockpro64 kernel: [ 2343.920040] mmc2: sdhci: Resp[2]: 0x4e436172 | Resp[3]: 0x00880103
Jun 30 17:18:36 rockpro64 kernel: [ 2343.920605] mmc2: sdhci: Host ctl2: 0x00000083
Jun 30 17:18:36 rockpro64 kernel: [ 2343.920997] mmc2: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x01191208
Jun 30 17:18:36 rockpro64 kernel: [ 2343.921580] mmc2: sdhci: ============================================
Jun 30 17:18:36 rockpro64 kernel: [ 2343.922179] mmc2: running CQE recovery
Jun 30 17:18:36 rockpro64 kernel: [ 2343.923435] blk_update_request: I/O error, dev mmcblk2, sector 0 op 0x0READ) flags 0x80700 phys_seg 1 prio class 0