Acer Spin 511 R756T (CRAASK): intermittent eMMC boot failure, HS SDR 52 MHz workaround

Hi, I would like to report an intermittent internal eMMC boot problem

and share a workaround tested on my device.

Hardware and firmware

  • Device: Acer Chromebook Spin 511 R756T
  • Board/HWID family: CRAASK / CRAASKBOWL
  • CPU: Intel N100
  • eMMC: DV4064, 58.2 GiB
  • eMMC controller: Intel 8086:54C4, PCI 00:1a.0
  • Original firmware: MrChromebox-2606.1 Full UEFI
  • Installed OS: Windows
  • Diagnostic environment: Linux Mint 22.1 live USB, kernel 6.8.0-51-generic

Symptoms

UEFI usually fails to expose the internal eMMC as a disk.
Repeated power cycles occasionally allow Windows to boot.

During a failed boot:

  • The Intel eMMC controller is still visible in the PCI list.
  • It appears as “Edkii Sd/Mmc Host Controller”.
  • connect -r followed by map -r does not recover the internal disk.
  • The only BLK0 mapping points to the separate SD reader, not the eMMC.
  • Windows Boot Manager fails with “Not Found”.

Diagnostic findings

A custom firmware build with edk2 CBMEM logging showed:

  • Controller reset: Success
  • Host initialization: Success
  • CMD1/CMD2 identification: Success
  • Switching to HS400: Success

However, subsequent CMD8 reads of the 512-byte EXT_CSD repeatedly failed:

  Error interrupt status = 20
  TRB failed with CRC Error
  Command index: 8
  InTransferLength: 512

Linux booted from USB in the same failed UEFI session successfully
initialized the eMMC in HS400 Enhanced Strobe mode and detected its
partitions.

Increasing CONFIG_EDK2_SD_MMC_TIMEOUT from 10 to 1000 ms did not help.

Workaround tested

A further custom build limited the Intel eMMC controller’s UEFI mode
to HS SDR, at most 52 MHz, instead of HS400/HS200/DDR.

With that diagnostic build, five shutdown/power-on tests succeeded:
the internal eMMC was detected and Windows booted automatically.

The workaround did not modify the board’s DLL tuning values or
coreboot HS400 capability configuration. Linux still initialized
the eMMC in HS400 Enhanced Strobe mode.

This is a workaround tested on one device, not a confirmed root-cause fix.
The successful build also retained diagnostic logging, so a possible
logging/timing effect has not yet been fully excluded.

”Booting from ‘Windows Boot Manager’ failed;verify it contains a 64-bit UEFI OS”

@MrChromebox is very probably this is related with failure in Pujjoteen? Not reliable boot in PUJJOTEEN (IP slim 3)

Both are alder lake-n platform.

yes

In next release please add that patch fix, or if possible modify current build for test, thanks.

give me the board name and I’ll give you a test build to flash which allows limiting the eMMC init speed via a menu option, so you can tell me what max speed is reliable

pujjoteen15w

that uses the regular pujjo image:
coreboot_edk2-pujjo-mrchromebox_20260917-emmc_test.zip (4.8 MB)

@PublicAccDev here’s one for craask:
coreboot_edk2-craask-mrchromebox_20260917-emmc_test.zip (4.8 MB)

1 Like

Now testing, setting “HS SDR 52 MHz” works fine, “auto” sometimes fail, other settings still not test.

Not related but in model name show “Lenovo 500e Yoga”

PUJJO is the Lenovo 500e Yoga Chromebook Gen 4.

if your HWID didn’t persist, then that’s why you’re not seeing “Lenovo 14e Chromebook Gen 3” for PUJJOTEEN15W

Ok, still testing “unlimited” no detect emmc, HS400 sometimes fail.

For HWID i need set some argument when flash image rom?

you should be flashing using the custom rom option from the script, so that everything gets persisted.

to fix this, pull your HWID from a backup image/stock backup and set it using the script menu option. or just set it to PUJJOTTEN15W if you don’t care about having the exact correct one (only needed for going back to stock really)

i selected that option when flash the custom rom, i guess i have a rom backup

try this and see if auto works now - added HS400ES support, which is what linux uses

coreboot_edk2-pujjo-mrchromebox_20260917-emmc_test-2.zip (4.8 MB)

if not, let me know the max speed that reliably works

till now only HS SDR 52 MHz and HS200 seem are working fine

ok, please use test2 and tell me if auto (HS400-ES) works. If not, then I’ll just limit certain boards to HS200

let me a minutes to install, for laptop set model first select with backup rom?

How pull HWID from backup without flash the backup image? i want have possiblity flash stock if needed

the HWID on the full rom is used for two things:

  • device name display on the firmware setup menu
  • injecting into a recovery image (shellball) firmware if you return to stock without a backup

if you have a stock backup, it’s not necessary to have the exact stock HWID in the full rom firmware, just set it to the correct board name if you care about the device name in the firmware menu.

this is all far secondary to the issue at hand here though

“auto” option seem works fine

so the problem is/was that the eMMC controller wants HS400-ES, not regular HS400

coreboot_edk2-pujjo-mrchromebox_20260917-emmc_test-3.zip (4.8 MB)

previous test builds had some ACPI issues, fixed here