From owner-freebsd-usb@FreeBSD.ORG Sat Feb 18 20:31:40 2012 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2A871065675 for ; Sat, 18 Feb 2012 20:31:40 +0000 (UTC) (envelope-from jdavidlists@gmail.com) Received: from mail-yx0-f182.google.com (mail-yx0-f182.google.com [209.85.213.182]) by mx1.freebsd.org (Postfix) with ESMTP id 89A3F8FC1E for ; Sat, 18 Feb 2012 20:31:40 +0000 (UTC) Received: by yenl12 with SMTP id l12so2599031yen.13 for ; Sat, 18 Feb 2012 12:31:39 -0800 (PST) Received-SPF: pass (google.com: domain of jdavidlists@gmail.com designates 10.236.177.74 as permitted sender) client-ip=10.236.177.74; Authentication-Results: mr.google.com; spf=pass (google.com: domain of jdavidlists@gmail.com designates 10.236.177.74 as permitted sender) smtp.mail=jdavidlists@gmail.com; dkim=pass header.i=jdavidlists@gmail.com Received: from mr.google.com ([10.236.177.74]) by 10.236.177.74 with SMTP id c50mr20865013yhm.130.1329597099998 (num_hops = 1); Sat, 18 Feb 2012 12:31:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; bh=Wzv1xNp2FoQCaieKuVCyhiuEBOYtpFNadMKbqc470hw=; b=qXCye9Vzf0HYCisnk2EYhl7WsIj9h8u62AkpSC4lmLlZMWcd6hTRB/K6J8LI2PTHbq CfMHSO0TB0tRx6NVdiuf2irQ2xAJLcfSjVwMmYwf5eIl0F+oDFY+uyqEya+dRdgWJglo bwrV5dh3vTu7o6tKGHwvJ3hY8JJXwViljoT6I= MIME-Version: 1.0 Received: by 10.236.177.74 with SMTP id c50mr15931880yhm.130.1329595245510; Sat, 18 Feb 2012 12:00:45 -0800 (PST) Sender: jdavidlists@gmail.com Received: by 10.236.168.33 with HTTP; Sat, 18 Feb 2012 12:00:45 -0800 (PST) Date: Sat, 18 Feb 2012 15:00:45 -0500 X-Google-Sender-Auth: EjiqutdQmU1DciC0mRtVY6sayLs Message-ID: From: J David To: freebsd-usb@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: 8.3-PRERELEASE problem with previously-working USB devices X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Feb 2012 20:31:40 -0000 Recently, I've come across a problem with some key USB devices that used to work but since moving this server to FreeBSD 8-STABLE, they don't. This is 8.3-PRERELEASE at svn rev r231818. The devices in question are a USB CD-ROM, USB keyboard, and USB mouse. All are provided directly onto the motherboard by an IPMI controller for remote lights-out management. This previously worked, but this machine was last running FreeBSD in the late 6.x early 7.x era. And indeed they all *still* work all the way up through the boot process until the loader exits and the kernel takes over. (Well, except the virtual mouse, which I have no way to test / no need for.) When the machine boots, the following appears on console/dmesg: usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 usbus2: 12Mbps Full Speed USB v1.0 usbus3: 480Mbps High Speed USB v2.0 ugen0.1: at usbus0 uhub0: on usbus0 ugen1.1: at usbus1 uhub1: on usbus1 ugen2.1: at usbus2 uhub2: on usbus2 ugen3.1: at usbus3 uhub3: on usbus3 uhub0: 2 ports with 2 removable, self powered uhub1: 2 ports with 2 removable, self powered uhub2: 2 ports with 2 removable, self powered uhub3: 6 ports with 6 removable, self powered usb_alloc_device: set address 2 failed (USB_ERR_STALLED, ignored) Root mount waiting for: usbus3 usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_STALLED, ignored) Root mount waiting for: usbus3 Root mount waiting for: usbus3 usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_STALLED, ignored) Root mount waiting for: usbus3 ugen3.2: at usbus3 (disconnected) uhub_reattach_port: could not allocate new device Here's what shows up after boot: # usbconfig ugen0.1: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE ugen1.1: at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE ugen2.1: at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=SAVE ugen3.1: at usbus3, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE If I remove/re-add these devices at will, they do generate USB traffic visible to the machine. This part appears again on console/dmesg: uhub_reattach_port: could not allocate new device usb_alloc_device: set address 2 failed (USB_ERR_STALLED, ignored) usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_STALLED, ignored) usbd_req_re_enumerate: addr=2, set address failed! (USB_ERR_STALLED, ignored) ugen3.2: at usbus3 (disconnected) uhub_reattach_port: could not allocate new device Here is what usbdump shows: # usbdump -i usbus3 21:59:13.737075 usbus3.2 SUBM-CTRL-EP=00000000,SPD=HIGH,NFR=1,SLEN=8,IVAL=0 21:59:13.737238 usbus3.2 DONE-CTRL-EP=00000000,SPD=HIGH,NFR=1,SLEN=0,IVAL=0,ERR=STALLED 21:59:13.749995 usbus3.2 SUBM-CTRL-EP=00000080,SPD=HIGH,NFR=2,SLEN=8,IVAL=0 21:59:13.750109 usbus3.2 DONE-CTRL-EP=00000080,SPD=HIGH,NFR=1,SLEN=0,IVAL=0,ERR=STALLED 21:59:13.950535 usbus3.2 SUBM-CTRL-EP=00000080,SPD=HIGH,NFR=2,SLEN=8,IVAL=0 21:59:13.950607 usbus3.2 DONE-CTRL-EP=00000080,SPD=HIGH,NFR=1,SLEN=0,IVAL=0,ERR=STALLED (repeats a bunch more times -- total of 27 pairs, 54 packets) With more verbosity for the above, they each look like this: # usbdump -vvvv -i usbus3 22:01:23.705347 usbus3.2 SUBM-CTRL-EP=00000000,SPD=HIGH,NFR=1,SLEN=8,IVAL=0 frame[0] WRITE 8 bytes 0000 00 05 02 00 00 00 00 00 -- -- -- -- -- -- -- -- |........ | flags 0x50 status 0xea3a3 22:01:23.705461 usbus3.2 DONE-CTRL-EP=00000000,SPD=HIGH,NFR=1,SLEN=0,IVAL=0,ERR=STALLED frame[0] WRITE 0 bytes flags 0x50 status 0xca1a1 My focus is on getting the keyboard to work. To that and, here's the kernel config I'm using: include GENERIC nodevice umass nodevice ums nodevice ugen nodevice uhid nodevice ulpt nodevice ural nodevice urio nodevice uscanner nodevice aue nodevice axe nodevice cdce nodevice cue nodevice kue nodevice rue How can I help debug this in more detail? Thanks!