Skip site navigation (1)Skip section navigation (2)
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>