From owner-freebsd-bugs Wed Jan 3 15:40:11 2001 From owner-freebsd-bugs@FreeBSD.ORG Wed Jan 3 15:40:01 2001 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id A154F37B402 for ; Wed, 3 Jan 2001 15:40:01 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f03Ne1O74188; Wed, 3 Jan 2001 15:40:01 -0800 (PST) (envelope-from gnats) Resent-Date: Wed, 3 Jan 2001 15:40:01 -0800 (PST) Resent-Message-Id: <200101032340.f03Ne1O74188@freefall.freebsd.org> Resent-From: gnats-admin@FreeBSD.org (GNATS Management) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: gnats-admin@FreeBSD.org, aledema@iol.it Received: from libero.sunshine.ale (ppp-212-113.33-151.iol.it [151.33.113.212]) by hub.freebsd.org (Postfix) with ESMTP id 1DCA737B400 for ; Wed, 3 Jan 2001 15:37:27 -0800 (PST) Received: by libero.sunshine.ale (Postfix, from userid 1001) id A82F25E68; Thu, 4 Jan 2001 00:37:16 +0100 (CET) Message-Id: <20010103233716.A82F25E68@libero.sunshine.ale> Date: Thu, 4 Jan 2001 00:37:16 +0100 (CET) From: aledema@iol.it Reply-To: aledema@iol.it To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: kern/24059: USB support broken in SMP kernel Resent-Sender: gnats@FreeBSD.org Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 24059 >Category: kern >Synopsis: USB support broken in SMP kernel >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Jan 03 15:40:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: Alessandro de Manzano >Release: FreeBSD 4.2-STABLE i386 >Organization: no >Environment: FreeBSD libero.sunshine.ale 4.2-STABLE FreeBSD 4.2-STABLE #0: Mon Jan 1 20:43:09 CET 2001 root@libero.sunshine.ale:/usr/obj/usr/src/sys/LIBERO2 i386 Motherboard Microstar MS-6321 (694D Pro), dual socket 370 ATX board. Running with #2 Intel Celeron 433Mhz CPUs and 96Mb RAM. Here is the "usbdevs -v output": Controller /dev/usb0: addr 1: self powered, config 1, UHCI root hub(0x0000), VIA(0x0000), rev 0x0100 port 1 powered port 2 powered Controller /dev/usb1: addr 1: self powered, config 1, UHCI root hub(0x0000), VIA(0x0000), rev 0x0100 port 1 powered port 2 powered Here is the complete dmesg output (I've enabled USB debug options in kernel) Copyright (c) 1992-2001 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.2-STABLE #0: Mon Jan 1 20:43:09 CET 2001 root@libero.sunshine.ale:/usr/obj/usr/src/sys/LIBERO2 Timecounter "i8254" frequency 1193182 Hz CPU: Pentium II/Pentium II Xeon/Celeron (434.32-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x665 Stepping = 5 Features=0x183fbff real memory = 100597760 (98240K bytes) avail memory = 93802496 (91604K bytes) Programming 24 pins in IOAPIC #0 IOAPIC #0 intpin 2 -> irq 0 FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 0, version: 0x00040011, at 0xfee00000 cpu1 (AP): apic id: 1, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 2, version: 0x00170011, at 0xfec00000 Preloaded elf kernel "kernel" at 0xc03d0000. Pentium Pro MTRR support enabled md0: Malloc disk npx0: on motherboard npx0: INT 16 interface pcib0: on motherboard pci0: on pcib0 pcib2: at device 1.0 on pci0 pci1: on pcib2 pci1: at 0.0 irq 16 isab0: at device 7.0 on pci0 isa0: on isab0 atapci0: port 0xc000-0xc00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: port 0xc400-0xc41f irq 19 at device 7.2 on pci0 uhci0: LegSup = 0x00002010 uhci_run: setting run=0 uhci_run: done cmd=0x80 sts=0x20 uhci_run: setting run=1 uhci_run: done cmd=0x81 sts=0x0 usb0: 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: port 0xc800-0xc81f irq 19 at device 7.3 on pci0 uhci1: LegSup = 0x00002010 uhci_run: setting run=0 uhci_run: done cmd=0x80 sts=0x20 uhci_run: setting run=1 uhci_run: done cmd=0x81 sts=0x0 usb1: 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: port 0xd400-0xd403,0xd000-0xd003,0xcc00-0xccff irq 18 at device 7.5 on pci0 atapci1: port 0xe800-0xe83f,0xe400-0xe403,0xe000-0xe007,0xdc00-0xdc03,0xd800-0xd807 mem 0xdc000000-0xdc01ffff irq 18 at device 12.0 on pci0 ata2: at 0xd800 on atapci1 ata3: at 0xe000 on atapci1 pci0: (vendor=0x104c, dev=0x8020) at 13.0 irq 19 xl0: <3Com 3c900-COMBO Etherlink XL> port 0xec00-0xec3f irq 17 at device 15.0 on pci0 xl0: Ethernet address: 00:10:4b:b0:38:07 xl0: selecting 10baseT transceiver, half duplex pcib1: on motherboard pci2: on pcib1 fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: at port 0x60,0x64 on isa0 atkbd0: flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: irq 12 on atkbdc0 psm0: model IntelliMouse, device ID 3 vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: 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: at port 0x378-0x37f irq 7 on isa0 ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode ppi0: on ppbus0 lpt0: on ppbus0 lpt0: Interrupt-driven port APIC_IO: Testing 8254 interrupt delivery APIC_IO: routing 8254 via IOAPIC #0 intpin 2 IP packet filtering initialized, divert enabled, rule-based forwarding enabled, default to accept, logging limited to 100 packets/entry by default DUMMYNET initialized (000608) BRIDGE 990810, have 8 interfaces -- index 1 type 6 phy 0 addrl 6 addr 00.10.4b.b0.38.07 IP Filter: v3.4.8 initialized. Default = pass all, Logging = enabled SMP: AP CPU #1 Launched! ad0: 9787MB [19885/16/63] at ata0-master UDMA66 acd0: CDROM at ata1-master using WDMA2 Mounting root from ufs:/dev/ad0s1a >Description: I installed FreeBSD 4.1-release on this machine (from WC CDs) correctly, and immediately after recompiling kernel it viewed fine my Logitech Pilot Wheel USB Mouse. It was real plug'n'play too (using /etc/usbd.conf). All fine. (I used it also on a precedent K6-400 machine with 4.1-S) After cvsupping to 4.2-stable and recompiling all enabling SMP support in kernel I noted that USB mouse stopped working. I tried recompiling just a kernel without SMP options and the mouse resumed normal operation. I booted many times using SMP kernel and non-SMP kernel, every time the behavior of USB was reproduced. So I think there are some problems with USB code when running in SMP kernels. Plugging the mouse in the USB port under SMP kernel caused also interval console messages from usbd about resetting the usb ports itself (I guess it's something about retrying handshaking or similar). >How-To-Repeat: Use a SMP kernel and some USB device (to be honest I tried with mouse only, till now) >Fix: use a non-SMP kernel >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message