Rock64 configuration fails to boot for main 22c4ab6cb015 but worked for main 06bd74e1e39c (Nov 21): e.MMC mishandled?

From: Mark Millard via freebsd-current <freebsd-current_at_freebsd.org>
Date: Thu, 09 Dec 2021 04:36:20 UTC
[ Note: wma@FreeBSD.org is only a guess, based on:
https://lists.freebsd.org/archives/dev-commits-src-main/2021-December/001931.html ]

Attempting to update to:

main-n251456-22c4ab6cb015-dirty: Tue Dec  7 19:38:53 PST 2021

resulted in boot failure (showing some boot -v output):

. . .
mmc0: Probing bus
. . .
mmc0: SD probe: failed
mmc0: MMC probe: OK (OCR: 0x40ff8080)
mmc0: Current OCR: 0x00ff8080
mmc0: Probing cards
mmc0: New card detected (CID 150100444a4e423452079f43b2ae6313)
mmc0: New card detected (CSD d02701320f5903fff6dbffef8e40400d)
mmc0: Card at relative address 0x0002 added:
mmc0:  card: MMCHC DJNB4R 0.7 SN REPLACED MFG 06/2016 by 21 0x0000
mmc0:  quirks: 0
mmc0:  bus: 8bit, 200MHz (HS400 with enhanced strobe timing)
mmc0:  memory: 244277248 blocks, erase sector 1024 blocks
mmc0: setting transfer rate to 150.000MHz (HS200 timing)
mmcsd0: taking advantage of TRIM
mmcsd0: cache size 65536KB
mmcsd0: 125GB <MMCHC DJNB4R 0.7 SN REPLACED MFG 06/2016 by 21 0x0000> at mmc0 150.0MHz/8bit/1016-block
mmcsd0boot0: 4MB partition 1 at mmcsd0
mmcsd0boot1: 4MB partition 2 at mmcsd0
mmcsd0rpmb: 4MB partition 3 at mmcsd0
. . .
Release APs...done
regulator: shutting down unused regulators
GEOM: new disk mmcsd0
regulator: shutting down vcc_sd... GEOM: new disk mmcsd0boot0
busy
GEOM: new disk mmcsd0boot1
Trying to mount root from ufs:/dev/gpt/Rock64root []...
Unresolved linked clock found: hdmi_phy
Unresolved linked clock found: usb480m_phy
mmcsd0: Error indicated: 4 Failed

Note the the above line. It seems to be unique to
the failure. Continuing the output . . .

uhub2: 1 port with 1 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub0: 1 port with 1 removable, self powered
uhub3: 1 port with 1 removable, self powered
ugen4.2: <vendor 0x04e8 product 0x4001> at usbus4
umass0 on uhub1
umass0: <vendor 0x04e8 product 0x4001, class 0/0, rev 3.20/1.00, addr 1> on usbus4
umass0:  SCSI over Bulk-Only; quirks = 0x0000
umass0:0:0: Attached to scbus0
pass0 at umass-sim0 bus 0 scbus0 target 0 lun 0
pass0: <Samsung PSSD T7 Touch 0> Fixed Direct Access SPC-4 SCSI device
pass0: Serial Number REPLACED
pass0: 400.000MB/s transfers
da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
da0: <Samsung PSSD T7 Touch 0> Fixed Direct Access SPC-4 SCSI device
da0: Serial Number REPLACED
da0: 400.000MB/s transfers
da0: 953869MB (1953525168 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>
da0: Delete methods: <NONE(*),ZERO>

Nothing more after that.

An older kernel (1400042) that happened to be available boots
the same configuration when used instead (same world) . . .

main-n250903-06bd74e1e39c-dirty: Sun Nov 21 23:02:57 PST 2021 got:

mmc0: Probing bus
. . .
mmc0: SD probe: failed
mmc0: MMC probe: OK (OCR: 0x40ff8080)
mmc0: Current OCR: 0x00ff8080
mmc0: Probing cards
mmc0: New card detected (CID 150100444a4e423452079f43b2ae6313)
mmc0: New card detected (CSD d02701320f5903fff6dbffef8e40400d)
mmc0: Card at relative address 0x0002 added:
mmc0:  card: MMCHC DJNB4R 0.7 SN REPLACED MFG 06/2016 by 21 0x0000
mmc0:  quirks: 0
mmc0:  bus: 8bit, 200MHz (HS400 with enhanced strobe timing)
mmc0:  memory: 244277248 blocks, erase sector 1024 blocks
mmc0: setting transfer rate to 52.000MHz (high speed timing)

Note the lack of trying "150.000MHz (HS200 timing)".  Continuing
the output . . .

mmc0: setting bus width to 8 bits high speed timing
mmcsd0: taking advantage of TRIM
mmcsd0: cache size 65536KB
mmcsd0: 125GB <MMCHC DJNB4R 0.7 SN REPLACED MFG 06/2016 by 21 0x0000> at mmc0 52.0MHz/8bit/1016-block
mmcsd0boot0: 4MB partition 1 at mmcsd0
mmcsd0boot1: 4MB partition 2 at mmcsd0
mmcsd0rpmb: 4MB partition 3 at mmcsd0

Note: The media is actually an e.MMC . Continuing the output . . .

. . .
Release APs...done
regulator: shutting down unused regulators
GEOM: new disk mmcsd0
regulator: shutting down vcc_sd... Trying to mount root from ufs:/dev/gpt/Rock64root []...
GEOM: new disk mmcsd0boot0
busy
GEOM: new disk mmcsd0boot1
Unresolved linked clock found: hdmi_phy
Unresolved linked clock found: usb480m_phy
Root mount waiting for: usbus1 usbus2 usbus3 usbus4 CAM
uhub1: 1 port with 1 removable, self powered
uhub0: 2 ports with 2 removable, self powered
uhub3: 1 port with 1 removable, self powered
uhub2: 1 port with 1 removable, self powered
ugen4.2: <vendor 0x04e8 product 0x4001> at usbus4
umass0 on uhub0
umass0: <vendor 0x04e8 product 0x4001, class 0/0, rev 3.20/1.00, addr 1> on usbus4
umass0:  SCSI over Bulk-Only; quirks = 0x0000
umass0:0:0: Attached to scbus0
Root mount waiting for: CAM
Root mount waiting for: CAM
Root mount waiting for: CAM
Root mount waiting for: CAM
Root mount waiting for: CAM
Root mount waiting for: CAM
Root mount waiting for: CAM
Root mount waiting for: CAM
Root mount waiting for: CAM
GEOM: new disk da0
pass0 at umass-sim0 bus 0 scbus0 target 0 lun 0
pass0: <Samsung PSSD T7 Touch 0> Fixed Direct Access SPC-4 SCSI device
pass0: Serial Number REPLACED
pass0: 400.000MB/s transfers
da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
da0: <Samsung PSSD T7 Touch 0> Fixed Direct Access SPC-4 SCSI device
da0: Serial Number REPLACED
da0: 400.000MB/s transfers
da0: 953869MB (1953525168 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>
da0: Delete methods: <NONE(*),ZERO>
random: unblocking device.
Warning: bad time from time-of-day clock, system time will not be set accurately
Dual Console: Serial Primary, Video Secondary
start_init: trying /sbin/init
. . .

(I'll stop with that.)

So I end up with a 1400042 kernel and a 1400043 world in order to
boot.

The e.MMC has only:

# ls -FTld *
-r--r--r--   1 root  wheel   6170 Feb  1 04:48:34 2020 COPYRIGHT
drwxr-xr-x  23 root  wheel   1536 Dec  8 20:18:34 2021 boot/
drwxr-xr-x   2 root  wheel    512 Apr 26 14:39:22 2020 etc/
drwx------   2 root  wheel  33280 Nov 27 09:46:08 2019 lost+found/

where the etc/ has only:

# find etc/ -print
etc/
etc/hostid

World comes from the USB3 SSD that is attached but the kernel
comes from the e.MMC instead. (The kernel can deal with the
USB3 SSD just fine, unlike the U-Boot that is involved.)

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)