User:GNUtoo
I've no code in flashrom yet, but I made a flashrom compatible arduino programmer and participated in testing and documentation.
With regard to testing I've the following programmers:
- (old) M4A785T-M with W25x80 DIP8(with and without coreboot) => works fine
- (old) X60 with coreboot and MX25L1605 => works fine
- Arduino uno and duemillanove (serprog based) => 5v only, which is problematic
- openmoko debug board (FTDI based) => worked fine until broken in lastest svn at the time of writing,also had speed issues with some chips...
- (really old) 3com Nic => works fine
- some (really really old) reaktek cards but without chip on them.
- linux_spi compatible hardwre... => works fine too so far...
- An atahpt that doesn't work when adding its PCI IDs(but atahpt are known not to work according to the mailing list)
- A very old AGP Nvidia card(I didn't test it yet)
- A recent geforce 210 that didn't work when adding the PCI IDs
I've also the following hardware:
- pomona clip for recovering my x60
- some chips(2MB SO8(currently soldered), 16MB SO8)
Work in progress for the wiki
Don't try that, it's dangerous!!!!
Examples
Howto flash sgabios on an Nvidia video card
Use case
- Servers often lack a screen.
- Some blind people also lack a way to see the startup of the computer until the braille tablet is running.
This Howto will help you transform your Nvidia video card in a something that send to a serial port what would have been displayed on the screen. The card will probably stop working as a graphic card due to the lack of VGA option rom tailored to the card.
The user is expected to see the output trough a serial console.
Howto
Here's an example on how to flash sgabios on an Nvidia video card:
- download flashrom
- apply that patch:
diff --git a/gfxnvidia.c b/gfxnvidia.c index d0a9feb..35e4687 100644 --- a/gfxnvidia.c +++ b/gfxnvidia.c @@ -110,7 +110,7 @@ int gfxnvidia_init(void) rpci_write_long(dev, 0x50, reg32); /* Write/erase doesn't work. */ - programmer_may_write = 0; + //programmer_may_write = 0; register_par_programmer(&par_programmer_gfxnvidia, BUS_PARALLEL); return 0;
- compile it
- download and build sgabios
- Identify your flash chip size by running:
flashrom -pgfxnvidia
- save the content of the chip with:
flashrom -pgfxnvidia -r original.rom
- pad sgabios to the size of your flashchip:
dd if=/dev/zero of=sgabios.rom bs=1 count=65536 dd if=10b79200.rom of=sgabios.rom conv=notrunc
- flash it(and retry in case of failure, it has a high failure rate)
Howto flash ipxe on an 3com network card
TODO