3c905B dead after kernel upgrade

Stephan Herrmann <[email protected]>
Newsgroups gmane.linux.drivers.vortex.devel
Message-ID <[email protected]>
Hi,

I have been using the 3c59x driver for years now, and last
uptime was 231 days without any problems. Now I decided to
upgrade my kernel from 2.4.0 to 2.4.19. The result:

No single packet gets delivered through the card, but
also no error message. Same computer, no hardware change. 
Booting the old kernel restores a functional system. 

More precisely, ping on my own address is ok, ping on
the gateway is dead.

Some diagnostics:

============================================================
dmesg:
Old version (this works):
------------------------------------------------------------
3c59x.c:LK1.1.11 13 Nov 2000  Donald Becker and others. http://www.scyld.com/network/vortex.html $Revision: 1.102.2.46 $
See Documentation/networking/vortex.txt
eth0: 3Com PCI 3c905B Cyclone 100baseTx at 0xd000, PCI: Found IRQ 11 for device 00:0c.0
 00:50:04:43:7a:b5, IRQ 11
  8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
  MII transceiver found at address 24, status 782d.
  Enabling bus-master transmits and whole-frame receives.
[drm] Initialized tdfx 1.0.0 20000928 on minor 63
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 8192 buckets, 64Kbytes
TCP: Hash tables configured (established 65536 bind 65536)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 176k freed
Adding Swap: 128516k swap-space (priority -1)
eth0: using NWAY autonegotiation
------------------------------------------------------------
new version (dead):
------------------------------------------------------------
3c59x.c:v0.99Xc 6/27/2002 Donald Becker, [email protected]
  http://www.scyld.com/network/vortex.html
eth0: 3Com 3c905B Cyclone 100baseTx at 0xd000,  00:50:04:43:7a:b5, IRQ 11
  Internal config register is 01800000, transceivers 0xa.
  8K buffer 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
  MII transceiver found at address 24, status 782d.
  Using bus-master transmits and whole-frame receives.
XFS mounting filesystem ide0(3,7)
eth0: Initial media type Autonegotiate half-duplex.
eth0: MII #24 status 782d, link partner capability 41e1, setting full-duplex.
eth0: vortex_open() irq 11 media status 8880.
============================================================
Using vortex-diag -aa I see this difference:
(is the interrupt enable value significant?)
------------------------------------------------------------
--- vortex.aa	Tue Aug 27 03:04:24 2002
+++ vortex.aa-new	Tue Aug 27 05:14:33 2002
@@ -1,22 +1,22 @@
 vortex-diag.c:v2.06 4/18/2002 Donald Becker ([email protected])
  http://www.scyld.com/diag/index.html
Index #1: Found a 3c905B Cyclone 100baseTx adapter at 0xd000.
 The Vortex chip may be active, so FIFO registers will not be read.
 To see all register values use the '-f' flag.
-Initial window 7, registers values by window:
+Initial window 4, registers values by window:
   Window 0: 0000 0000 0000 0000 f5f5 00bf 0000 0000.
   Window 1: FIFO FIFO 0000 0000 0000 0000 0000 2000.
   Window 2: 5000 4304 b57a 0000 0000 0000 000a 4000.
   Window 3: 0000 0180 05ea 0020 000a 0800 0800 6000.
   Window 4: 0000 0000 0000 0cf2 0001 8880 0000 8000.
-  Window 5: 1ffc 0000 0000 0600 0807 06ce 06c6 a000.
-  Window 6: 0000 0000 0000 fb01 0100 c2ff 01c2 c000.
+  Window 5: 1ffc 0000 0000 0600 0807 06de 06c6 a000.
+  Window 6: 0000 0000 0000 2301 0100 bb3c 0000 c000.
   Window 7: 0000 0000 0000 0000 0000 0000 0000 e000.
 Vortex chip registers at 0xd000
-  0xD010: **FIFO** 00000000 0000000a *STATUS*
-  0xD020: 00000020 00000000 00080000 00000004
-  0xD030: 00000000 2f38d0c8 2ffd3180 00080004
- Indication enable is 06c6, interrupt enable is 06ce.
+  0xD010: **FIFO** 00000000 00000002 *STATUS*
+  0xD020: 00000020 01864a20 00080000 00001404
+  0xD030: 00000000 d7ba2846 018649f0 00080004
+ Indication enable is 06c6, interrupt enable is 06de.
  No interrupt sources are pending.
  Transceiver/media interfaces available:  100baseTx 10baseT.
 Transceiver type in use:  Autonegotiate.
============================================================
No difference on vortex-diag -ee
------------------------------------------------------------
vortex-diag.c:v2.06 4/18/2002 Donald Becker ([email protected])
 http://www.scyld.com/diag/index.html
Index #1: Found a 3c905B Cyclone 100baseTx adapter at 0xd000.
EEPROM format 64x16, configuration table at offset 0:
    00: 0050 0443 7ab5 9055 c6a8 0036 4e54 6d50
  0x08: 2979 0000 0050 0443 7ab5 0010 0000 002a
  0x10: 32a2 0000 0000 0180 0000 0000 0000 10b7
  0x18: 9055 000a 0000 0000 0000 0000 0000 0000
  0x20: 00a9 0000 0000 0000 0000 0000 0000 0000
      ...

 The word-wide EEPROM checksum is 0x10fb.
Saved EEPROM settings of a 3Com Vortex/Boomerang:
 3Com Node Address 00:50:04:43:7A:B5 (used as a unique ID only).
 OEM Station address 00:50:04:43:7A:B5 (used as the ethernet address).
  Device ID 9055,  Manufacturer ID 6d50.
  Manufacture date (MM/DD/YYYY) 5/8/1999, division 6, product TN.
  No BIOS ROM is present.
 Options: negotiated duplex, link beat required.
  Vortex format checksum is incorrect (00c1 vs. 10b7).
  Cyclone format checksum is correct (0xa9 vs. 0xa9).
  Hurricane format checksum is correct (0xa9 vs. 0xa9).
============================================================
No difference for mii-diag
------------------------------------------------------------
Basic registers of MII PHY #24:  3000 782d 0040 6120 01e1 41e1 0003 0000.
 The autonegotiated capability is 01e0.
The autonegotiated media type is 100baseTx-FD.
 Basic mode control register 0x3000: Auto-negotiation enabled.
 You have link beat, and everything is working OK.
 Your link partner advertised 41e1: 100baseTx-FD 100baseTx 10baseT-FD 10baseT.
   End of basic transceiver information.
============================================================
Using debug=6, every second gives one entry of this kind:
------------------------------------------------------------
Aug 27 05:16:29 laus kernel: eth0: Media selection timer tick happened, Autonegotiate full duplex.
Aug 27 05:16:29 laus kernel: eth0: MII transceiver has status 782d.
Aug 27 05:16:29 laus kernel: eth0: Media selection timer finished, Autonegotiate full duplex.
============================================================

I'm not a network guru, but our network docs say, I'm connected
to our ATM backbone via a 10Base5-Segment. I've tried _many_
combinations of module parameters, to no good. Using 2.4.0 I
just used module defaults, and it worked (still works).

Has anything like this been reported before?
Do you need more information (which)?

Thanks for any help
Stephan

_______________________________________________
vortex mailing list
[email protected]
http://www.scyld.com/mailman/listinfo/vortex
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.