Carl-Daniel Hailfinger wrote:
Am 05.10.2010 22:42 schrieb Iain Paton:
root@p7fe-64:~/flashrom# ./flashrom -p nicintel_spi -V flashrom v0.9.2-r1186 on Linux 2.6.35-dt (x86_64), built with libpci 3.1.4, GCC 4.4.3, little endian Initializing nicintel_spi programmer Found "Intel 82540EM Gigabit Ethernet Controller" (8086:100e, BDF 06:02.0).
I have a few of these cards, so maybe I'll try a different one just to be sure there's nothing odd going on with this one.
Here is an updated timeout patch (no functional changes for nicintel_spi). A year has passed, and I'm still trying to find someone who can test and ack it.
Apologies if I missed this previously. Anyway, card is as follows:
30:00.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02) Subsystem: Intel Corporation PRO/1000 MT Desktop Adapter Flags: bus master, 66MHz, medium devsel, latency 52, IRQ 17 Memory at dfa20000 (32-bit, non-prefetchable) [size=128K] Memory at dfa00000 (32-bit, non-prefetchable) [size=128K] I/O ports at 3000 [size=64] [virtual] Expansion ROM at c0100000 [disabled] [size=128K] Capabilities: [dc] Power Management version 2 Capabilities: [e4] PCI-X non-bridge device Capabilities: [f0] MSI: Enable- Count=1/1 Maskable- 64bit+ Kernel driver in use: e1000 Kernel modules: e1000
the spi device on the card is an AT25F1024N which doesn't appear to be supported anyway..
tried it on a couple of these cards with the same results
So, r1450 plus your patch, plus this:
--- nicintel_spi.c~ 2011-10-16 06:45:52.000000000 +0100 +++ nicintel_spi.c 2011-10-16 06:47:15.737992625 +0100 @@ -68,6 +68,7 @@ {PCI_VENDOR_ID_INTEL, 0x1076, OK, "Intel", "82541GI Gigabit Ethernet Controller"}, {PCI_VENDOR_ID_INTEL, 0x107c, OK, "Intel", "82541PI Gigabit Ethernet Controller"}, {PCI_VENDOR_ID_INTEL, 0x10b9, OK, "Intel", "82572EI Gigabit Ethernet Controller"}, + {PCI_VENDOR_ID_INTEL, 0x100e, OK, "Intel", "82540EM Gigabit Ethernet Controller"},
{}, };
gives:
root@newinstall:~/flashrom# ./flashrom -p nicintel_spi -V -r rom.bin flashrom v0.9.4-r1450 on Linux 3.0.0-dt (i686), built with libpci 3.1.8, GCC 4.5.2, little endian flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OS timer resolution is 1 usecs, 1791M loops per second, 10 myus = 11 us, 100 myus = 225 us, 1000 myus = 1053 us, 10000 myus = 10150 us, 4 myus = 6 us, OK. Initializing nicintel_spi programmer Found "Intel 82540EM Gigabit Ethernet Controller" (8086:100e, BDF 30:00.0). Requested BAR is MEM, 32bit, not prefetchable Probing for AMIC A25L05PT, 64 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L05PU, 64 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L10PT, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L10PU, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L20PT, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L20PU, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L40PT, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L40PU, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L80P, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L16PT, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L16PU, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L512, 64 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L010, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L020, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L040, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L080, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L016, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25L032, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC A25LQ032, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25DF021, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25DF041A, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25DF081, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25DF081A, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25DF161, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25DF321, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25DF321A, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25DF641, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25DQ161, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25F512B, 64 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25FS010, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT25FS040, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT26DF041, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT26DF081A, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT26DF161, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT26DF161A, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT26F004, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT45CS1282, 16896 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT45DB011D, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT45DB021D, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT45DB041D, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT45DB081D, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT45DB161D, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT45DB321C, 4224 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT45DB321D, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel AT45DB642D, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for EMST F25L008A, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B05, 64 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B05T, 64 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B10, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B10T, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B20, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B20T, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B40, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B40T, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B80, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B80T, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B16, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B16T, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B32, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B32T, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B64, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25B64T, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25F05, 64 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25F10, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25F20, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25F40, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25F80, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25F16, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25F32, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25Q40, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25Q80(A), 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25Q16, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25Q32(A/B), 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25Q64, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25Q128, 16384 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon EN25QH16, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L512, 64 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L1005, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L2005, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L4005, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L8005, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L1605, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L1635D, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L1635E, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L3205, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L3235D, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L6405, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix MX25L12805, 16384 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Numonyx M25PE10, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Numonyx M25PE20, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Numonyx M25PE40, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Numonyx M25PE80, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Numonyx M25PE16, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for PMC Pm25LV010, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for PMC Pm25LV016B, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for PMC Pm25LV020, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for PMC Pm25LV040, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for PMC Pm25LV080B, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for PMC Pm25LV512, 64 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Sanyo LF25FW203A, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Spansion S25FL004A, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Spansion S25FL008A, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Spansion S25FL016A, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Spansion S25FL032A, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Spansion S25FL064A, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST SST25LF040A, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST SST25LF080A, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST SST25VF010, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST SST25VF016B, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST SST25VF032B, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST SST25VF064C, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST SST25VF040, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST SST25VF040B, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST SST25VF040B.REMS, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST SST25VF080B, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P05-A, 64 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P05, 64 kB: nicintel_request_spibus: Timeout! Aborting. nicintel_request_spibus: Timeout! Aborting. nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P10-A, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P10, 128 kB: nicintel_request_spibus: Timeout! Aborting. nicintel_request_spibus: Timeout! Aborting. nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P20, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P40, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P40-old, 512 kB: nicintel_request_spibus: Timeout! Aborting. nicintel_request_spibus: Timeout! Aborting. nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P80, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P16, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P32, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P64, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25P128, 16384 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25PX16, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25PX32, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST M25PX64, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25Q80, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25Q16, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25Q32, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25Q64, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25Q128, 16384 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25X10, 128 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25X20, 256 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25X40, 512 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25X80, 1024 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25X16, 2048 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25X32, 4096 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Winbond W25X64, 8192 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for AMIC unknown AMIC SPI chip, 0 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Atmel unknown Atmel SPI chip, 0 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Eon unknown Eon SPI chip, 0 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Macronix unknown Macronix SPI chip, 0 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for PMC unknown PMC SPI chip, 0 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for SST unknown SST SPI chip, 0 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for ST unknown ST SPI chip, 0 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Generic unknown SPI chip (RDID), 0 kB: nicintel_request_spibus: Timeout! Aborting.
Probing for Generic unknown SPI chip (REMS), 0 kB: nicintel_request_spibus: Timeout! Aborting.
No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically. root@newinstall:~/flashrom#