Hi Iain,
I would like to debug this issue as well.
On 29.09.2010 21:27, Idwer Vollering wrote:
---------- Forwarded message ---------- From: Iain Paton selsinork@gmail.com Date: 2010/9/29
So I have a couple of other intel nics that I've been trying with your flashrom driver, if you're interested in the results...
root@p7fe-64:~/flashrom# ./flashrom -p nicintel_spi -VV flashrom v0.9.2-r1182 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:01.0). Requested BAR is MEM, 32bit, not prefetchable [...] Probing for AMD Am29LV081B, 1024 KB: skipped. Host bus type SPI and chip bus type Parallel are incompatible. Probing for AMIC A25L05PT, 64 KB:
and it hangs there seemingly indefinately, or at least 10mins which is as long as I've been bothered to wait..
That indicates the bitbanging code is waiting too long (forever) to get access to the device. nicintel_spi.c:nicintel_request_spibus() will simply wait forever for FL_GNT to be set. We may want to revisit that. Besides that, it is possible that the nicintel driver needs some tweaks to work with that card.
The card has an Atmel 25F1024N which I gather from the flashrom source probably isn't supported as it may not have a device id, but the hang was unexpected.
The device is already listed in flashchips.h, but we need to hook it up to flashchips.c which requires writing a new probe function. Please ping me once the 0.9.3 release is out so I can take care of this.
root@p7fe-64:~/flashrom# ./flashrom -p nicintel_spi:pci=01:00.0 -VV flashrom v0.9.2-r1182 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 82571EB Gigabit Ethernet Controller" (8086:105e, BDF 01:00.0). Requested BAR is MEM, 32bit, not prefetchable [...] Probing for AMIC A25L05PT, 64 KB: probe_spi_rdid_generic: id1 0xff, id2 0xffff [...] Probing for SST SST25VF040.REMS, 512 KB: probe_spi_rems: id1 0xff, id2 0xff [...] Probing for SST SST25LF040A.RES, 512 KB: probe_spi_res2: id1 0xff, id2 0xff [...] Probing for ST M25P05.RES, 64 KB: probe_spi_res1: id 0xff [...] No EEPROM/flash device found.
So this is a dual port card, not sure which function the spi device would show up under, but the same result on both. It has an Atmel 25F1024AN, so again possibly not something that flashrom can handle anyway, but at least there's no hang this time.. Since this is a newish card I'll have a look and see if I can find one with some different SPI device, would be nice to know it works but is just the 25F1024 that's the problem here.
This log seems to indicate that adding support for the Atmel 25F1024AN would make the whole thing work fine. However, if the dual port device appears as two PCI devices, we will have to add a check (if possible) which refuses to work with the PCI device that does not have access to the flash chip.
If there's more information I can supply about either of these, or anything you'd like me to test, not a problem, just let me know.
We need a hangfix for the 82540EM, and a flashchips.c entry for the Atmel 25F1024AN. That should make flashrom work on all of your Gigabit Intel NICs.
Regards, Carl-Daniel