[eepro100-bug] init failure with Intel PRO/100 S Dual Port Server Adapter (82557)
Ben Low
ben@titr.uow.edu.au
Mon Apr 22 06:31:01 2002
The hardware + software:
- onboard Intel 82820 ("PRO/100 VE") (PCI ID 8086:2449)
- dual 82557 "Intel PRO/100 S Dual Port Server Adapter" (PCI ID 8086:1229)
- eepro100 driver in virgin 2.4.18 kernel
- lspci shows all three i/fs sharing IRQ 11, with separate memory ranges and
i/o ports (ref. lspci output below).
The problem (full output below):
# modprobe eepro100
eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin <saw@saw.sw.com.sg> and others
PCI: Found IRQ 11 for device 01:08.0
eth0: Intel Corp. 82820 (ICH2) Chipset Ethernet Controller, 00:03:47:EB:FA:6B, IRQ 11.
...
eth1: Invalid EEPROM checksum 0xff00, check settings before activating this device!
eth1: OEM i82557/i82558 10/100 Ethernet, FF:FF:FF:FF:FF:FF, IRQ 11.
...
eth2: Invalid EEPROM checksum 0xff00, check settings before activating this device!
eth2: OEM i82557/i82558 10/100 Ethernet, FF:FF:FF:FF:FF:FF, IRQ 11.
...
Ignoring the sage advice of the driver, activating the device (ifconfig) "works"
in that packets are sent + received, but with a broadcast MAC address (tested via
crossover to another box running tcpdump -e).
I see a similar-looking (same?) problem was noted about a year ago
http://www.tux.org/hypermail/linux-eepro100-bug/2001-Apr/0000.html
The Intel e100 driver works fine, though it'd be nice to not have to muck around with a
separate driver, plus the eepro100-based etherboot ROM fails in the same fashion as
above.
I'm happy to help fix this, as I can :-).
--
Ben Low
"Black holes are where God divided by zero." - Steven Wright
# modprobe eepro100 (eth2 the same)
...
eth1: Invalid EEPROM checksum 0xff00, check settings before activating this device!
eth1: OEM i82557/i82558 10/100 Ethernet, FF:FF:FF:FF:FF:FF, IRQ 11.
Board assembly ffffff-255, Physical connectors present: RJ45 BNC AUI MII
Primary interface chip unknown-15 PHY #31.
Secondary interface chip i82555.
General self-test: passed.
Serial sub-system self-test: passed.
Internal registers self-test: passed.
ROM checksum self-test: passed (0xb874c1d3).
...
# lspci -vv (related? entries only)
00:00.0 Host bridge: Intel Corp. 82815 815 Chipset Host Bridge and Memory
Controller Hub (rev 02) Subsystem: Intel Corp.: Unknown device 4532
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort+ >SERR- <PERR-
Latency: 0
Capabilities: [88] #09 [f104]
...
00:1e.0 PCI bridge: Intel Corp. 82820 820 (Camino 2) Chipset PCI (rev
11) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=02, sec-latency=32
I/O behind bridge: 0000c000-0000dfff
Memory behind bridge: ff700000-ff8fffff
Prefetchable memory behind bridge: f6900000-f6afffff
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
...
01:08.0 Ethernet controller: Intel Corp. 82820 (ICH2) Chipset Ethernet
Controller (rev 03)
Subsystem: Intel Corp.: Unknown device 3013
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (2000ns min, 14000ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: Memory at ff8ff000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at df00 [size=64]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable+ DSel=0 DScale=2 PME-
01:09.0 PCI bridge: Digital Equipment Corporation DECchip 21154 (rev
05) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Bus: primary=01, secondary=02, subordinate=02, sec-latency=32
I/O behind bridge: 0000c000-0000cfff
Memory behind bridge: ff700000-ff7fffff
Prefetchable memory behind
bridge: 00000000f6900000-00000000f6900000
BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+
02:04.0 Ethernet controller: Intel Corp. 82557 [Ethernet Pro 100] (rev 0d)
Subsystem: Intel Corp.: Unknown device 1015
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (2000ns min, 14000ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: Memory at ff7fe000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at ce80 [size=64]
Region 2: Memory at ff7a0000 (32-bit,
non-prefetchable) [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable+ DSel=0 DScale=2 PME-
02:05.0 Ethernet controller: Intel Corp. 82557 [Ethernet Pro 100] (rev 0d)
Subsystem: Intel Corp.: Unknown device 1015
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop-
ParErr- Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (2000ns min, 14000ns max), cache line size 08
Interrupt: pin A routed to IRQ 11
Region 0: Memory at ff7ff000 (32-bit, non-prefetchable) [size=4K]
Region 1: I/O ports at cf00 [size=64]
Region 2: Memory at ff7c0000 (32-bit,
non-prefetchable) [size=128K]
Capabilities: [dc] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable+ DSel=0 DScale=2 PME-