Date: Sun, 13 Jan 2002 22:10:35 +0100 From: Olivier Cortes <olive@deep-ocean.org> To: freebsd-smp@freebsd.org Subject: usb problem / wrong irq with IO_APIC Message-ID: <20020113211030.497085EF04@neptune.deep-ocean.net>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hi,
I ask my question here because i think my problem is SMP-related.
it occurs both in STABLE and CURRENT.
I've got an ASUS CUV4X-D with two PIII 800 and 1Gig RAM. various PCI
cards (fxp, ahc) and GeForce2MX agp. On my USB hub (on motherboard) i
use a Logitech Desktop (iTouch Keyboard and Mouse, both cordless).
In the BIOS, i assigned IRQ 11 to the USB controller.
With FreeBSD 4.4-STABLE in single processor mode and under 5.0-CURRENT
(single proc mode too) the usb subsystem works perfectly (i can
assign a keymap to the keyboard on the vtyXX, use it under Xfree, and
the mouse too with all buttons... ).
In SMP mode, after the IO_APIC init, the USB controller gets IRQ 2
assigned. It doesn't work at all. if i try to plug out and back in one
or another device, the kernel reports a "problem with port X on usb hub
Y, disabling it.".
Is there a way to manually reassign the good irq to the usb controller
(and make it work) ?
thanks in advance for your help.
I provide my SMP kernel file (GENERIC minus some drivers i don't use)
and my SMP dmesg. in single proc mode, the kernel file is *exactly* the
same, with the "SMP" and "IO_APIC" lines removed.
best regards,
--
Olivier Cortes
Administrateur d'Unix libres
[-- Attachment #2 --]
Copyright (c) 1992-2002 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 4.5-PRERELEASE #5: Mon Jan 7 17:50:01 CET 2002
root@scylla.deep-ocean.local:/usr/obj/usr/src/sys/SCYLLA
Timecounter "i8254" frequency 1193182 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (803.61-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x686 Stepping = 6
Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory = 1073725440 (1048560K bytes)
avail memory = 1041141760 (1016740K bytes)
Programming 24 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor motherboard
cpu0 (BSP): apic id: 3, version: 0x00040011, at 0xfee00000
cpu1 (AP): apic id: 0, version: 0x00040011, at 0xfee00000
io0 (APIC): apic id: 2, version: 0x00178011, at 0xfec00000
Preloaded elf kernel "kernel" at 0xc039a000.
Preloaded elf module "snd_emu10k1.ko" at 0xc039a0a8.
Preloaded elf module "snd_pcm.ko" at 0xc039a14c.
Pentium Pro MTRR support enabled
md0: Malloc disk
Using $PIR table, 7 entries at 0xc00f1270
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
IOAPIC #0 intpin 18 -> irq 2
IOAPIC #0 intpin 17 -> irq 5
IOAPIC #0 intpin 16 -> irq 9
IOAPIC #0 intpin 19 -> irq 10
pci0: <PCI bus> on pcib0
pcib2: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib2
pci1: <NVidia model 0110 graphics accelerator> at 0.0 irq 9
isab0: <VIA 82C686 PCI-ISA bridge> at device 4.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686 ATA100 controller> port 0xd800-0xd80f at device 4.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 2 at device 4.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xd000-0xd01f irq 2 at device 4.3 on pci0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
pcm0: <Creative EMU10K1> port 0xb800-0xb81f irq 5 at device 11.0 on pci0
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0xb000-0xb01f mem 0xec800000-0xec8fffff,0xef000000-0xef000fff irq 9 at device 12.0 on pci0
fxp0: Ethernet address 00:a0:c9:ea:ab:fe
inphy0: <i82555 10/100 media interface> on miibus0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ahc0: <Adaptec 2940 Ultra SCSI adapter> port 0xa800-0xa8ff mem 0xec000000-0xec000fff irq 10 at device 13.0 on pci0
aic7880: Ultra Wide Channel A, SCSI Id=7, 16/255 SCBs
pcib1: <Host to PCI bridge> on motherboard
pci2: <PCI bus> on pcib1
orm0: <Option ROM> at iomem 0xcc000-0xcc7ff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse Explorer, device ID 4
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
APIC_IO: Testing 8254 interrupt delivery
APIC_IO: routing 8254 via IOAPIC #0 intpin 2
SMP: AP CPU #1 Launched!
ad0: 29314MB <IBM-DTLA-307030> [59560/16/63] at ata0-master UDMA100
acd0: DVD-ROM <Memorex DVD-MAXX1240> at ata1-master using PIO4
afd0: 96MB <IOMEGA ZIP 100 ATAPI> [32/64/96] at ata1-slave using PIO0
Mounting root from ufs:/dev/ad0s2a
[-- Attachment #3 --]
machine i386
cpu I686_CPU
ident SCYLLA
maxusers 0
options APIC_IO
options SMP
options INET #InterNETworking
options FFS #Berkeley Fast Filesystem
options FFS_ROOT #FFS usable as root device [keep this!]
options SOFTUPDATES #Enable FFS soft updates support
options UFS_DIRHASH
options MFS #Memory Filesystem
options MD_ROOT #MD is a potential root device
options NFS #Network Filesystem
options MSDOSFS #MSDOS Filesystem
options CD9660 #ISO 9660 Filesystem
options CD9660_ROOT #CD-ROM usable as root, CD9660 required
options PROCFS #Process filesystem
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
options SCSI_DELAY=1000 #Delay (in ms) before probing SCSI
options UCONSOLE #Allow users to grab the console
options USERCONFIG
options KTRACE #ktrace(1) support
options SYSVSHM #SYSV-style shared memory
options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options P1003_1B #Posix P1003_1B real-time extensions
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM #Rate limit bad replies
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
device isa
device eisa
device pci
#device fdc0 at isa? port IO_FD1 irq 6 drq 2
#device fd0 at fdc0 drive 0
#device fd1 at fdc0 drive 1
# ATA and ATAPI devices
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15
device ata
device atadisk # ATA disk drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
options ATA_STATIC_ID #Static device numbering
# SCSI Controllers
device ahc # AHA2940 and onboard AIC7xxx devices
device sym # NCR/Symbios Logic (newer chipsets)
device scbus # SCSI bus (required)
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12
device vga0 at isa?
# splash screen/screen saver
pseudo-device splash
device sc0 at isa? flags 0x100
options SC_PIXEL_MODE # add support for the raster text mode
options SC_DFLT_FONT # compile font in
makeoptions SC_DFLT_FONT=cp850
options ATKBD_DFLT_KEYMAP
makeoptions ATKBD_DFLT_KEYMAP="fr.iso.acc"
options SC_HISTORY_SIZE=1024
options SC_NORM_ATTR="(FG_CYAN|BG_BLACK)"
options SC_NORM_REV_ATTR="(FG_BLACK|BG_BLUE)"
options SC_KERNEL_CONS_ATTR="(FG_LIGHTCYAN|BG_BLACK)"
options SC_KERNEL_CONS_REV_ATTR="(FG_CYAN|BG_BLUE)"
device npx0 at nexus? port IO_NPX irq 13
device smbus
device smb
device intpm
device iicbus
device iicsmb
#device apm0 at nexus? disable flags 0x20 # Advanced Power Management
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device ppc0 at isa? irq 7
device ppbus # Parallel port bus (required)
device lpt # Printer
device ppi # Parallel port interface device
# PCI Ethernet NICs.
device miibus # MII bus support
device dc # DEC/Intel 21143 and various workalikes
device fxp # Intel EtherExpress PRO/100B (82557, 82558)
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
pseudo-device loop # Network loopback
pseudo-device ether # Ethernet support
pseudo-device ppp 1 # Kernel PPP
pseudo-device tun 1 # Packet tunnel.
pseudo-device pty # Pseudo-ttys (telnet etc)
pseudo-device md # Memory "disks"
pseudo-device bpf #Berkeley packet filter
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
device uscanner # Scanners
# USB Ethernet, requires mii
device aue # ADMtek USB ethernet
device cue # CATC USB ethernet
device kue # Kawasaki LSI USB ethernet
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020113211030.497085EF04>
