Hi Simone,
forwarding your message as it has been filtered due to the attachment.
The mailing list has a limit of 200KiB.
This is the most interesting line out of the picture:
> Warning: BIOS region SMM protection is enabled!
Well, this is unfortunate. You may not be completely out of luck,
though. Sometimes the BIOS setup provides options to toggle flash
protection. And sometimes a simple trick helps to get around it:
suspend (to RAM) and resume before you try to flash. Some BIOSes
simply forget to enables the protection during resume.
If you removed the SPI flash from the board anyway, you can also
use very simple / cheap SPI programmers without the need of hot
swapping. Many SBCs (Raspberry Pi and the like) can serve as
programmer, for instance. Or, if you have an old PC with a legacy
parallel port, that can be hooked up to a SPI flash with a few
resistors.
Let us know if you need more infos.
Nico
-------- Forwarded Message --------
Subject: ADVANTECH ASMB-825 SMM BIOS protection
Date: Wed, 15 Sep 2021 09:14:37 +0200
From: Simone Arinci <simone.arinci(a)gmail.com>
To: flashrom(a)flashrom.org
Good morning, see attached screenshot for the motherboard ASMB-825.
I tried flashrom as I have a bricked motherboard and a good one, and tried
to revive the bad one with the SPI flash hot swap trick, but no success.
Tried flashrom, AFUEFI, AFUDOS, Intel FPT...but none of these are able to
reprogram the damaged flash chip... I'm going to send it to the
manufacturer to have it repaired.
Thanks for your help, have a nice day.
Simone
[image: ADVANTECH ASMB-825.png]
On 10.09.21 00:44, Jack Fivedock wrote:
> Much appreciated. Sorry for the lack of knowledge here, I'm very new to
> this.
> I see in the data sheet the command I need to enter to enable WREN but I'm
> not sure how to issue this command to the chip?
Sorry, you're on the wrong track. This command is simply send before
every attempt to write, always. So that's nothing specific to your chip
that flashrom could miss.
Maybe we should back up. You mentioned you were using a special connec-
tor:
> Using this cable from Chipset pro to connect to the hirose 12 pin EFI
> connector on the macbook pro.
This made me assume that there can't be any physical issue because this
connector is made for flashing. But maybe it isn't, or maybe you are
using it wrong. Is there any public documentation about this connector?
One thing that could go wrong is the voltage supply. If you can, you
should check if the voltage drops once the flash is connected. If it
drops below a certain level, it's possible that the chip would still
answer to commands, but a protection circuit would prevent any write
attempt.
Looking at the datasheet, this chip has a "individual block protection"
mode, selected by a write-once WPSEL bit in a security register. AIUI,
the state can be read with the RDSCUR (read security register) command.
If WPSEL (bit 7) is set, a WREN + GBULK (gang block unlock) command
sequence should allow to write.
I'm sorry, I can't provide any patch or details about the code right
now. But the above should provide a starting point for anyone else
who wants to help. You could also drop in on IRC, especially helpful
if you want to talk about the code.
Nico
Hi Jack,
forwarding your message as it was filtered due to your big attachment.
The limit for this list is 256KiB.
I guess the picture doesn't matter much as this might be a software
problem.
Nico
-------- Forwarded Message --------
Date: Mon, 6 Sep 2021 16:10:15 +1000
From: Jack Fivedock <jackfivedock(a)gmail.com>
To: flashrom(a)flashrom.org
Hi, I'm trying to write to a MX25L6473E using a raspberry pi and the latest
flashrom. I'm able to read correctly each time but writing fails.
I have attached below the cable setup I'm using.
Using this cable from Chipset pro to connect to the hirose 12 pin EFI
connector on the macbook pro.
https://www.ebay.com.au/itm/133104579410?ssPageName=STRK%3AMEBIDX%3AIT&_trk…
pi@raspberrypi:~ $ sudo flashrom -w New.bin -V -p
linux_spi:dev=/dev/spidev0.0 -c
"MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F"
flashrom v1.2-471-ga69c519 on Linux 5.10.17-v7l+ (armv7l)
flashrom is free software, get the source code at https://flashrom.org
flashrom was built with libpci 3.5.2, GCC 8.3.0, little endian
Command line (7 args): flashrom -w New.bin -V -p
linux_spi:dev=/dev/spidev0.0 -c
MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Initializing linux_spi programmer
Using default 2000kHz clock. Use 'spispeed' parameter to override.
Using device /dev/spidev0.0
Using 2000kHz clock
get_max_kernel_buf_size: Using value from
/sys/module/spidev/parameters/bufsiz as max buffer size.
linux_spi_init: max_kernel_buf_size: 4096
The following protocols are supported: SPI.
Probing for Macronix
MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F, 8192 kB:
compare_id: id1 0xc2, id2 0x2017
Added layout entry 00000000 - 007fffff named complete flash
Found Macronix flash chip
"MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F" (8192 kB, SPI) on
linux_spi.
Chip status register is 0x40.
Chip status register: Status Register Write Disable (SRWD, SRP, ...) is not
set
Chip status register: Bit 6 is set
Chip status register: Block Protect 3 (BP3) is not set
Chip status register: Block Protect 2 (BP2) is not set
Chip status register: Block Protect 1 (BP1) is not set
Chip status register: Block Protect 0 (BP0) is not set
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
This chip may contain one-time programmable memory. flashrom cannot read
and may never be able to write it, hence it may not be able to completely
clone the contents of this chip (see man page for details).
Reading old flash chip contents... done.
Erasing and writing flash chip... Trying erase function 0...
0x000000-0x000fff:S, 0x001000-0x001fff:S, 0x002000-0x002fff:S,
0x003000-0x003fff:EFAILED at 0x00003000! Expected=0xff, Found=0x46, failed
byte count from 0x00003000-0x00003fff: 0x70
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase
function.
Trying erase function 1... 0x000000-0x007fff:EFAILED at 0x00000010!
Expected=0xff, Found=0x5a, failed byte count from 0x00000000-0x00007fff:
0x1093
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase
function.
Trying erase function 2... 0x000000-0x00ffff:EFAILED at 0x00000010!
Expected=0xff, Found=0x5a, failed byte count from 0x00000000-0x0000ffff:
0x7c36
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase
function.
Trying erase function 3... 0x000000-0x7fffff:EFAILED at 0x00000010!
Expected=0xff, Found=0x5a, failed byte count from 0x00000000-0x007fffff:
0x5568d2
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase
function.
Trying erase function 4... 0x000000-0x7fffff:EFAILED at 0x00000010!
Expected=0xff, Found=0x5a, failed byte count from 0x00000000-0x007fffff:
0x5568d2
ERASE FAILED!
Reading current flash chip contents... done. Looking for another erase
function.
Trying erase function 5... not defined. Looking for another erase function.
Trying erase function 6... not defined. Looking for another erase function.
Trying erase function 7... not defined. No usable erase functions left.
FAILED!
Uh oh. Erase/write failed. Checking if anything has changed.
Reading current flash chip contents... done.
Good, writing to the flash chip apparently didn't do anything.
Please check the connections (especially those to write protection pins)
between
the programmer and the flash chip. If you think the error is caused by
flashrom
please report this to the mailing list at flashrom(a)flashrom.org or on IRC
(see
https://www.flashrom.org/Contact for details), thanks!
Hi Flashrom Team,
Please help me with my bios chip. I am getting an error when I reprogram my
bios chip using flashrom. I have already tried using different versions of
AsProgrammer and CH341 Mini Programmer but still unable to verify the new
rom. My Chip is an 8 pin and is removable (W25Q64BVAIG).
You may refer to the command below. I hope you can help me.
C:\Users\SKyFlaKes™\Downloads\Compressed\flashrom>flashrom
flashrom v1.2-50-gc19aa5e on Windows 6.2 (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) on ch341a_spi.
No operations were specified.
C:\Users\SKyFlaKes™\Downloads\Compressed\flashrom>flashrom -w
MAXIMUS-IV-GENE-Z-GEN3-ASUS-3603.ROM
flashrom v1.2-50-gc19aa5e on Windows 6.2 (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) on ch341a_spi.
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... FAILED at 0x00180004! Expected=0x00, Found=0x08, failed
byte count from 0x00000000-0x007fffff: 0xf364
Your flash chip is in an unknown state.
Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom(a)flashrom.org, thanks!
Thank you!
Dear Sir,
we have this device GD25Q40(b) , while try to read n write
the below message came out , i'm using ch341a_spi programmer
is there update for flashrom to support it
thanks a lot
This flash part has status UNTESTED for operations: PROBE READ ERASE WRITE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to flashrom(a)flashrom.org if any of the above operations
work correctly for you with this flash chip. Please include the flashrom log
file for all operations you tested (see the man page for details), and mention
which mainboard or programmer you tested in the subject line.
thanks