Bug 2496 - Forcedeth - no link during initialization
Summary: Forcedeth - no link during initialization
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Network (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Jeff Garzik
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-04-12 11:01 UTC by Jor
Modified: 2004-10-28 09:04 UTC (History)
0 users

See Also:
Kernel Version: 2.6.5
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
proposed patch (597 bytes, patch)
2004-06-19 06:39 UTC, Jor
Details | Diff
log file of 2.6.7 with the proposed patch (96.59 KB, text/plain)
2004-06-19 06:41 UTC, Jor
Details

Description Jor 2004-04-12 11:01:57 UTC
Distribution: Debian unstable
Hardware Environment: AMD XP 1800+, MSI K7N420 PRO(MS-6373), nForce 420-D/MCP-D
Software Environment: 'Vanilla' Linux kernel 2.6.5
Problem Description:
Loading the forcedeth module works, but after bringing up the device, it doesn't
work at all. Kernel log messages report "no link during initialization", see
full log below. The network device works in the 'other' OS, though after trying
the linux driver and rebooting to it also makes it fail in that OS. Only after a
full power down, then starting up does it work again in the other OS. But Linux
forcedeth driver never does.

Steps to reproduce:
modprobe forcedeth
ifup eth0
(ifup the debian command, manually using ifconfig results in the same)

Normal Kernel log output:
forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.23.
PCI: Setting latency timer of device 0000:00:04.0 to 64
eth0: forcedeth.c: subsystem: 01462:373c bound to 0000:00:04.0
eth0: no link during initialization.

With 'debug' enabled and recompiled:
Apr 12 18:48:25 hps kernel: forcedeth.c: Reverse Engineered nForce ethernet
driver. Version 0.25.
Apr 12 18:48:25 hps kernel: PCI: Setting latency timer of device 0000:00:04.0 to 64
Apr 12 18:48:25 hps kernel: 0000:00:04.0: resource 0 start e4081000 len 1024
flags 0x00000200.
Apr 12 18:48:25 hps kernel: 0000:00:04.0: MAC Address 00:10:dc:25:7a:ed
Apr 12 18:48:25 hps kernel: eth0: forcedeth.c: subsystem: 01462:373c bound to
0000:00:04.0
Apr 12 18:49:10 hps kernel: nv_open: begin
Apr 12 18:49:10 hps kernel: eth0: nv_txrx_reset
Apr 12 18:49:10 hps kernel: eth0: nv_alloc_rx: Packet  0 marked as Available
Apr 12 18:49:10 hps kernel: eth0: nv_alloc_rx: Packet  1 marked as Available
...lots more of these....
Apr 12 18:49:10 hps kernel: eth0: nv_alloc_rx: Packet  127 marked as Available
Apr 12 18:49:10 hps kernel: eth0: mii_rw read from reg 2 at PHY 1: 0x15.
Apr 12 18:49:10 hps kernel: eth0: mii_rw read from reg 3 at PHY 1: 0xf441.
Apr 12 18:49:10 hps kernel: eth0: open: Found PHY 0015:f441 at address 1.
Apr 12 18:49:10 hps kernel: eth0: mii_rw read from reg 4 at PHY 1: 0x1e1.
Apr 12 18:49:10 hps kernel: eth0: mii_rw read from reg 5 at PHY 1: 0x0.
Apr 12 18:49:10 hps kernel: eth0: nv_update_linkspeed: PHY advertises 0x01e1,
lpa 0x0000.
Apr 12 18:49:10 hps kernel: eth0: bad ability 0000 - falling back to 10HD.
Apr 12 18:49:10 hps kernel: eth0: nv_start_rx
Apr 12 18:49:10 hps kernel: eth0: nv_start_tx
Apr 12 18:49:10 hps kernel: eth0: mii_rw read from reg 1 at PHY 1: 0x0.
Apr 12 18:49:10 hps kernel: eth0: no link during initialization.
Apr 12 18:49:10 hps kernel: eth0: nv_stop_rx
Apr 12 18:49:10 hps kernel: eth0: nv_start_rx
....bunch of the same....
Apr 12 18:49:10 hps kernel: eth0: nv_nic_irq
Apr 12 18:49:10 hps kernel: eth0: irq: 00000020
Apr 12 18:49:10 hps kernel: eth0: irq: 00000000
Apr 12 18:49:10 hps kernel: eth0: nv_nic_irq complete
...these last one continue forever untill unloading the module again...

lspci -vvv:
00:00.0 Host bridge: nVidia Corporation nForce CPU bridge (rev b2)
	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
	Region 0: Memory at e0000000 (32-bit, prefetchable) [size=32M]
	Capabilities: [40] AGP version 2.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3-
Rate=x1,x2,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=x1
	Capabilities: [60] #08 [2001]

00:00.1 RAM memory: nVidia Corporation nForce 220/420 Memory Controller (rev b2)
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3730
	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-

00:00.2 RAM memory: nVidia Corporation nForce 220/420 Memory Controller (rev b2)
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3730
	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-

00:00.3 RAM memory: nVidia Corporation nForce 420 Memory Controller (DDR) (rev b2)
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3730
	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-

00:01.0 ISA bridge: nVidia Corporation nForce ISA Bridge (rev c3)
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3730
	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: [50] #08 [01e1]

00:01.1 SMBus: nVidia Corporation nForce PCI System Management (rev c1)
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3730
	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-
	Interrupt: pin A routed to IRQ 11
	Region 0: I/O ports at 5000 [size=16]
	Region 1: I/O ports at 5020 [size=16]
	Region 2: I/O ports at 6000 [size=32]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:02.0 USB Controller: nVidia Corporation nForce USB Controller (rev c3)
(prog-if 10 [OHCI])
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3730
	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 (750ns min, 250ns max)
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at e4082000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:03.0 USB Controller: nVidia Corporation nForce USB Controller (rev c3)
(prog-if 10 [OHCI])
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3730
	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 (750ns min, 250ns max)
	Interrupt: pin A routed to IRQ 12
	Region 0: Memory at e4080000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:04.0 Ethernet controller: nVidia Corporation nForce Ethernet Controller (rev c2)
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 373c
	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 (250ns min, 5000ns max)
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at e4081000 (32-bit, non-prefetchable) [size=1K]
	Region 1: I/O ports at d800 [size=8]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 PME-Enable+ DSel=0 DScale=0 PME-

00:05.0 Multimedia audio controller: nVidia Corporation: Unknown device 01b0
(rev c2)
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3730
	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 (250ns min, 3000ns max)
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at e4000000 (32-bit, non-prefetchable) [size=512K]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:06.0 Multimedia audio controller: nVidia Corporation nForce Audio (rev c2)
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3730
	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 (500ns min, 1250ns max)
	Interrupt: pin A routed to IRQ 12
	Region 0: I/O ports at dc00 [size=256]
	Region 1: I/O ports at e000 [size=128]
	Region 2: Memory at e4083000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:08.0 PCI bridge: nVidia Corporation nForce PCI-to-PCI bridge (rev c2)
(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=01, sec-latency=32
	I/O behind bridge: 0000c000-0000cfff
	Memory behind bridge: b0000000-cfffffff
	Prefetchable memory behind bridge: d0000000-d7ffffff
	BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-

00:09.0 IDE interface: nVidia Corporation nForce IDE (rev c3) (prog-if 8a
[Master SecP PriP])
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3730
	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 (750ns min, 250ns max)
	Region 4: I/O ports at e800 [size=16]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:1e.0 PCI bridge: nVidia Corporation nForce AGP to PCI Bridge (rev b2)
(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: 99
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=32
	I/O behind bridge: 0000f000-00000fff
	Memory behind bridge: e2000000-e3ffffff
	Prefetchable memory behind bridge: d8000000-dfffffff
	BridgeCtl: Parity- SERR+ NoISA+ VGA+ MAbort- >Reset- FastB2B-

01:01.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon
7000/VE] (prog-if 00 [VGA])
	Subsystem: PC Partner Limited: Unknown device 7c02
	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), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at d0000000 (32-bit, prefetchable) [size=128M]
	Region 1: I/O ports at c000 [size=256]
	Region 2: Memory at c1000000 (32-bit, non-prefetchable) [size=64K]
	Expansion ROM at <unassigned> [disabled] [size=128K]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:03.0 Network controller: Eicon Technology Corporation Diva Pro 2.0 S/T (rev 01)
	Subsystem: Eicon Technology Corporation Diva Pro 2.0 S/T
	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-
	Interrupt: pin A routed to IRQ 12
	Region 0: Memory at c1010000 (32-bit, non-prefetchable) [size=128]
	Region 1: I/O ports at c400 [size=128]
	Region 2: I/O ports at c800 [size=32]

02:00.0 VGA compatible controller: nVidia Corporation NVCrush11 [GeForce2 MX
Integrated Graphics] (rev b1) (prog-if 00 [VGA])
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 3738
	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 (1250ns min, 250ns max)
	Interrupt: pin A routed to IRQ 5
	Region 0: Memory at e2000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at d8000000 (32-bit, prefetchable) [size=128M]
	Expansion ROM at <unassigned> [disabled] [size=64K]
	Capabilities: [60] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [44] AGP version 2.0
		Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA- ITACoh- GART64- HTrans- 64bit- FW+ AGP3-
Rate=x1,x4
		Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>
Comment 1 Carl-Daniel Hailfinger 2004-04-16 17:31:14 UTC
Possible patch for that link initalization problem is currently being tested.
Comment 2 Jor 2004-06-19 06:38:19 UTC
Tested the proposed patch against 2.6.5, but doesn't help. Still the same
symptons. Also now tried 2.6.7 and 2.6.7 with the patch , same results.
I'll attach the full kern.log of 2.6.7 with patch.
Comment 3 Jor 2004-06-19 06:39:29 UTC
Created attachment 3200 [details]
proposed patch

proposed patch, refreshed to apply to 2.6.7
Comment 4 Jor 2004-06-19 06:41:04 UTC
Created attachment 3201 [details]
log file of 2.6.7 with the proposed patch
Comment 5 Daniel Drake 2004-10-28 08:58:11 UTC
This can be closed... the workaround is present in 2.6.9

Note You need to log in before you can comment on or make changes to this bug.