USB cdce stopped working (and not only cdce?)

Alexey Shuvaev shuvaev at physik.uni-wuerzburg.de
Mon Feb 8 17:48:45 UTC 2010


On Mon, Feb 08, 2010 at 04:33:08PM +0100, Matthias Apitz wrote:
> 
> Hello,
> 
> I've just realized that while plug-in my OpenMoko Freerunner into the
> USB port it does not give a cdce0 interface, but just an error:
> 
> Feb  8 16:29:26 current kernel: usb2_alloc_device:1569: set address 2
> failed (USB_ERR_STALLED, ignored)
> Feb  8 16:29:26 current kernel: usb2_alloc_device:1607: getting device
> descriptor at addr 2 failed, USB_ERR_STALLED!
> Feb  8 16:29:27 current kernel: usb2_req_re_enumerate:1519: addr=2, set
> address failed! (USB_ERR_STALLED, ignored)
> Feb  8 16:29:27 current kernel: usb2_req_re_enumerate:1533: getting
> device descriptor at addr 2 failed, USB_ERR_STALLED!
> Feb  8 16:29:28 current kernel: usb2_req_re_enumerate:1519: addr=2, set
> address failed! (USB_ERR_STALLED, ignored)
> Feb  8 16:29:28 current kernel: usb2_req_re_enumerate:1533: getting
> device descriptor at addr 2 failed, USB_ERR_STALLED!
> Feb  8 16:29:28 current kernel: ugen5.2: <(null)> at usbus5
> (disconnected)
> Feb  8 16:29:28 current kernel: uhub_reattach_port:416: could not
> allocate new device!
> 
> Until some days ago it worked (and I have not changed) the kernel since
> then:
> 
> # uname -a
> FreeBSD current.Sisis.de 8.0-CURRENT FreeBSD 8.0-CURRENT #5: Sun Jan 10
> 09:55:14 CET 2010     guru at current.Sisis.de:/usr/obj/usr/src/sys/GENERIC
> i386
> 
> # bzip2 -dc messages.*.bz2 | fgrep cdce
> Feb  5 12:51:21 current kernel: cdce0: <CDC Communications Control> on usbus5
> Feb  5 12:51:21 current kernel: ue0: <USB Ethernet> on cdce0
> Feb  5 14:30:40 current kernel: cdce0: at uhub0, port 1, addr 2 (disconnected)
> Feb  5 14:50:17 current kernel: cdce0: <CDC Communications Control> on usbus5
> Feb  5 14:50:17 current kernel: ue0: <USB Ethernet> on cdce0
> Feb  5 17:03:25 current kernel: cdce0: at uhub0, port 1, addr 2 (disconnected)
> Feb  4 14:21:52 current kernel: cdce0: <CDC Communications Control> on usbus5
> Feb  4 14:21:52 current kernel: ue0: <USB Ethernet> on cdce0
> Feb  4 15:00:05 current kernel: cdce0: at uhub0, port 1, addr 2 (disconnected)
> Feb  4 16:05:07 current kernel: cdce0: <CDC Communications Control> on usbus5
> Feb  4 16:05:07 current kernel: ue0: <USB Ethernet> on cdce0
> Feb  4 17:16:48 current kernel: cdce0: at uhub0, port 1, addr 2 (disconnected)
> 
> What could be the reason for the above message? Thx
> 
> 	matthias
> 
I have noticed that it is relatively easy to wedge the USB stack on recent
CURRENT. Personally I manage to reliable wedge it by a user-space program
using devel/libftdi (-> libusb in base) by re-programming the 'chunk-size'
from 4096 to 1 byte. Haven't looked at it more closely yet.

Another similar report was:
http://lists.freebsd.org/pipermail/freebsd-current/2010-January/015200.html

Under 'wedge' I mean that anything connected to a 'wedged' HUB fails to
enumerate.

Workarounds:
1) Try to use the port on another HUB (normally 1 HUB serves 2 USB ports).
2) Reboot the computer and try again.

Hans, do you have any ideas?

P.S. My CURRENT is not so current at the moment :)
~> uname -a
FreeBSD wep4035 9.0-CURRENT FreeBSD 9.0-CURRENT #0 r202285: Thu Jan 14 19:04:21 CET 2010     root at wep4035:/usr/obj/usr/src/sys/GENERIC  amd64

Alexey.


More information about the freebsd-current mailing list