The tg3 driver is not always detecting link up when I plug the cable into my 3Com 3C996SX fiber gigabit ethernet card. Here is the sequence of events: (cable unplugged) ifconfig eth0 up (plug in cable) ping <other machine's IP address> (no response) ifconfig eth0 down ifconfig eth0 up ping <other machine's IP address> (gets ping response) (unplug cable) (plug in cable) ping <other machine's IP address> (gets ping response) If the cable was plugged in when the interface was brought up with ifconfig, then the driver detects link up/down status just fine. If the cable was not plugged in when the interface was brought up with ifconfig, the driver will never detect if the cable is plugged in until the interface is brought down and up again. The problem exists in both Linux 2.4.20 and Linux 2.4.21-pre7. Under Linux 2.4.21-pre7, I get the following messages when I bring the interface up with ifconfig and the cable is plugged in: tg3: eth0: Link is up at 1000 Mbps, full duplex. tg3: eth0: Flow control is on for TX and on for RX. When I unplug the cable, I get the following messages: tg3: eth0: Link is down. When I plug the cable back in, I get the following messages: tg3: eth0: Link is up at 1000 Mbps, full duplex. tg3: eth0: Flow control is on for TX and on for RX. When I bring the interface up without the cable plugged in, I get the following message: tg3: eth0: Link is down. And when I plug the cable in again, there is no message. Additional system information is attached below. Thanks for any help. Anthony J. Battersby Cybernetics ----------------------------- The fiber 3Com card has the following written on a label on the card: EA=000476DFD17A 3C996-SX 03-0283-000 A The Broadcom chip has the following written on it: BCM5701TKHB TS0141 P13 58420 C ----------------------------- cat /proc/version Linux version 2.4.21-pre7 (tony@carnivore.engr.ccg.com) (gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-112)) #1 SMP Tue Apr 15 11:59:25 EDT 2003 ----------------------------- lspci -vvv (Sorry, no PCI name database. The 3Com card starts with the line "00:0b.0 Class 0200: 14e4:1645 (rev 15)".) 00:00.0 Class 0600: 1039:0650 (rev 01) Subsystem: 1039:0650 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 Region 0: Memory at d0000000 (32-bit, non-prefetchable) [size=128M] Capabilities: [c0] AGP version 2.0 Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2 Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none> 00:01.0 Class 0604: 1039:0001 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: 64 Bus: primary=00, secondary=01, subordinate=01, sec-latency=32 I/O behind bridge: 0000d000-0000dfff Memory behind bridge: e1000000-e10fffff Prefetchable memory behind bridge: d8000000-dfffffff BridgeCtl: Parity- SERR+ NoISA+ VGA+ MAbort- >Reset- FastB2B- 00:02.0 Class 0601: 1039:0008 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: 0 00:02.2 Class 0c03: 1039:7001 (rev 07) (prog-if 10) Subsystem: 1039:7001 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 (20000ns max), cache line size 08 Interrupt: pin D routed to IRQ 7 Region 0: Memory at e1114000 (32-bit, non-prefetchable) [size=4K] 00:02.3 Class 0c03: 1039:7001 (rev 07) (prog-if 10) Subsystem: 1039:7001 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 (20000ns max), cache line size 08 Interrupt: pin A routed to IRQ 5 Region 0: Memory at e1113000 (32-bit, non-prefetchable) [size=4K] 00:02.5 Class 0101: 1039:5513 (rev d0) (prog-if 80 [Master]) Subsystem: 1039:5513 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: 128 Region 4: I/O ports at 4000 [size=16] 00:0b.0 Class 0200: 14e4:1645 (rev 15) Subsystem: 10b7:1004 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 (16000ns min), cache line size 08 Interrupt: pin A routed to IRQ 10 Region 0: Memory at e1100000 (64-bit, non-prefetchable) [size=64K] Capabilities: [40] PCI-X non-bridge device. Command: DPERE- ERO- RBC=0 OST=0 Status: Bus=0 Dev=0 Func=0 64bit- 133MHz- SCD- USC-, DC=simple, DMMRBC=0, DMOST=0, DMCRS=0, RSCEM- Capabilities: [48] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=1 PME- Capabilities: [50] Vital Product Data Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable- Address: 6ff97fd9473b6ff8 Data: a82f 00:0c.0 Class 0100: 1000:0012 (rev 01) Subsystem: 1000:1020 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: 72 (4250ns min, 16000ns max), cache line size 08 Interrupt: pin A routed to IRQ 11 Region 0: I/O ports at e000 [size=256] Region 1: Memory at e1112000 (32-bit, non-prefetchable) [size=1K] Region 2: Memory at e1110000 (32-bit, non-prefetchable) [size=8K] Expansion ROM at <unassigned> [disabled] [size=128K] Capabilities: [40] 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:0f.0 Class 0200: 10ec:8139 (rev 10) Subsystem: 10ec:8139 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 (8000ns min, 16000ns max) Interrupt: pin A routed to IRQ 10 Region 0: I/O ports at e400 [size=256] Region 1: Memory at e1115000 (32-bit, non-prefetchable) [size=256] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1+,D2+,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME- 00:10.0 Class 0c00: 11c1:5811 (rev 04) (prog-if 10) Subsystem: 1297:f024 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 (3000ns min, 6000ns max), cache line size 08 Interrupt: pin A routed to IRQ 11 Region 0: Memory at e1116000 (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- 01:00.0 Class 0300: 1039:6325 Subsystem: 1039:6325 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 BIST result: 00 Region 0: Memory at d8000000 (32-bit, prefetchable) [size=128M] Region 1: Memory at e1000000 (32-bit, non-prefetchable) [size=128K] Region 2: I/O ports at d000 [size=128] Capabilities: [40] 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- Capabilities: [50] AGP version 2.0 Status: RQ=15 SBA+ 64bit- FW- Rate=x1,x2 Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none> ----------------------------- cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 1 model name : Intel(R) Pentium(R) 4 CPU 1.60GHz stepping : 2 cpu MHz : 1594.108 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm bogomips : 3178.49 ----------------------------- - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html