|
|
Line 118: |
Line 118: |
| * [[/Howto_flash_sgabios_on_an_Nvidia_video_card | Howto flash sgabios on an Nvidia video card]] | | * [[/Howto_flash_sgabios_on_an_Nvidia_video_card | Howto flash sgabios on an Nvidia video card]] |
|
| |
|
| === Howto flash ipxe on an 3com network card ===
| | * [[/Howto_flash_ipxe_on_an_3com_network_card| Howto flash ipxe on an 3com network card]] |
| Clone ipxe:
| |
| $ git clone git://git.ipxe.org/ipxe.git
| |
| Then locate your network card with:
| |
| # lspci -nnnn
| |
| it will look like that:
| |
| [...]
| |
| 00:0c.0 Ethernet controller [0200]: 3Com Corporation 3c905C-TX/TX-M [Tornado] [10b7:9200] (rev 78)
| |
| [...]
| |
| Note the pci ids that are here: [10b7:9200]
| |
| | |
| Ajust your settings in src/config/local/
| |
| | |
| Then build ipxe:
| |
| cd ipxe/src/
| |
| make bin/10b79200.rom
| |
| | |
| Then backup the existing rom:
| |
| cd ../../
| |
| flashrom -pnic3com -r 3com_rom_backup.rom
| |
| The flashchip size is written in the output of that command.
| |
| | |
| Then generate a rom that is exactly the size of your rom chip:
| |
| dd if=/dev/zero of=bin/10b79200.rom.64k bs=1 count=65536
| |
| dd if=bin/10b79200.rom of=bin/10b79200.rom.64k conv=notrunc
| |
Revision as of 23:38, 7 June 2014
I've no code in flashrom yet, but I made a flashrom compatible arduino programmer and participated in testing and documentation.
My hardware
Mainboard based programmers
Device or programmer
|
Flash chip
|
Test result
|
Asus M4A785T-M mainboard
|
W25x80 (DIP8)
|
- Yes with the BIOS
- Yes with coreboot
|
Asrock E350M1
|
A25L032
|
- Yes from coreboot
- Untested from the BIOS
|
Lenovo X60
|
MX25L1605D/MX25L1608D
|
|
Lenovo X60
|
|
|
Lenovo X60T
|
MX25L1605D/MX25L1608D
|
|
Lenovo T60
|
MX25L1605D/MX25L1608D
|
|
PCEngines Alix.1c
|
|
- Yes with coreboot
- Yes with the recovery LPC dongle
|
Asus N71JQ
|
|
- Requires some bit flippings(with ifdtool and an external programmer) in the flash descriptor.
- Not tested internally.
|
External programmers
Device or programmer
|
Status
|
Arduino uno (serprog)
|
- Requires a 5v->3.3v level shifter for most current flash chips.
- Issues with the 8u2/8u3 when using the serial port at high speed.
|
Arduino duemillanove (serprog)
|
- Requires a 5v->3.3v level shifter for most current flash chips.
- Works fine otherwise.
|
Arduino Due ( no support for it yet )
|
- 3.3v level output on SPI.
- Not working: No support for it yet.
|
openmoko debug board (ft2232_spi:type=openmoko)
|
|
3com PCI NIC (10b7:9200) (nic3com)
|
|
Sata SII PCI card
|
- writing and erasing worked fine.
|
Really old PCI realtek cards
|
|
Some GNU/Linux embedded boards (linux_spi)
|
- Backporting some mainline kernel patches is required on some very old (2.6.35) kernel for omap3.
- Works fine otherwise
|
An atahpt PCI card
|
- Didn't work when adding the PCI IDS, but the atahpt is known not to work according to the mailing list.
|
old AGP Nvidia card
|
- Worked with a patch (documented below)
|
Nvidia geforce 210 PCIe 16x card
|
- didn't work when adding the PIC 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!!!!
Howto(Dangerous, not ready for the wiki)