Hi all,
I would like to see the following feature added to flashrom:
https://github.com/flashrom/flashrom/issues/185
If someone implemented it, would the idea (at least) be accepted?
Is anyone interested in implementing it and claiming the $100 bounty?
Text of the issue, for people too lazy to click:
Some chips require certain bits (and similar features) be set before the hardware write-protect pins can be used. Flashrom doesn't currently support setting these bits, which makes it impossible to e.g hardware write-protect a BIOS chip after flashing Coreboot. I would like to see Flashrom add support for this.
Attached is a patch which was written by someone else (they can identify themselves if they like) to toggle the relevant bits for a particular flash chip, each time flashrom is run, and tell the user what's going on.
Your task, if you want to claim the bounty, is to:
1- Add some UI sugar so that the user can choose to set the appropriate bits (or not), and any other "features" needed to enable hardware write-protect, via the command line
2- Ensure the necessary bits and features can be set for a specified set of chips (see below), so Flashrom supports hardware write protect for at least all of the listed chips, and
3- Get your patch accepted and merged (it may be wise to first check with the maintainers that they are willing to add this feature) using Gerrit or the mailing list as per the official process
If $100 isn't enough to make this attractive, I am open to increasing the bounty. I am also happy to escrow it if need be. Payment will be in Bitcoin.
I am trying to use the 1406.BIN file I got from ASUS
Help, please?
Thanks! John
--
If you forward this correspondence, PLEASE delete the forwarding history
which includes my email address. It is a courtesy to me and others who may
not wish to have their email addresses sent all over the world. Deleting
the history helps prevent Spammers from mining addresses and also prevents
viruses from being propagated. Thank you.
Reading and writing to this chip worked, did several test with writing and read and compare using files system tools.
Thanks for your great work!
---
Write Log:
me@iMac % flashrom --programmer ch341a_spi -w O.rom
flashrom v1.2 on Darwin 20.6.0 (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
Found Eon flash chip "EN25F10" (128 kB, SPI) on ch341a_spi.
===
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 for your help!
Reading old flash chip contents... done.
Erasing and writing flash chip... Erase/write done.
Verifying flash... VERIFIED.
me@iMac %
Read Log:
me@iMac % flashrom --programmer ch341a_spi -r A.rom
flashrom v1.2 on Darwin 20.6.0 (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
Found Eon flash chip "EN25F10" (128 kB, SPI) on ch341a_spi.
===
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 for your help!
Reading flash... done.
me@iMac %
Hi,
choosing the best fitting erase block size can safe a significant amount of runtime. That´s why I would like to check if this can be improved.
Just to get the right starting point, here some thoughts to be discussed from my point of limited view: As I understand the code, the algorithm for standard erase operation (e.g. before writing some random data) is this:
1) take the first entry of `flash->chip->block_erasers`
2) try to erase using this parameters
3) if check_block_eraser() fails try the next entry of `flash->chip->block_erasers`
In this case the first entry given to `block_erasers` in `flashchips.c` is as the default entry used for erase operation for the given flashchip. As the first entry normally goes with the least block size this should work in almost every case. But on the other hand this is generally the worse choice regarding to run time if a erase operation with a bigger erase size would do the job as well.
A) Would it be reasonable to just change the order and go from the bigger block size to lower block size? So the biggest size block erase operation is handled as a default and only in case it does not fit an erase operation with lower block size is used.
I might have overseen some important aspects, so here just some other options:
B) Make `block_eraser` entry selectable via cmd line parameter
C) Add timing values of erase operations to flashchips.c and calculate and choose best runtime
Let me know what do you think.
Regards,
Simon
Simon Buhrow
SIEB & MEYER AG
21339 Lüneburg
Germany
Hello, I want to build a (gang) programmer for AT45DB161 Serial Flash, I
would like to use a Raspberry + flashrom.
Before programming my Flash I need to send command for configuring Page
Size of 512 Bytes
Is there a specific command/option in flashrom ?
Thank you, regards
Paolo Bisiach
Hi, I would like to try and flash my chip with flashrom but i have no idea if this software works without external programmer. So am i able to use it without external programmer and if yes where is the tutorial on what files to download and what commands to use. I know my chip model is supported because when i used Afudos and FPT tool it showed my chipset model and its listed under flashrom tested and working models.
Came across this error message when I was attempting to run your script on
my google pixelbook.
Uh oh. Erase/write failed. Checking if anything has changed.
Reading current flash chip contents... 000000-0xffffff:R Reading 16777216
bytes starting at 0x000000.
ignoring error when reading 0x0-0xffffff
done.
Good, writing to the flash chip apparently didn't do anything.
This means we have to add special support for your board, programmer or
flash
chip. Please report this on IRC at chat.freenode.net (channel #flashrom) or
mail flashrom(a)flashrom.org, thanks!
This is the set that the program said it didn't recognize.
Intel Kaby Lake Y w/ iHDCP2.2 Prem