Comment 7 for bug 1513477

Revision history for this message
TJ (tj) wrote : Re: Ralink RT2800pci doesnt work by default

The problem here is that the PCI bus probe is returning a corrupted PCI Vendor ID. Querying the PCI config registers after the system has started shows the correct Vendor ID, but the kernel seems to 'lose' the 2nd nibble of byte 0, turning 0x18 into 0x10:

This is from the problem PC booted with a 64-bit kernel:

00:0c.0 Network controller [0280]: IBM Device [1014:0601]
 Subsystem: Linksys Device [1737:0067]
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR+ INTx-
 Latency: 32 (500ns min, 1000ns max), Cache Line Size: 32 bytes
 Interrupt: pin A routed to IRQ 5
 Region 0: Memory at eb000000 (32-bit, non-prefetchable) [size=64K]
 Capabilities: [40] Power Management version 3
  Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
  Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00: 14 18 01 06 07 00 10 84 00 00 80 02 08 20 00 00
10: 00 00 00 eb 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 01 80 00 00 37 17 67 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 05 01 02 04
40: 01 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

And this is from a different PC with the same device, on a 32-bit kernel:

01:09.0 Network controller [0280]: Ralink corp. RT2800 802.11n PCI [1814:0601]
 Subsystem: Linksys Device [1737:0067]
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
 Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 66 (500ns min, 1000ns max), Cache Line Size: 32 bytes
 Interrupt: pin A routed to IRQ 11
 Region 0: Memory at 40100000 (32-bit, non-prefetchable) [size=64K]
 Capabilities: [40] Power Management version 3
  Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
  Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
 Kernel driver in use: rt2800pci
 Kernel modules: rt2800pci
00: 14 18 01 06 17 01 10 04 00 00 80 02 08 42 00 00
10: 00 00 10 40 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 01 80 00 00 37 17 67 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 0b 01 02 04
40: 01 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00