Subject: Re: uhid + pckbdc / uhci + EHCI / wscons on i915 and probably i925
To: Lennart Augustsson <lennart@augustsson.net>
From: Chris Tribo <ctribo@dtcc.edu>
List: current-users
Date: 02/05/2005 01:17:09
Using the APIC seems to help, it picked up a device in a port that 
previously never worked. But, it still looks like not all the 
interrupts are being connected.

Also, could we add a bit more to the SET_ADDR_FAIL code that tries to 
set the address a few more times before giving up? The mouse that fails 
in the dmesg below sometimes needs more attempts to set the address 
before it takes. I don't know what a realistic number is, if anything 
since we're in an interrupt handler at this point I would imagine. I 
know it's flaky so I can always just keep physically unplug it I guess.

uhci0: interrupting at ioapic0 pin 21 (irq 9)
uhci1: interrupting at ioapic0 pin 22 (irq 5)
uhci2: interrupting at ioapic0 pin 18 (irq 3)
uhci3: interrupting at ioapic0 pin 23 (irq 10)
ehci0: interrupting at ioapic0 pin 21 (irq 9)

interrupt                                     total     rate
cpu0 softclock                               184407      100
cpu0 softnet                                   1913        1
cpu0 softserial                                   1        0
cpu0 timer                                   184527      100
ioapic0 pin 6                                     1        0
ioapic0 pin 4                                     1        0
ioapic0 pin 16                                 2428        1
ioapic0 pin 21                                    1        0
ioapic0 pin 22                                   41        0
ioapic0 pin 18                                   45        0
ioapic0 pin 14                                    5        0
ioapic0 pin 20                                 1200        0
Total                                        374570      203

[dmesg buffer length exceeded]
pic0 at mainbus0 apid 8 (I/O APIC)
ioapic0: pa 0xfec00000, virtual wire mode, version 20, 24 pins
ioapic0: misconfigured as apic 0
ioapic0: remapped to apic 8
apic0 at mainbus0 apid 8 (I/O APIC)
ioapic0: pa 0xfec00000, virtual wire mode, version 20, 24 pins
ioapic0: misconfigured as apic 0
ioapic0: remapped to apic 8
acpi0 at mainbus0
acpi0: using Intel ACPI CA subsystem version 20040211
acpi0: X/RSDT: OemId <DELL  , GX280  ,00000007>, AslId <ASL ,00000061>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
mpacpi: could not get bus number, assuming bus 0
mpacpi: found root PCI bus 0 at level 1
mpacpi: found subordinate bus 4 at level 2
mpacpi: found subordinate bus 2 at level 2
mpacpi: found subordinate bus 3 at level 2
mpacpi: found subordinate bus 1 at level 2
mpacpi: 5 PCI busses
mpacpi: configuring PCI bus 0 int routing
mpacpi: configuring PCI bus 4 int routing
mpacpi: configuring PCI bus 2 int routing
mpacpi: configuring PCI bus 3 int routing
mpacpi: configuring PCI bus 1 int routing
ioapic0: pin 2 attached to isa0 irq 0 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 1 attached to isa0 irq 1 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 3 attached to isa0 irq 3 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 4 attached to isa0 irq 4 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 5 attached to isa0 irq 5 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 6 attached to isa0 irq 6 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 7 attached to isa0 irq 7 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 8 attached to isa0 irq 8 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 9 attached to isa0 irq 9 (type 0<type=0> flags d<pol=1=Act 
Hi,trig=3=Level>)
ioapic0: pin 10 attached to isa0 irq 10 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 11 attached to isa0 irq 11 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 12 attached to isa0 irq 12 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 13 attached to isa0 irq 13 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 14 attached to isa0 irq 14 (type 0<type=0> flags 
0<pol=0,trig=0>)
ioapic0: pin 15 attached to isa0 irq 15 (type 0<type=0> flags 
0<pol=0,trig=0>)
local apic: pin 1 attached to NMI (type 1<type=1=NMI> flags 
0<pol=0,trig=0>)
ioapic0: pin 16 attached to pci0 device 1 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 16 attached to pci0 device 2 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 16 attached to pci0 device 31 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 17 attached to pci0 device 31 INT_B (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 20 attached to pci0 device 31 INT_C (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 23 attached to pci0 device 30 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 21 attached to pci0 device 29 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 22 attached to pci0 device 29 INT_B (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 18 attached to pci0 device 29 INT_C (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 23 attached to pci0 device 29 INT_D (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 16 attached to pci0 device 28 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 17 attached to pci0 device 28 INT_B (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 19 attached to pci4 device 7 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 16 attached to pci4 device 0 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 17 attached to pci4 device 0 INT_B (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 18 attached to pci4 device 0 INT_C (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 19 attached to pci4 device 0 INT_D (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 17 attached to pci4 device 1 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 18 attached to pci4 device 1 INT_B (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 19 attached to pci4 device 1 INT_C (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 16 attached to pci4 device 1 INT_D (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 18 attached to pci4 device 2 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 19 attached to pci4 device 2 INT_B (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 16 attached to pci4 device 2 INT_C (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 17 attached to pci4 device 2 INT_D (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 16 attached to pci4 device 3 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 18 attached to pci4 device 3 INT_B (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 17 attached to pci4 device 3 INT_C (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 19 attached to pci4 device 3 INT_D (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 16 attached to pci2 device 0 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 17 attached to pci2 device 0 INT_B (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 18 attached to pci2 device 0 INT_C (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 19 attached to pci2 device 0 INT_D (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 17 attached to pci3 device 0 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 18 attached to pci3 device 0 INT_B (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 19 attached to pci3 device 0 INT_C (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 16 attached to pci3 device 0 INT_D (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 16 attached to pci1 device 0 INT_A (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 17 attached to pci1 device 0 INT_B (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 18 attached to pci1 device 0 INT_C (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ioapic0: pin 19 attached to pci1 device 0 INT_D (type 0<type=0> flags 
f<pol=3=Act Lo,trig=3=Level>)
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
acpibut0 at acpi0 (PNP0C0C): ACPI Power Button
PNP0A03 [PCI Bus] at acpi0 not configured
PNP0C01 [System Board] at acpi0 not configured
PNP0200 [AT DMA Controller] at acpi0 not configured
npx0 at acpi0 (PNP0C04)
npx0: io 0xf0-0xff irq 13
npx0: using exception 16
PNP0000 [AT Interrupt Controller] at acpi0 not configured
PNP0800 [AT-style speaker sound] at acpi0 not configured
PNP0B00 [AT Real-Time Clock] at acpi0 not configured
PNP0100 [AT Timer] at acpi0 not configured
fdc0 at acpi0 (PNP0700)
fdc0: io 0x3f0-0x3f5,0x3f7 irq 6 drq 2
lpt0 at acpi0 (PNP0401)
lpt0: io 0x378-0x37f,0x778-0x77f irq 7
com0 at acpi0 (PNP0501-1)
com0: io 0x3f8-0x3ff irq 4
com0: ns16550a, working fifo
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C0F [PCI interrupt link device] at acpi0 not configured
PNP0C01 [System Board] at acpi0 not configured
PNP0C02 [Plug and Play motherboard register resources] at acpi0 not 
configured
PNP0103 at acpi0 not configured
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82915P/G/GL Host (rev. 0x04)
ppb0 at pci0 dev 1 function 0: Intel 82915P/G/GL PCI Express Bridge 
(rev. 0x04)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
vga0 at pci1 dev 0 function 0: ATI Technologies Radeon X300 Series 
(rev. 0x00)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
ATI Technologies Radeon X300 Series Secondary (miscellaneous display) 
at pci1 dev 0 function 1 not configured
ppb1 at pci0 dev 28 function 0: Intel 82801FB/FR PCI Express Port #0 
(rev. 0x03)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
bge0 at pci2 dev 0 function 0: Broadcom BCM5751 Gigabit Ethernet
bge0: interrupting at ioapic0 pin 16 (irq 11)
bge0: ASIC BCM5750 A1 (0x4001), Ethernet address 00:11:43:xx:xx:xx
brgphy0 at bge0 phy 1: BCM5750 1000BASE-T media interface, rev. 0
brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
ppb2 at pci0 dev 28 function 1: Intel 82801FB/FR PCI Express Port #1 
(rev. 0x03)
pci3 at ppb2 bus 3
pci3: i/o space, memory space enabled, rd/line, wr/inv ok
uhci0 at pci0 dev 29 function 0: Intel 82801FB/FR USB UHCI Controller 
(rev. 0x03)
uhci0: interrupting at ioapic0 pin 21 (irq 9)
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: Intel 82801FB/FR USB UHCI Controller 
(rev. 0x03)
uhci1: interrupting at ioapic0 pin 22 (irq 5)
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: Intel 82801FB/FR USB UHCI Controller 
(rev. 0x03)
uhci2: interrupting at ioapic0 pin 18 (irq 3)
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 29 function 3: Intel 82801FB/FR USB UHCI Controller 
(rev. 0x03)
uhci3: interrupting at ioapic0 pin 23 (irq 10)
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7: Intel 82801FB/FR USB EHCI Controller 
(rev. 0x03)
ehci0: interrupting at ioapic0 pin 21 (irq 9)
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: single transaction translator
uhub4: 8 ports with 8 removable, self powered
ppb3 at pci0 dev 30 function 0: Intel 82801BA Hub-PCI Bridge (rev. 0xd3)
pci4 at ppb3 bus 4
pci4: i/o space, memory space enabled
auich0 at pci0 dev 30 function 2: i82801FB (ICH6) AC-97 Audio
auich0: interrupting at ioapic0 pin 23 (irq 10)
auich0: ac97: Analog Devices AD1981B codec; headphone, 20 bit DAC, no 
3D stereo
auich0: ac97: ext id 601<AC97_22,AMAP,VRA>
pcib0 at pci0 dev 31 function 0
pcib0: Intel 82801FB LPC Interface Bridge (rev. 0x03)
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801FB IDE Controller (ICH6) (rev. 0x03)
piixide0: bus-master DMA support present
piixide0: primary channel wired to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
atabus0 at piixide0 channel 0
piixide0: secondary channel wired to compatibility mode
piixide0: secondary channel ignored (disabled)
piixide1 at pci0 dev 31 function 2
piixide1: Intel 82801FB Serial ATA/Raid Controller (rev. 0x03)
piixide1: bus-master DMA support present
piixide1: primary channel configured to native-PCI mode
piixide1: using ioapic0 pin 20 (irq 5) for native-PCI interrupt
atabus1 at piixide1 channel 0
piixide1: secondary channel configured to native-PCI mode
atabus2 at piixide1 channel 1
Intel 82801FB/FR SMBus Controller (SMBus serial bus, revision 0x03) at 
pci0 dev 31 function 3 not configured
isa0 at pcib0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
isapnp0: no ISA Plug 'n Play devices found
cpu0: prelint0 700<vector=0,delmode=7,dest=0> 0<target=0>
cpu0: prelint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu0: timer0 300c0<vector=c0,delmode=0,masked,dest=0> 0<target=0>
cpu0: pcint0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
cpu0: lint0 10700<vector=0,delmode=7,masked,dest=0> 0<target=0>
cpu0: lint1 400<vector=0,delmode=4,dest=0> 0<target=0>
cpu0: err0 10000<vector=0,delmode=0,masked,dest=0> 0<target=0>
ioapic0: enabling
ioapic0: int4 d0<vector=d0,delmode=0,dest=0> 0<target=0>
ioapic0: int6 60<vector=60,delmode=0,dest=0> 0<target=0>
ioapic0: int7 90<vector=90,delmode=0,dest=0> 0<target=0>
ioapic0: int9 80a0<vector=a0,delmode=0,level,dest=0> 0<target=0>
ioapic0: int14 65<vector=65,delmode=0,dest=0> 0<target=0>
ioapic0: int16 a070<vector=70,delmode=0,actlo,level,dest=0> 0<target=0>
ioapic0: int18 a063<vector=63,delmode=0,actlo,level,dest=0> 0<target=0>
ioapic0: int20 a066<vector=66,delmode=0,actlo,level,dest=0> 0<target=0>
ioapic0: int21 b061<vector=61,delmode=0,pending,actlo,level,dest=0> 
0<target=0>
ioapic0: int22 a062<vector=62,delmode=0,actlo,level,dest=0> 0<target=0>
ioapic0: int23 a064<vector=64,delmode=0,actlo,level,dest=0> 0<target=0>
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
bufq_alloc: using disksort
auich0: measured ac97 link rate at 47999 Hz, will use 48000 Hz
audio0 at auich0: full duplex, mmap, independent
raidattach: Asked for 8 units
Kernelized RAIDframe activated
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using fcfs
bufq_alloc: using disksort
bufq_alloc: using disksort
bufq_alloc: using disksort
bufq_alloc: using disksort
atapibus0 at atabus0: 2 targets
cd0 at atapibus0 drive 0: <_NEC DVD+/-RW ND-3450A, , 102B> cdrom 
removable
bufq_alloc: using disksort
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
cd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using 
DMA)
ehci0: handing over low speed device on port 3 to uhci1
uhub4: port 3, device disappeared after reset
ehci0: handing over low speed device on port 4 to uhci1
uhub4: port 4, device disappeared after reset
ehci0: handing over full speed device on port 6 to uhci2
uhub4: port 6, device disappeared after reset
uhidev0 at uhub1 port 1 configuration 1 interface 0
uhidev0: DELL DELL USB Keyboard, rev 1.10/1.00, addr 2, iclass 3/1
ukbd0 at uhidev0: 8 modifier keys, 6 key codes
wskbd0 at ukbd0 mux 1
wskbd0: connecting to wsdisplay0
uhidev1 at uhub1 port 1 configuration 1 interface 1
uhidev1: DELL DELL USB Keyboard, rev 1.10/1.00, addr 2, iclass 3/0
uhidev1: 2 report ids
uhid0 at uhidev1 reportid 1: input=1, output=0, feature=0
uhid1 at uhidev1 reportid 2: input=3, output=0, feature=0
wd0 at atabus1 drive 0bufq_alloc: using disksort
: <Maxtor 6Y160M0>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 149 GB, 310019 cyl, 16 head, 63 sec, 512 bytes/sect x 312500000 
sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(piixide1:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
Searching for RAID components...
boot device: wd0
root on wd0a dumps on wd0b
mountroot: trying smbfs...
mountroot: trying coda...
mountroot: trying msdos...
mountroot: trying cd9660...
mountroot: trying ntfs...
mountroot: trying nfs...
mountroot: trying lfs...
mountroot: trying ext2fs...
mountroot: trying ffs...
root file system type: ffs
init: copying out path `/sbin/init' 11
umass0 at uhub2 port 2 configuration 1 interface 0usb_new_device: set 
address 3 failed
uhub_explore: usb_new_device failed, error=SET_ADDR_FAILED
uhub1: device problem, disabling port 2

umass0: AVC Technology Ltd. INSTANT Drive, rev 1.10/1.00, addr 2
umass0: using ATAPI over Bulk-Only
atapibus1 at umass0: 2 targets
sd0 at atapibus1 drive 0: <AVC, USB6800, 1.06> disk 
removablebufq_alloc: using disksort

bufq_alloc: using disksort
sd0: fabricating a geometry
sd0: 15808 KB, 15 cyl, 64 head, 32 sec, 512 bytes/sect x 31616 sectors
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)