3c905B dead after kernel upgrade
Stephan Herrmann <[email protected]> 27 Aug 2002 20:15:58 +0200
| Newsgroups | gmane.linux.drivers.vortex.user |
|---|---|
| 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