[flashrom] flashrom -p gfxnvidia detect my atheros ath9k wifi card

Denis 'GNUtoo' Carikli GNUtoo at no-log.org
Thu Jun 28 20:28:50 CEST 2012


On Wed, 2012-06-27 at 09:05 +0200, Carl-Daniel Hailfinger wrote:
> Hi Denis,
> 
> Am 26.06.2012 01:53 schrieb Denis 'GNUtoo' Carikli:
> > # ./flashrom -p gfxnvidia -VVV
> > flashrom v0.9.5.2-r1546 on Linux 3.0.0-19-generic-pae (i686)
> > flashrom was built with libpci 3.1.7, GCC 4.6.1, little endian
> > Command line (3 args): ./flashrom -p gfxnvidia -VVV
> > Calibrating delay loop... OK.
> > Initializing gfxnvidia programmer
> > Found "NVIDIA RIVA TNT2 Ultra" (168c:0029, BDF 03:06.0).
> > [...]
> 
> This should not have happened. Apparently the PCI code (either in
> flashrom, or libpci) ignores the vendor, and only matches the device in
> this case.
> 
> Ah yes. pcidev.c:pcidev_validate() only checks device_id match, not
> vendor_id match. Ouch!
> 
> Thanks for reporting this bug!
> 
> 
> > # lspci -n
> > [...]
> > 03:06.0 0280: 168c:0029 (rev 01)
> >
> > # lspci 
> > [...]
> > 03:06.0 Network controller: Atheros Communications Inc. AR922X Wireless
> > Network Adapter (rev 01)
> 
> Can you confirm that no Nvidia card is in that machine? I want to make
> 100% sure that there are not two PCI cards fighting with each other.
I removed the nvidia card that was present(but not detected by coreboot)
and I still get the same:
# ./flashrom -p gfxnvidia -V
flashrom v0.9.5.2-r1546 on Linux 3.0.0-19-generic-pae (i686)
flashrom is free software, get the source code at
http://www.flashrom.org

flashrom was built with libpci 3.1.7, GCC 4.6.1, little endian
Command line (3 args): ./flashrom -p gfxnvidia -V
Calibrating delay loop... OS timer resolution is 1 usecs, 1502M loops
per second, 10 myus = 11 us, 100 myus = 100 us, 1000 myus = 1002 us,
10000 myus = 9995 us, 4 myus = 4 us, OK.
Initializing gfxnvidia programmer
Found "NVIDIA RIVA TNT2 Ultra" (168c:0029, BDF 03:06.0).
Requested BAR is MEM, 32bit, not prefetchable
===
This PCI device is UNTESTED. Please report the 'flashrom -p xxxx'
output 
to flashrom at flashrom.org if it works for you. Please add the name of
your
PCI device to the subject. Thank you for your help!
===
Detected NVIDIA I/O base address: 0xd8600000.
The following protocols are supported: Parallel.
Probing for AMD Am29F010A/B, 128 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29F002(N)BB, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29F002(N)BT, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29F016D, 2048 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29F040B, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29F080B, 1024 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV001BB, 128 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV001BT, 128 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV002BB, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV002BT, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV004BB, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV004BT, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV008BB, 1024 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV008BT, 1024 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV040B, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV081B, 1024 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMIC A29002B, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMIC A29002T, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMIC A29040B, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Atmel AT29C512, 64 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Atmel AT29C010A, 128 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Atmel AT29C020, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Atmel AT29C040A, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Atmel AT49BV512, 64 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Atmel AT49F002(N), 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Atmel AT49F002(N)T, 256 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Atmel AT49F020, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Atmel AT49F040, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Catalyst CAT28F512, 64 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Bright BM29F040, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for EMST F49B002UA, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Eon EN29F010, 128 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Eon EN29F002(A)(N)B, 256 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Eon EN29F002(A)(N)T, 256 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Eon EN29LV640B, 8192 kB: probe_en29lv640b: id1 0xffff, id2
0x00ff
Probing for Fujitsu MBM29F004BC, 512 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Fujitsu MBM29F004TC, 512 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Fujitsu MBM29F400BC, 512 kB: probe_m29f400bt: id1 0xff, id2
0xff
Probing for Fujitsu MBM29F400TC, 512 kB: probe_m29f400bt: id1 0xff, id2
0xff
Probing for Hyundai HY29F002T, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Hyundai HY29F002B, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Hyundai HY29F040A, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Intel 28F001BN/BX-B, 128 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Intel 28F001BN/BX-T, 128 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Intel 28F002BC/BL/BV/BX-T, 256 kB: probe_82802ab: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Intel 28F008S3/S5/SC, 512 kB: probe_82802ab: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Intel 28F004B5/BE/BV/BX-B, 512 kB: probe_82802ab: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Intel 28F004B5/BE/BV/BX-T, 512 kB: probe_82802ab: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Intel 28F400BV/BX/CE/CV-B, 512 kB: probe_82802ab: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Intel 28F400BV/BX/CE/CV-T, 512 kB: probe_82802ab: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Macronix MX29F001B, 128 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Macronix MX29F001T, 128 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Macronix MX29F002(N)B, 256 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Macronix MX29F002(N)T, 256 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Macronix MX29F040, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Macronix MX29LV040, 512 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for MoselVitelic V29C51000B, 64 kB: probe_jedec_common: id1
0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2
is normal flash content
Probing for MoselVitelic V29C51000T, 64 kB: probe_jedec_common: id1
0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2
is normal flash content
Probing for MoselVitelic V29C51400B, 512 kB: probe_jedec_common: id1
0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2
is normal flash content
Probing for MoselVitelic V29C51400T, 512 kB: probe_jedec_common: id1
0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2
is normal flash content
Probing for MoselVitelic V29LC51000, 64 kB: probe_jedec_common: id1
0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2
is normal flash content
Probing for MoselVitelic V29LC51001, 128 kB: probe_jedec_common: id1
0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2
is normal flash content
Probing for MoselVitelic V29LC51002, 256 kB: probe_jedec_common: id1
0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2
is normal flash content
Probing for PMC Pm29F002T, 256 kB: Chip lacks correct probe timing
information, using default 10mS/40uS. probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for PMC Pm29F002B, 256 kB: Chip lacks correct probe timing
information, using default 10mS/40uS. probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for PMC Pm39LV010, 128 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for PMC Pm39LV020, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for PMC Pm39LV040, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for PMC Pm39LV512, 64 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Sharp LH28F008BJT-BTLZ1, 1024 kB: probe_82802ab: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for SST SST28SF040A, 512 kB: probe_82802ab: id1 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for SST SST29EE010, 128 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST29LE010, 128 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST29EE020A, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST29LE020, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST39SF512, 64 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST39SF010A, 128 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST39SF020A, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST39SF040, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST39VF512, 64 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST39VF010, 128 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST39VF020, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST39VF040, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for SST SST39VF080, 1024 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for ST M29F002B, 256 kB: probe_jedec_common: id1 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M29F002T/NT, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for ST M29F040B, 512 kB: probe_jedec_common: id1 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M29F400BB, 512 kB: probe_m29f400bt: id1 0xff, id2 0xff
Probing for ST M29F400BT, 512 kB: probe_m29f400bt: id1 0xff, id2 0xff
Probing for ST M29W010B, 128 kB: probe_jedec_common: id1 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M29W040B, 512 kB: probe_jedec_common: id1 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M29W512B, 64 kB: probe_jedec_common: id1 0xff, id2 0xff,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for SyncMOS/MoselVitelic {F,S,V}29C51001B, 128 kB:
probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is
normal flash content, id2 is normal flash content
Probing for SyncMOS/MoselVitelic {F,S,V}29C51001T, 128 kB:
probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is
normal flash content, id2 is normal flash content
Probing for SyncMOS/MoselVitelic {F,S,V}29C51002B, 256 kB:
probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is
normal flash content, id2 is normal flash content
Probing for SyncMOS/MoselVitelic {F,S,V}29C51002T, 256 kB:
probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is
normal flash content, id2 is normal flash content
Probing for SyncMOS/MoselVitelic {F,S,V}29C51004B, 512 kB:
probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is
normal flash content, id2 is normal flash content
Probing for SyncMOS/MoselVitelic {F,S,V}29C51004T, 512 kB:
probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is
normal flash content, id2 is normal flash content
Probing for SyncMOS/MoselVitelic {S,V}29C31004B, 512 kB:
probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is
normal flash content, id2 is normal flash content
Probing for SyncMOS/MoselVitelic {S,V}29C31004T, 512 kB:
probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is
normal flash content, id2 is normal flash content
Probing for TI TMS29F002RB, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for TI TMS29F002RT, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Winbond W29C010(M)/W29C011A/W29EE011/W29EE012-old, 128 kB:
Old Winbond W29* probe method disabled because the probing sequence puts
the AMIC A49LF040A in a funky state. Use 'flashrom -c
W29C010(M)/W29C011A/W29EE011/W29EE012-old' if you have a board with such
a chip.
Probing for Winbond W29C010(M)/W29C011A/W29EE011/W29EE012, 128 kB:
probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is
normal flash content, id2 is normal flash content
Probing for Winbond W29C020(C)/W29C022, 256 kB: probe_jedec_common: id1
0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2
is normal flash content
Probing for Winbond W29C040/P, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Winbond W39L040, 512 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Winbond W49F002U/N, 256 kB: probe_jedec_common: id1 0xff,
id2 0xff, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Winbond W49F020, 256 kB: probe_jedec_common: id1 0xff, id2
0xff, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found
automatically.
Restoring PCI config space for 03:06:0 reg 0x50

Denis.






More information about the flashrom mailing list