Subject: Problem with pcmcia ep in thinkpad 560
To: None <port-i386@NetBSD.ORG>
From: David Brownlee <abs@NetBSD.ORG>
List: port-i386
Date: 02/01/1998 05:40:33
	I have a 3Com 3C589B that works fine in my old '486 laptop, but
	fails in my 'new' Thinkpad 560.

	Specifically the check to see if the card upshifts packet size
	fails with:

ep0: wrote 0x7ff to TX_AVAIL_THRESH, read back 0xfffc. Interface disabled

	If I simplistly hack the check to accept the return value (either
	as a 0 or 2 shift) the card will configure but a ping to another
	host looks like a 'Broadcast sap 08' to the pinged host (which
	unsurprisingly does no reply).

	The relevant lines from the '486 boot messages and pretty much the
	entire set from a Thinkpad kernel with PCMCIA_VERBOSE are included
	below.

	Does anyone have any ideas as to where I should go on this?

	I wouldn't mind as much but the screen is dead on the '486 so I
	was rather hoping to start using the Thinkpad :)

	Many thanks

'486
^^^^
ep0: wrote 0x7ff to TX_AVAIL_THRESH, read back 0xfffc. Interface disabled
pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xd3fff: using irq 3
pcic0: controller 0 (Cirrus PD6710) has sockets A and B
pcmcia0 at pcic0 controller 0 socket 0
pcmcia1 at pcic0 controller 0 socket 1
ep0 at pcmcia0 function 0 port 0x330-0x33f: 3Com 3C589 Ethernet
ep0: MAC address 00:20:af:c7:48:f7
ep0: 8KB byte-wide FIFO, 5:3 Rx:Tx split, utp/aui/bnc (default bnc)
pcmcia0: card irq 5

Thinkpad
^^^^^^^^
NetBSD 1.3 (_PCMCIA_VERBOSE_) #2: Sun Feb  1 04:49:11 PST 1998
cpu0: family 5 model 2 step c
cpu0: Intel Pentium (P54C) (586-class)
real mem  = 41545728
avail mem = 39145472
using 532 buffers containing 2179072 bytes of memory
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82437MX Mobile System Controller (MTSC) (rev. 0x02)
pcib0 at pci0 dev 1 function 0
pcib0: Intel 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX) (rev. 0x03)
Trident Microsystems TGUI 9660 (VGA display, revision 0xd3) at pci0 dev 3 function 0 not configured
Cirrus Logic CL-GD6729 (PCMCIA bridge, revision 0xe2) at pci0 dev 19 function 0 not configured
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
lpt0 at isa0 port 0x378-0x37b irq 7
wdc0 at isa0 port 0x1f0-0x1f7 irq 14
wd0 at wdc0 drive 0: <IBM-DTNA-22110>
wd0: 2016MB, 4096 cyl, 16 head, 63 sec, 512 bytes/sec
wd0: using 16-sector 16-bit pio transfers, lba addressing
sb0 at isa0 port 0x220-0x237 irq 7 drq 1: dsp v3.01
audio0 at sb0
npx0 at isa0 port 0xf0-0xff: using exception 16
vt0 at isa0 port 0x60-0x6f irq 1
vt0: unknown trident, 80 col, color, 8 scr, mf2-kbd, [R3.32]
pms0 at vt0 irq 12
vt0: console
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xd3fff: using irq 3
pcic0: controller 0 (Cirrus PD672X) has sockets A and B
pcic0: controller 1 (Intel 82365SL Revision 1) has sockets A and B
pcmcia0 at pcic0 controller 0 socket 0
pcmcia0: CIS version 2.0 or 2.01
pcmcia0: CIS info: 3Com Corporation, 3C589, TP/BNC LAN Card Ver. 2a, 000002
pcmcia0: Manufacturer code 0x101, product 0x589
pcmcia0: function 0: network adapter, ccr addr 10000 mask 3
pcmcia0: function 0, config table entry 1: I/O card; irq mask ffff; iomask 4, iospace 0-f; rdybsy_active wp_active bvd_active io8 io16 irqlevel
pcmcia0: function 0, config table entry 3: I/O card; irq mask ffff; iomask 4, iospace 0-f; rdybsy_active wp_active bvd_active io8 io16 irqlevel
ep0 at pcmcia0 function 0 port 0x330-0x33f: 3Com 3C589 Ethernet
ep0: MAC address 00:20:af:c7:48:f7
ep0: wrote 0x7ff to TX_AVAIL_THRESH, read back 0xfffc. Interface disabled
pcmcia1 at pcic0 controller 0 socket 1
pcmcia2 at pcic0 controller 1 socket 0
pcmcia3 at pcic0 controller 1 socket 1