USB device configuration

aseem.jolly aseem.jolly at gmail.com
Thu Oct 10 07:32:57 UTC 2013


>It is allowed to set the configuration multiple times. Refer to USB 
>2.0 specification.
In what possible scenario would we want to set the configuration again? I
know USB 2.0 specification allows it. I have also tried to modify the code
and have sent SET_CONFIGURATION request to the device multiple times, and
device didn't report any error.

Or do you mean different configurations of a device, if a device supports
more that one configuration?

>Is this making a difference for you?
I have scene a case in which we were unable to attach the umass driver to
the device but since USB_DEBUG was not enabled at that time so I was not
able to get more information out of it and being extremely intermittent in
nature, I am not able to reproduce it again. I am trying to figure out the
possible scenarios in which we might end up not attaching the driver to the
device. I believe if we are not able to select a configuration then we don't
attach the driver to the device.

In usb_unconfigure func:

        udev->curr_config_no = USB_UNCONFIG_NO;
        udev->curr_config_index = USB_UNCONFIG_INDEX

In usb_probe_and_attach func:
        if (udev->curr_config_index == USB_UNCONFIG_INDEX) {
                /* do nothing - no configuration has been set */
                goto done;
        }

>From the console logs, it is clear that SET_ADDRESS went successfully, have
noticed that we have assigned a ugen name to the device and also request to
get the String descriptors(Product, Manufacturer etc) went successfully so
that make me believe that there might be an error in performing
SET_CONFIGURATION request. Do you have any other suggestions?



--
View this message in context: http://freebsd.1045724.n5.nabble.com/USB-device-configuration-tp5850403p5850751.html
Sent from the freebsd-usb mailing list archive at Nabble.com.


More information about the freebsd-usb mailing list