kern/71198: Lack of PUC device in GENERIC kernel causes interupt lockouts

Drew Derbyshire ahd at freebsd.plus.kew.com
Tue Aug 31 08:30:28 PDT 2004


>Number:         71198
>Category:       kern
>Synopsis:       Lack of PUC device in GENERIC kernel causes interupt lockouts
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Aug 31 15:30:27 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator:     Drew Derbyshire
>Release:        FreeBSD 5.3-BETA2 i386
>Organization:
Kendra Electronic Wonderworks
>Environment:
System: FreeBSD xena.hh.kew.com 5.3-BETA2 FreeBSD 5.3-BETA2 #0: Sun Aug 29 16:55:04 EDT 2004 ahd at xena.hh.kew.com:/scratch/xena/obj/scratch/current/src/sys/GENERIC_PUC i386

	SMP Dell GX300 with dual PIII/733, 1G memory, and devices
	as listed below.  Note PCI Modem and Ethernet are sharing an
	Interrupt.


   Aug 29 19:24:06 xena syslogd: kernel boot file is /boot/generic_puc/kernel
   Copyright (c) 1992-2004 The FreeBSD Project.
   Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
   The Regents of the University of California. All rights reserved.
   FreeBSD 5.3-BETA2 #0: Sun Aug 29 16:55:04 EDT 2004
   ahd at xena.hh.kew.com:/scratch/xena/obj/scratch/current/src/sys/GENERIC_PUC
   WARNING: WITNESS option enabled, expect reduced performance.
   Timecounter "i8254" frequency 1193182 Hz quality 0
   CPU: Intel Pentium III (728.44-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0x683  Stepping = 3
   Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
   real memory  = 1073340416 (1023 MB)
   avail memory = 1040789504 (992 MB)
   ACPI APIC Table: <DELL   GX300  >
   FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
   cpu0 (BSP): APIC ID:  0
   cpu1 (AP): APIC ID:  1
   ioapic0: Changing APIC ID to 2
   ioapic0 <Version 2.0> irqs 0-23 on motherboard
   npx0: [FAST]
   npx0: <math processor> on motherboard
   npx0: INT 16 interface
   acpi0: <DELL GX300  > on motherboard
   acpi0: Power Button (fixed)
   Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
   acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
   cpu0: <ACPI CPU> on acpi0
   cpu1: <ACPI CPU> on acpi0
   pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
   pci0: <ACPI PCI bus> on pcib0
   agp0: <Intel 82820 host to AGP bridge> mem 0xf0000000-0xf3ffffff at device 0.0 on pci0
   pcib1: <PCI-PCI bridge> at device 1.0 on pci0
   pci1: <PCI bus> on pcib1
   pci1: <display, VGA> at device 0.0 (no driver attached)
   pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
   pci2: <ACPI PCI bus> on pcib2
   puc0: <US Robotics (3Com) 3CP5609 PCI 16550 Modem> port 0xecf8-0xecff irq 18 at device 9.0 on pci2
   sio4: <US Robotics (3Com) 3CP5609 PCI 16550 Modem> on puc0
   sio4: type 16550A
   sio4: unable to activate interrupt in fast mode - using normal mode
   ahc0: <Adaptec 29160N Ultra160 SCSI adapter> port 0xe800-0xe8ff mem 0xf8fff000-0xf8ffffff irq 19 at device 10.0 on pci2
   ahc0: [GIANT-LOCKED]
   aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
   pcib3: <PCI-PCI bridge> at device 11.0 on pci2
   pci3: <PCI bus> on pcib3
   ohci0: <NEC uPD 9210 USB controller> mem 0xfafff000-0xfaffffff irq 16 at device 8.0 on pci3
   ohci0: [GIANT-LOCKED]
   usb0: OHCI version 1.0
   usb0: <NEC uPD 9210 USB controller> on ohci0
   usb0: USB revision 1.0
   uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
   uhub0: 3 ports with 3 removable, self powered
   ohci1: <NEC uPD 9210 USB controller> mem 0xfaffe000-0xfaffefff irq 17 at device 8.1 on pci3
   ohci1: [GIANT-LOCKED]
   usb1: OHCI version 1.0
   usb1: <NEC uPD 9210 USB controller> on ohci1
   usb1: USB revision 1.0
   uhub1: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
   uhub1: 2 ports with 2 removable, self powered
   pci3: <serial bus, USB> at device 8.2 (no driver attached)
   fwohci0: <Texas Instruments TSB43AB23> mem 0xfaff8000-0xfaffbfff,0xfaffd000-0xfaffd7ff irq 16 at device 12.0 on pci3
   fwohci0: [GIANT-LOCKED]
   fwohci0: OHCI version 1.10 (ROM=1)
   fwohci0: No. of Isochronous channels is 4.
   fwohci0: EUI64 00:50:42:b5:c0:0c:f7:9d
   fwohci0: Phy 1394a available S400, 3 ports.
   fwohci0: Link S400, max_rec 2048 bytes.
   firewire0: <IEEE1394(FireWire) bus> on fwohci0
   fwe0: <Ethernet over FireWire> on firewire0
   if_fwe0: Fake Ethernet address: 02:50:42:0c:f7:9d
   fwe0: Ethernet address: 02:50:42:0c:f7:9d
   sbp0: <SBP-2/SCSI over FireWire> on firewire0
   fwohci0: Initiate bus reset
   fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
   firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
   firewire0: bus manager 0 (me)
   xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xec00-0xec7f mem 0xf8ffec00-0xf8ffec7f irq 18 at device 12.0 on pci2
   miibus0: <MII bus> on xl0
   xlphy0: <3c905C 10/100 internal PHY> on miibus0
   xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
   xl0: Ethernet address: 00:b0:d0:2b:93:1e
   xl0: [GIANT-LOCKED]
   isab0: <PCI-ISA bridge> at device 31.0 on pci0
   isa0: <ISA bus> on isab0
   atapci0: <Intel ICH UDMA66 controller> port 0xffa0-0xffaf,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.1 on pci0
   ata0: channel #0 on atapci0
   ata1: channel #1 on atapci0
   uhci0: <Intel 82801AA (ICH) USB controller> port 0xff80-0xff9f irq 19 at device 31.2 on pci0
   uhci0: [GIANT-LOCKED]
   usb2: <Intel 82801AA (ICH) USB controller> on uhci0
   usb2: USB revision 1.0
   uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
   uhub2: 2 ports with 2 removable, self powered
   pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
   pci0: <multimedia, audio> at device 31.5 (no driver attached)
   fdc0: <floppy drive controller> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0
   fdc0: FIFO enabled, 8 bytes threshold
   fd0: <1440-KB 3.5" drive> on fdc0 drive 0
   atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
   atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
   kbd0 at atkbd0
   atkbd0: [GIANT-LOCKED]
   psm0: <PS/2 Mouse> irq 12 on atkbdc0
   psm0: [GIANT-LOCKED]
   psm0: model IntelliMouse, device ID 3
   sio0 port 0x3f8-0x3ff irq 4 on acpi0
   sio0: type 16550A
   sio1 port 0x2f8-0x2ff irq 3 on acpi0
   sio1: type 16550A
   orm0: <ISA Option ROMs> at iomem 0xcf800-0xcffff,0xc9000-0xcf7ff,0xc0000-0xc8fff on isa0
   pmtimer0 on isa0
   ppc0: parallel port not found.
   sc0: <System console> at flags 0x100 on isa0
   sc0: VGA <16 virtual consoles, flags=0x300>
   vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
   Timecounters tick every 10.000 msec
   ATAPI_RESET time = 40us
   acd0: DVDROM <ATAPI DVD-ROM 16X/422M> at ata0-master UDMA66
   Waiting 15 seconds for SCSI devices to settle
   da0 at ahc0 bus 0 target 0 lun 0
   da0: <SEAGATE ST336706LW 010A> Fixed Direct Access SCSI-3 device 
   da0: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing Enabled
   da0: 35003MB (71687370 512 byte sectors: 255H 63S/T 4462C)
   da1 at ahc0 bus 0 target 2 lun 0
   da1: <QUANTUM ATLAS 10K 18WLS UCHQ> Fixed Direct Access SCSI-3 device 
   da1: 160.000MB/s transfers (80.000MHz, offset 31, 16bit), Tagged Queueing Enabled
   da1: 17366MB (35566499 512 byte sectors: 255H 63S/T 2213C)
   SMP: AP CPU #1 Launched!
   Mounting root from ufs:/dev/da0s2a
   ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled


>Description:
	
	If PUC device is not included on a system with a PCI modem
	or serial port (SIO device), the serial port will commandeer
	the IRQ, causing any other devices sharing the IRQ to fail
	to initialize. 

	This can cripple the booting system to the point the only
	work around is physically ripping the offending device out.

	Note that a PCI SIO device cannot be disabled by the user
	kernel configuration screens, so this problem can be prevent
	a binary install of of the system if the modem and disk
	controller are sharing an IRQ.

        This can prevent FreeBSD installation.

>How-To-Repeat:
	
	Boot a reasonably equipped system with a PCI hardware modem
	installed using the FreeBSD install CD with the GENERIC
	kernel.

>Fix:

	Add PUC device to GENERIC kernel so devices are not disabled
	during and after install by poor IRQ management.
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list