Hello,I am a long-time FreeBSD user and I have recently installed NetBSD 4.0 (then upgraded to -current as of few days ago) on an old Pentium-166MMX PC w/256MB RAM based on FIC PA-2005 motherboard (Apollo VP VT82C580 chipset). Running the newest BIOS available.
The machine runs fine with just an ISA soundcard (there are 3 ISA slots) and a PCI video card (occupying 1 of 4 slots). video card IRQs are off.
Today I have installed a brand new 5xUSB, 3x Firewire controller and problems started to appear. I cannot use firewire with some USB devices connected. Without USB devices sometimes I am able to establish firewire connection via fwip0. The problem is there is something happening with internal IDE controller IRQs. When I plug firewire device (my FreeBSD laptop) usually this happens:
Apr 11 23:38:03 poniatowski /netbsd: fwohci0: BUS resetApr 11 23:38:03 poniatowski /netbsd: fwohci0: node_id=0xc800ffc1, gen=2, CYCLEMA
STER modeApr 11 23:38:03 poniatowski /netbsd: ieee1394if0: 2 nodes, maxhop <= 1, cable IR
M = 1 (me) Apr 11 23:38:03 poniatowski /netbsd: ieee1394if0: bus manager 1 (me)Apr 11 23:38:03 poniatowski /netbsd: Unknown service addr 0x0000:0x00000000 WREQ
Q(0) src=0x0 data=f064a032Apr 11 23:38:03 poniatowski /netbsd: ieee1394if0: split transaction timeout: tl=
0x3 flag=0x04Apr 11 23:38:03 poniatowski /netbsd: send: dst=0x00 tl=0x03 rt=0 tcode=0x4 pri=0
x0 src=0x000 Apr 11 23:38:24 poniatowski /netbsd: viaide0:0:0: lost interrupt[24;1H[K:[24;1H[24;1H[KApr 11 23:38:24 poniatowski /netbsd: type: ata tc_bcount: 3072 tc_skip: 0
Apr 11 23:38:34 poniatowski /netbsd: viaide0:0:0: lost interrupt Apr 11 23:39:24 poniatowski /netbsd: type: ata tc_bcount: 8192 tc_skip: 0 Apr 11 23:39:24 poniatowski /netbsd: viaide0:0:0: lost interrupt Apr 11 23:39:24 poniatowski /netbsd: type: ata tc_bcount: 2048 tc_skip: 0 Apr 11 23:39:24 poniatowski /netbsd: viaide0:0:0: lost interrupt Apr 11 23:39:24 poniatowski /netbsd: type: ata tc_bcount: 1024 tc_skip: 0 Apr 11 23:39:24 poniatowski /netbsd: viaide0:0:0: lost interrupt Apr 11 23:39:24 poniatowski /netbsd: type: ata tc_bcount: 8192 tc_skip: 0 Apr 11 23:39:24 poniatowski /netbsd: viaide0:0:0: lost interrupt Apr 11 23:39:24 poniatowski /netbsd: type: ata tc_bcount: 1024 tc_skip: 0 Apr 11 23:39:24 poniatowski /netbsd: viaide0:0:0: lost interrupt Apr 11 23:39:24 poniatowski /netbsd: type: ata tc_bcount: 8192 tc_skip: 0 Apr 11 23:39:34 poniatowski /netbsd: viaide0:0:0: lost interrupt Apr 11 23:39:34 poniatowski /netbsd: type: ata tc_bcount: 5120 tc_skip: 0 Apr 11 23:39:44 poniatowski /netbsd: viaide0:0:0: lost interrupt Apr 11 23:39:44 poniatowski /netbsd: type: ata tc_bcount: 8192 tc_skip: 0 Apr 11 23:39:54 poniatowski /netbsd: viaide0:0:0: lost interrupt Apr 11 23:39:54 poniatowski /netbsd: type: ata tc_bcount: 5120 tc_skip: 0When I unplug the firewire cable sometimes machine is able to continue with disk operations and cleanly reboot, but in most cases I need to do a hard reset because the box is unresponsive when it needs to access the disk (i.e keyboard and tty work).
I presume poor PCI interrupt wiring is at fault: PIR Entry 0: Bus: 0 Device: 8 <--- This is the usb/firewire controller INTA: link 0x01 bitmap 0x4eb8 INTB: link 0x02 bitmap 0x4eb8 INTC: link 0x03 bitmap 0x4eb8 INTD: link 0x04 bitmap 0x4eb8 PIR Entry 1: Bus: 0 Device: 9 <--- empty INTA: link 0x02 bitmap 0x4eb8 INTB: link 0x03 bitmap 0x4eb8 INTC: link 0x04 bitmap 0x4eb8 INTD: link 0x01 bitmap 0x4eb8 PIR Entry 2: Bus: 0 Device: 10 <--- empty INTA: link 0x03 bitmap 0x4eb8 INTB: link 0x04 bitmap 0x4eb8 INTC: link 0x01 bitmap 0x4eb8 INTD: link 0x02 bitmap 0x4eb8 PIR Entry 3: Bus: 0 Device: 11 <--- video card INTA: link 0x04 bitmap 0x4eb8 INTB: link 0x01 bitmap 0x4eb8 INTC: link 0x02 bitmap 0x4eb8 INTD: link 0x03 bitmap 0x4eb8 PIR Entry 4: Bus: 0 Device: 0 INTA: link 0x00 bitmap 0x0000 INTB: link 0x00 bitmap 0x0000 INTC: link 0x00 bitmap 0x0000 INTD: link 0x00 bitmap 0x0000 Internal IDE: viaide0 at pci0 dev 7 function 1 viaide0: VIA Technologies VT82C586 (Apollo VP) ATA33 controller viaide0: bus-master DMA support present viaide0: primary channel configured to compatibility mode viaide0: primary channel interrupting at irq 14 atabus0 at viaide0 channel 0 viaide0: secondary channel configured to compatibility mode viaide0: secondary channel ignored (disabled)uhci0 at pci0 dev 8 function 0: VIA Technologies VT83C572 USB Controller (rev. 0x62)
uhci0: interrupting at irq 11 usb0 at uhci0: USB revision 1.0uhci1 at pci0 dev 8 function 1: VIA Technologies VT83C572 USB Controller (rev. 0x62)
uhci1: interrupting at irq 10 usb1 at uhci1: USB revision 1.0ehci0 at pci0 dev 8 function 2: VIA Technologies VT8237 EHCI USB Controller (rev. 0x65)
ehci0: interrupting at irq 9 ehci0: dropped intr workaround enabled ehci0: EHCI version 1.0 ehci0: companion controllers, 2 ports each: uhci0 uhci1 usb2 at ehci0: USB revision 2.0fwohci0 at pci0 dev 8 function 3: VIA Technologies VT6306 IEEE 1394 Host Controller (rev. 0x80)
fwohci0: interrupting at irq 11I have tried to change numerous BIOS settings, but nothing really helped. Moving PCI card to another slot also didn't change much.
I suppose that there are only 4 IRQ wires that are shared by all PCI cards. But the machine runs under zero load so this should more or less work, I think.
I have posted configuration details on http://akson.sgh.waw.pl/~saper/NetBSD/pci/ GENERIC - include'd GENERIC (unchanged) KERNELCONFIG - kernel configuration dmesg - full dmesg output on boot of the above fwreset - viaide0 messages PCI_INTR_FIXUP - messages with PCI_INTR_FIXUP uncommented. I have originally discovered this running kernel with options PCIBIOS # PCI BIOS support options PCIBIOSVERBOSE # PCI BIOS verbose info options PCIBIOS_INTR_GUESS # see pcibios(4) options PCI_ADDR_FIXUP # fixup PCI I/O addresses options PCI_BUS_FIXUP # fixup PCI bus numbering options PCI_INTR_FIXUP (without HINT, _FORCE or _DEBUG). Any ideas how to proceed with this? I plan to add another PCI card (802.11b/g NIC).Is there any chance that adding a PCI IDE/SATA controller and shutting down internal IDE might help?
I know some C and I can do some debugging even via serial interface if necessary.
Thanks in advance, --Marcin
Attachment:
signature.asc
Description: OpenPGP digital signature