Re: Need help to support USB3.0 HID Keyboard device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 22, 2013 at 04:47:10PM +0530, Bhavik Kothari wrote:
> Hi,
> 
> I have been working on USB3.0 device driver and wanted to support
> USB3.0 HID (keyboard).
> 
> To support HID Keyboard device, I have made below Interface descriptor:
> 
> Interface Descriptor with alternate settings 0:
> 
>     bLength = 0x9;
>     bDescriptorType = 0x4 (USB_DT_INTERFACE);
> 
>     bInterfaceNumber = 0x0;
>     bAlternateSetting = 0x0;
>     bNumEndpoints = 0x0;
>     bInterfaceClass = (0x3) USB_CLASS_HID;
>     bInterfaceSubClass = 0x0;
>         bInterfaceProtocol = 0x1 (keyboard);
>         iInterface = 0x0;
> 
> Interface Descriptor with alternate settings 1 along with Super
> speed endpoints:
> 
>         bLength = 0x9;
>         bDescriptorType = 0x4 (USB_DT_INTERFACE);
> 
>         bInterfaceNumber = 0x0;
>         bAlternateSetting = 0x1;
>         bNumEndpoints = 0x2; (One for EP IN Interrupt and other for
> EP OUT Interrupt)
>         bInterfaceClass = (0x3) USB_CLASS_HID;
>         bInterfaceSubClass = 0x0;
>         bInterfaceProtocol = 0x1 (keyboard);
>         iInterface = 0x0;
> 
> However, when xHCI does set_config at that time Interface zero and
> alternate setting is zero, it never does set_interface with
> interface zero and alternate setting one, hence host does not detect
> HID device.
> 
> So, would you please assist me that what I have to do, so host does
> set interface with alternate setting one.

It's up to a userspace program to switch to the alternate interface,
right?  The OS can't just "know" to do that without some type of
interaction from you.

Have you run your device under the USB verification test suite for
Windows?  I suggest you do that first, to ensure the firmware is working
properly before worrying about how Linux is handling the device.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux