Subject: PCI card dropping interrupts?
To: 386 Port NetBSD <port-i386@netbsd.org>
From: Scott Presnell <srp@zgi.com>
List: port-i386
Date: 03/27/2000 14:23:08
Hi Folks,
	I have an old 486 machine that I've been working with recently.
It has a PCI bus with a UMC UM8881/8886 PCI Chipset.  I put in an
EtherExpress Pro 10+/100B, which is correctly recognized but when I try
to use it I get wierdness:

	ping to self and other hosts works.
	DNS lookups work mostly/sometimes.
	ftp gets as far as asking for user and pass then stops.
	telnet gets "Connected", but no "login:" propmt.

Watching the network would indicate that packets are flowing correctly,
so I'm assuming that the machine and/or card is dropping interrupts
(but there is no mention of this from the kernel).

Same card in a different machine works correctly.

An ISA card interrupting at the same interrupt (10) works correctly.

I also swapped the video card incase there was some kind of irq or
memory collision there.

I've tried playing with the PCI options in the BIOS but no joy.
There doesn't seem to be any way to assign PCI interrupts to
specific slots except in the case of PCI IDE cards.

I poked around in the PCI source to see if there were any clues
or quirks for these PCI chips, but there weren't.

Would it be worth trying turning off the recognition of the Host
bridge chip, or is the recognition by the match/attach routines
just a cosmetic thing? 

What else can I investigate to figure this out?

	Thanks.

	- Scott


NetBSD 1.4.2 (HOSER) #0: Sun Mar 26 16:19:28 PST 2000
    root@srp4:/usr/src/sys/arch/i386/compile/HOSER
cpu0: family 4 model 3 step 5
cpu0: Intel 486DX2 (486-class)
real mem  = 33161216
avail mem = 28987392
using 430 buffers containing 1761280 bytes of memory
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o enabled, memory enabled
fxp0 at pci0 dev 13 function 0: Intel EtherExpress Pro 10+/100B Ethernet
fxp0: interrupting at irq 10
fxp0: Ethernet address 00:a0:c9:4b:4e:cf
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vga1 at pci0 dev 15 function 0: S3 ViRGE (rev. 0x06)
wsdisplay0 at vga1: console (80x25, vt100 emulation)
pchb0 at pci0 dev 16 function 0
pchb0: United Microelectronics UM8881F PCI-Host bridge (rev. 0x01)
pcib0 at pci0 dev 18 function 0
pcib0: United Microelectronics UM8886F PCI-ISA bridge (rev. 0x01)
isa0 at pcib0
aic0 at isa0 port 0x340-0x35f irq 11
scsibus0 at aic0: 8 targets, 8 luns per target
com0 at isa0 port 0x3f8-0x3ff irq 4: ns8250 or ns16450, no fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns8250 or ns16450, no fifo
wdc0 at isa0 port 0x1f0-0x1f7 irq 14
wd0 at wdc0 channel 0 drive 0: <WDC AC32100H>
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 2014MB, 4092 cyl, 16 head, 63 sec, 512 bytes/sect x 4124736 sectors
wd0: drive supports PIO mode 4, DMA mode 2
lpt0 at isa0 port 0x378-0x37b irq 7
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
isapnp0: no ISA Plug 'n Play devices found
biomask 4840 netmask 4c40 ttymask 4cc2
wscons: wskbd0 glued to wsdisplay0 (console)
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs