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.