svn commit: r186730 - in head: lib/libusb20 sys/dev/usb2/controller sys/dev/usb2/core sys/dev/usb2/ethernet sys/dev/usb2/image sys/dev/usb2/include sys/dev/usb2/serial sys/dev/usb2/sound sys/dev/us...

Stanislav Sedov stas at
Tue Jan 6 06:59:08 PST 2009

Hash: SHA1

On Tue, 6 Jan 2009 12:15:37 +0100
Hans Petter Selasky <hselasky at> mentioned:
> As long as your device shows up like "ugen0.2" it is detected properly and 
> will function. Check with "usbconfig".
> Suggestions:
> usbconfig -u 0 -a 2 reset
> usbconfig -u 0 -a 2 dump_device_desc

This doesn't change anything, the device fails to attach.
> The failures indicate that the firmware on your USB device is not reponding 
> correctly at the time the set address command is being sent to the device.

Do you have some ideas how this situation could be handled in the new stack?

> As you can see the new USB stack will try to re-enumerate the device one time.
> Have you loaded the correct driver for your serial device?
> kldload usb2_serial_bsa

Yes, this module is loaded and I can see it enters the probe routine. But as
the configuration index doesn't match what the driver expects it fails to probe.
Driver checks for configuration idx 1, but I see this device on idx 0.
ugen0.2: <AnyDATA CDMA Products AnyDATA Corporation> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON

The old stack didn't checked for specific configuration index, but tryed to select
the appropriate one in the attach routine.
        /* Move the device into the configured state. */
        err = usbd_set_config_index(dev, UBSA_CONFIG_INDEX, 1);

What is the reason you have reworked this? Should this be changed to be handled
like in the old driver?


- -- 
Stanislav Sedov



More information about the svn-src-head mailing list