tulip driver problem

Ingo Ciechowski ciechowski@cis-computer.com
Sun Feb 27 09:57:55 2000


Hi folks,

I guess I'm about to get crazy upon this problem. If I only was 
somewhat deeper in driver development I'd love to figure it out by 
myself, but I know similar problems have been posted earlier and you 
sure know how to get it going.

I've got a "Gericom Hydro-Speed" no-name notebook with AMD K6-2 CPU 
running SuSE Linux 2.2.13 and meanwhile the latest experimental 
pcmcia package version 3.1.12 (tried with 3.1.10 and 3.1.11 as well).

This system shall work with an Abocom FE2000 10/100 fast ethernet 
cardbus network card, but it ends finally with " eth0: Tx hung, 11 
vs. 0. " messages as described below.

BTW: The card works well under Windows98 and I also have a 16bit 
Farallon/3Com 10BaseT card which works under linux.

I'd love to get the FE2000 32bit card to work.


In /etc/pcmcia/network.opts I inserted some local network information 
which works fine with the 3Com card:
..
     IPADDR="194.162.209.41"
     NETMASK="255.255.255.192"
     NETWORK="194.162.209.0"
     BROADCAST="194.162.209.63"
     # Gateway address for static routing
     GATEWAY="194.162.209.1"
..

And since I read that this helped someone else with a similar problem 
I commented out the line
exclude irq 3
in /etc/pcmcia/config.opts  -  also excluded other interrupts as 
well, but with no success either.


Here's what gets logged in /var/log/messages upon startup with no 
card inserted:

Feb 26 16:29:31 training2 kernel: Linux PCMCIA Card Services 3.1.12
Feb 26 16:29:31 training2 kernel:   kernel build: 2.2.13 #3 Sat Feb 
26 16:13:07 CET 2000
Feb 26 16:29:31 training2 kernel:   options:  [pci] [cardbus] [pnp]
Feb 26 16:29:31 training2 kernel: PCI routing table version 1.0 at 0xfdf70
Feb 26 16:29:31 training2 kernel:   unknown PCI interrupt router 1106:0686
Feb 26 16:29:31 training2 kernel: PnP: PNP BIOS installation 
structure at 0xc00f7580
Feb 26 16:29:31 training2 kernel: PnP: PNP BIOS version 1.0, entry at 
f0000:a0e5, dseg at 400
Feb 26 16:29:31 training2 kernel: Intel PCIC probe:
Feb 26 16:29:31 training2 kernel:   O2Micro OZ6832/OZ6833 
PCI-to-CardBus at slot 00:0a, mem 0x68000000
Feb 26 16:29:31 training2 kernel:     host opts [0]: [a 24] [b 21] [c 
20] [d 02] [mhpg 18] [fifo 00] [e 2a] [no
Feb 26 16:29:31 training2 kernel:     host opts [1]: [a 24] [b 21] [c 
20] [d 02] [mhpg 18] [fifo 00] [e 2a] [no
Feb 26 16:29:31 training2 kernel:     ISA irqs (default) = 3,9,10,11 
polling interval = 1000 ms
Feb 26 16:29:31 training2 kernel: cs: IO port probe 0x0c00-0x0cff: clean.
Feb 26 16:29:31 training2 kernel: cs: IO port probe 0x0800-0x08ff: clean.
Feb 26 16:29:31 training2 kernel: cs: IO port probe 0x0100-0x04ff: clean.
Feb 26 16:29:31 training2 kernel: cs: IO port probe 0x0a00-0x0aff: 
clean.


The following information was gathered about the Abocom FE2000 card :

/var/log/messages:
Feb 27 15:34:20 training2 kernel: i82365: pcic_interrupt(0)
Feb 27 15:34:20 training2 kernel: i82365: interrupt done
Feb 27 15:34:21 training2 kernel: i82365: pcic_interrupt(0)
Feb 27 15:34:21 training2 kernel: i82365: interrupt done
Feb 27 15:34:22 training2 kernel: i82365: pcic_interrupt(0)
Feb 27 15:34:22 training2 kernel: i82365: socket 1 event 0x80
Feb 27 15:34:22 training2 kernel: pcic_ioctl(1, 2, 0xc0239ed8)
Feb 27 15:34:22 training2 kernel: yenta: GetStatus(1) = 0x1c80
Feb 27 15:34:22 training2 kernel: i82365: interrupt done
Feb 27 15:34:22 training2 kernel: pcic_ioctl(1, 2, 0xc0239f24)
Feb 27 15:34:22 training2 kernel: yenta: GetStatus(1) = 0x1c80
Feb 27 15:34:22 training2 kernel: pcic_ioctl(1, 4, 0xc36db008)
Feb 27 15:34:22 training2 kernel: yenta: SetSocket(1, flags 0x000, 
Vcc 33, Vpp 33, io_irq 0, csc_mask 0x80)
Feb 27 15:34:23 training2 kernel: pcic_ioctl(1, 4, 0xc36db008)
Feb 27 15:34:23 training2 kernel: yenta: SetSocket(1, flags 0x240, 
Vcc 33, Vpp 33, io_irq 0, csc_mask 0x80)
Feb 27 15:34:23 training2 kernel: pcic_ioctl(1, 4, 0xc36db008)
Feb 27 15:34:23 training2 kernel: yenta: SetSocket(1, flags 0x200, 
Vcc 33, Vpp 33, io_irq 0, csc_mask 0x80)
Feb 27 15:34:23 training2 kernel: pcic_ioctl(1, 2, 0xc0239f24)
Feb 27 15:34:23 training2 kernel: yenta: GetStatus(1) = 0x19c0
Feb 27 15:34:23 training2 kernel: cs: cb_alloc(bus 35): vendor 
0x1011, device 0x0019
Feb 27 15:34:23 training2 kernel: ds: ds_event(0x000004, 0, 0xc1116b60)
Feb 27 15:34:23 training2 kernel: ds_poll(socket 0)
Feb 27 15:34:23 training2 kernel: ds_poll(socket 1)
Feb 27 15:34:23 training2 kernel: ds_read(socket 1)
Feb 27 15:34:23 training2 cardmgr[2792]: initializing socket 1
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0x8004640b, 0xbffff3d4)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x280, 2)
Feb 27 15:34:23 training2 kernel: cs: cb_setup_cis_mem(space 2)
Feb 27 15:34:23 training2 kernel:   phys 0x60000000-0x60000fff, virt 0xc4043000
Feb 27 15:34:23 training2 kernel: pcic_ioctl(1, 10, 0xc36db088)
Feb 27 15:34:23 training2 kernel: yenta: SetBridge(1, 0, 0x01, 
0x60000000-0x60000fff)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x285, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x287, 4)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x28b, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x28f, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x293, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x29a, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x2a1, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x2a5, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x2a7, 37)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x2cc, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x2d4, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x2dc, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x2e4, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x2ec, 2)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x2f8, 2)
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc0206404, 0xbffff3d4)
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc2946406, 0xbffff3d4)
Feb 27 15:34:23 training2 kernel: cs: read_cb_mem(2, 0x28d, 2)
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc2946407, 0xbffff3d4)
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc0206404, 0xbffff3d4)
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc2946406, 0xbffff3d4)
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc2946407, 0xbffff3d4)
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc0206404, 0xbffff3d4)
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc2946406, 0xbffff3d4)
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc2946407, 0xbffff3d4)
Feb 27 15:34:23 training2 cardmgr[2792]: socket 1: Linksys EtherFast 10/100
Feb 27 15:34:23 training2 cardmgr[2792]: executing: 'insmod 
/lib/modules/2.2.13/pcmcia/cb_enabler.o'
Feb 27 15:34:23 training2 kernel: cb_enabler.c 1.28 1999/12/09 
20:57:37 (David Hinds)
Feb 27 15:34:23 training2 cardmgr[2792]: executing: 'insmod 
/lib/modules/2.2.13/pcmcia/tulip_cb.o debug=9'
Feb 27 15:34:23 training2 kernel: register_driver('tulip_cb')
Feb 27 15:34:23 training2 kernel: ds: register_pccard_driver('tulip_cb')
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc050643c, 0x8064f58)
Feb 27 15:34:23 training2 kernel: bind_request(1, 'tulip_cb')
Feb 27 15:34:23 training2 kernel: cb_attach(0)
Feb 27 15:34:23 training2 kernel: cb_event(0x000004)
Feb 27 15:34:23 training2 kernel: cb_config(0xc1399c80)
Feb 27 15:34:23 training2 kernel: cs: cb_config(bus 35)
Feb 27 15:34:23 training2 kernel:   fn 0 bar 1: io 0x200-0x27f
Feb 27 15:34:23 training2 kernel:   fn 0 bar 2: mem 0x600c0000-0x600c03ff
Feb 27 15:34:23 training2 kernel:   fn 0 rom: mem 0x60080000-0x600bffff
Feb 27 15:34:23 training2 kernel: cs: cb_enable(bus 35)
Feb 27 15:34:23 training2 kernel: cs: cb_release_cis_mem()
Feb 27 15:34:23 training2 kernel: pcic_ioctl(1, 10, 0xc36db088)
Feb 27 15:34:23 training2 kernel: yenta: SetBridge(1, 0, 0x00, 
0x60000000-0x60000fff)
Feb 27 15:34:23 training2 kernel:   bridge io map 0 (flags 0x21): 0x200-0x27f
Feb 27 15:34:23 training2 kernel: pcic_ioctl(1, 10, 0xc0d3ba94)
Feb 27 15:34:23 training2 kernel: yenta: SetBridge(1, 0, 0x21, 0x0200-0x027f)
Feb 27 15:34:23 training2 kernel:   bridge mem map 0 (flags 0x1): 
0x60080000-0x600c0fff
Feb 27 15:34:23 training2 kernel: pcic_ioctl(1, 10, 0xc0d3ba94)
Feb 27 15:34:23 training2 kernel: yenta: SetBridge(1, 0, 0x01, 
0x60080000-0x600c0fff)
Feb 27 15:34:23 training2 kernel: pcic_ioctl(1, 4, 0xc36db008)
Feb 27 15:34:23 training2 kernel: yenta: SetSocket(1, flags 0x200, 
Vcc 33, Vpp 33, io_irq 9, csc_mask 0x80)
Feb 27 15:34:23 training2 kernel: tulip_reap()
Feb 27 15:34:23 training2 kernel: tulip_attach(bus 35, function 0)
Feb 27 15:34:23 training2 kernel: tulip.c:v0.91g-ppc 7/16/99 
becker@cesdis.gsfc.nasa.gov (modified by danilo@cs.uni-magdeburg.de 
for XIRCOM CBE, fixed by Doug Ledford)
Feb 27 15:34:23 training2 kernel: eth0: Digital DS21143 Tulip rev 65 
at 0x200, 00:E0:98:7A:6A:40, IRQ 9.
Feb 27 15:34:23 training2 kernel: eth0:  EEPROM default media type Autosense.
Feb 27 15:34:23 training2 kernel: eth0:  MII interface PHY 0, 
setup/reset sequences 0/0 long, capabilities e0 78.
Feb 27 15:34:23 training2 kernel: eth0:  Index #0 - Media MII (#11) 
described by a 21142 MII PHY (3) block.
Feb 27 15:34:23 training2 kernel: eth0:  Advertising 01e1 on PHY 0 (0).
Feb 27 15:34:23 training2 kernel: eth0: Using media type MII, CSR12 is c6.
Feb 27 15:34:23 training2 kernel: eth0:  MII transceiver #0 config 
3000 status 7809 advertising 01e1.
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc050643d, 0x8064f58)
Feb 27 15:34:23 training2 kernel: ds_ioctl(socket 1, 0xc050643e, 0x8064fb0)
Feb 27 15:34:23 training2 cardmgr[2792]: executing: './network start eth0'
Feb 27 15:34:23 training2 kernel: eth0: tulip_open() irq 9.
Feb 27 15:34:23 training2 kernel: eth0:  Advertising 01e1 on PHY 0 (0).
Feb 27 15:34:23 training2 kernel: eth0: Using media type MII, CSR12 is c6.
Feb 27 15:34:23 training2 kernel: eth0: Using MII transceiver 0, status 7809.
Feb 27 15:34:23 training2 kernel: eth0: Done tulip_open(), CSR0 
f8a08000, CSR5 f0320000 CSR6 b20e2002.
Feb 27 15:34:23 training2 kernel: i82365: pcic_interrupt(0)
Feb 27 15:34:23 training2 kernel: i82365: interrupt done
Feb 27 15:34:23 training2 kernel: ds_poll(socket 0)
Feb 27 15:34:23 training2 kernel: ds_poll(socket 1)
Feb 27 15:34:24 training2 kernel: i82365: pcic_interrupt(0)
Feb 27 15:34:24 training2 kernel: i82365: interrupt done
Feb 27 15:34:25 training2 kernel: i82365: pcic_interrupt(0)
Feb 27 15:34:25 training2 kernel: i82365: interrupt done
Feb 27 15:34:26 training2 kernel: eth0: 21143 negotiation status 000000c6, MII.
Feb 27 15:34:26 training2 kernel: eth0: MII status 7829, Link partner 
report 44a1.
Feb 27 15:34:26 training2 kernel: eth0: Tx hung, 11 vs. 0.
Feb 27 15:34:26 training2 kernel: eth0: Transmit timeout using MII device.
Feb 27 15:34:26 training2 kernel: i82365: pcic_interrupt(0)
Feb 27 15:34:26 training2 kernel: i82365: interrupt done

bash-2.03# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:E0:98:7A:6A:40
           inet addr:194.162.209.41  Bcast:194.162.209.63  Mask:255.255.255.192
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:1 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:100
           Interrupt:9 Base address:0x200 



(while trying to ping 194.162.209.1)
bash-2.03#  tcpdump -nlieth0
User level filter, protocol ALL, datagram packet socket
tcpdump: listening on eth0
17:03:47.209806 arp who-has 194.162.209.1 tell 194.162.209.41 
(0:e0:98:7a:6a:40)
17:03:48.201157 arp who-has 194.162.209.1 tell 194.162.209.41 
(0:e0:98:7a:6a:40)



bash-2.03# cardctl config
Socket 0:
   not configured
Socket 1:
   Vcc 3.3V  Vpp1 3.3V  Vpp2 3.3V
   interface type is "cardbus"
   irq 9 [exclusive] [level]
   function 0:
     io 0x0200-0x027f [32bit] 


bash-2.03# tulip-diag -a
tulip-diag.c:v1.03 5/20/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Chip Index #1: Found a DC21142 Tulip card at PCI bus 35, device 0 I/O 0x200.
Digital DS21142 Tulip chip registers at 0x200:
   f8a08000 ffffffff ffffffff 00ab6810 00ab6a10 f0000146 b20e0000 f3fe0000
   e0000000 ffffcbf8 ffffffff 00000000 000000c6 ffff0000 fff80000 8ff90000
   ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
   ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff
  The Rx process state is 'Stopped'.
  The Tx process state is 'Stopped'.
Transmit stopped, Receive stopped, half-duplex.
  The transmit threshold is 128.
  Port selection is MII, half-duplex.
EEPROM transceiver/media description for the DC21142 chip.

Leaf node at offset 128, default media type 0000 (10baseT).
  0 transceiver description blocks: 


bash-2.03# tulip-diag -e
tulip-diag.c:v1.03 5/20/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Chip Index #1: Found a DC21142 Tulip card at PCI bus 35, device 0 I/O 0x200.
EEPROM transceiver/media description for the DC21142 chip.

Leaf node at offset 128, default media type 0000 (10baseT).
  0 transceiver description blocks: 


bash-2.03# tulip-diag -m
tulip-diag.c:v1.03 5/20/98 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Chip Index #1: Found a DC21142 Tulip card at PCI bus 35, device 0 I/O 0x200.
EEPROM transceiver/media description for the DC21142 chip.

Leaf node at offset 128, default media type 0000 (10baseT).
  0 transceiver description blocks:
  MII PHY found at address 0, status 0x782d.
  MII PHY #0 transceiver registers:
    3000 782d 0040 6212 01e1 0021 0000 0000
    0000 0000 0000 0000 0000 0000 0000 0000
    1000 0000 0000 0000 0000 0000 0100 0000
    003c d006 0f00 ff00 002c 0000 0080 000b.
   Internal autonegotiation state is 'Autonegotiation disabled'. 



---


Of course I'm willing to add any additional useful information 
immediately if that'd help to solve my problem.


Thanks a lot for your patience,

Ingo
Ciechowski@cis-computer.com
-------------------------------------------------------------------
To unsubscribe send a message body containing "unsubscribe"
to linux-tulip-bug-request@beowulf.org