Hi All,
We are trying to implement the flashrom tool utility on the x86 Elkhart Lake(LEC-EL) platform. In this case, we are facing an issue when trying to erase the BIOS device MTD0. There are 4096 erase blocks available in the mtd0 device, but only 1791 erase
blocks we can erase; the remaining blocks are throwing errors, and it shows MEMERASE64 IOCTL FAILED. Please see the below error message and MTD0 device info for your reference.
NOTE: Sometimes it works; we can erase the MTD0 device without any error, and we can upgrade/downgrade the BIOS.
ERROR MESSAGAE:
#sudo flash_erase /dev/mtd0 0 0
Erasing 16384 Kibyte @ 0 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 0 (mtd0)
error 524 (Unknown error 524)
flash_erase: error!: Entering into mtd_erase_multi
flash_erase: error!: /dev/mtd0: MTD Erase entire chip failureTrying one by one each sector.
error 524 (Unknown error 524)
Erasing 4 Kibyte @ 700000 -- 43 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 1792 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 4 Kibyte @ 700000 -- 43 % complete cnt 4096
MTD0 INFO:(sudo mtdinfo /dev/mtd0)
Name:
|
BIOS
|
Туре: |
nor
|
Eraseblock size: |
4096 bytes, 4.0 KiB
|
Amount of eraseblocks: |
4096 (16777216 bytes, 16.0 MB)
|
Minimum input/output unit size: |
1 byte
|
Sub-page size: |
1 byte
|
Character device major/minor: |
90:0
|
Bad blocks are allowed: |
false
|
Device is writable: |
true
|
Please share your inputs on this.
Thanks & Regards,
Arvind G P.