Date: Thu, 10 Oct 2013 09:51:05 +0200 From: Hans Petter Selasky <hps@bitfrost.no> To: "aseem.jolly" <aseem.jolly@gmail.com> Cc: freebsd-usb@freebsd.org Subject: Re: USB device configuration Message-ID: <52565C69.905@bitfrost.no> In-Reply-To: <1381390376377-5850751.post@n5.nabble.com> References: <1381274499940-5850403.post@n5.nabble.com> <5254FD72.2050507@bitfrost.no> <1381342263797-5850596.post@n5.nabble.com> <525649BB.2060906@bitfrost.no> <1381390376377-5850751.post@n5.nabble.com>
index | next in thread | previous in thread | raw e-mail
Hi,
On 10/10/13 09:32, aseem.jolly wrote:
>> 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.
Some devices have multiple configurations with different interfaces,
which the application selects depending on the use-case. Many devices
only have one configuration.
>
> 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?
You can use "usbdump" to figure out exactly what went wrong with regard
to USB requests. That might get you a clearer picture of what's going on.
--HPS
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52565C69.905>
