Difference between revisions of "User:GNUtoo"
From flashrom
Line 16: | Line 16: | ||
* [http://www.tme.eu/en/details/pom-5250/test-clips/pomona/5250/ pomona clip] for recovering my x60 | * [http://www.tme.eu/en/details/pom-5250/test-clips/pomona/5250/ pomona clip] for recovering my x60 | ||
* some chips(2MB SO8(currently soldered), 16MB SO8) | * 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 |
Revision as of 20:27, 4 May 2013
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)
Contents
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