Difference between revisions of "User:GNUtoo"

From flashrom
Jump to: navigation, search
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)


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