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...

Hans Petter Selasky hselasky at c2i.net
Tue Jan 6 07:11:19 PST 2009


On Tuesday 06 January 2009, Stanislav Sedov wrote:
> On Tue, 6 Jan 2009 12:15:37 +0100
>
> Hans Petter Selasky <hselasky at c2i.net> 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?

The new is that the driver is not allowed to set the config index by itself.

Try:

usbconfig -u 0 -a 2 set_config 1

You can for example add a quirk for this, see "usbconfig -h | grep -i quirk". 
I know this is not so easy, but if you can make a general rule for when 
selecting another configuration, I will add it.

Could you dump me the descriptors of your USB device?

usbconfig -u 0 -a 2 dump_curr_config_desc dump_device_desc

--HPS


More information about the svn-src-head mailing list