Querying USB device's bInterfaceNumber

Greg KH greg at kroah.com
Tue Nov 3 12:03:12 PST 2009


On Tue, Nov 03, 2009 at 02:44:34PM -0500, Adam Jackson wrote:
> On Tue, 2009-11-03 at 10:37 -0800, Greg KH wrote:
> > On Tue, Nov 03, 2009 at 01:13:16PM -0500, Adam Jackson wrote:
> > > On Tue, 2009-11-03 at 10:03 -0800, Ping wrote:
> > > > I need a quick answer since searching through the X server code takes
> > > > too long.  
> > > > 
> > > > Is there a way for me to get the bInterfaceNumber from a device HID
> > > > Descriptor inside an xorg Input device driver?  I feel there should be
> > > > an existing mechanism to fulfil this, maybe through an ioctl call?
> > > > Can someone show me what parameter(s) I need to use if the ioctl is
> > > > supported?
> > > > 
> > > > Please also reply to me if you know there is no existing way to get
> > > > the bInterfaceNumber inside an xorg device driver so I will add my own
> > > > workaround in the kernel driver.
> > > 
> > > X doesn't have any particular knowledge of USB internally, you'll need
> > > to roll your own.
> > 
> > As X has knowledge of PCI internally, perhaps we should add some basic
> > USB support as well to prevent people from having to add odd hacks to
> > kernel drivers for stuff like this?
> 
> I'm more inclined to say that different interfaces on the same USB
> device should be different event streams in /dev/input/event*.  But I'm
> not completely sure what problem is being solved here; in particular, if
> the different interfaces would affect the same state machine, then that
> doesn't really work.

They "should", but there are lots of wierd USB devices out there, some
that have 1 driver controling multiple interfaces just because some
hardware person didn't really read the USB spec :(

Either way, exposing the USB information to the xorg driver should be
easy enough.

Ping, why do you need this information in your xorg driver?

thanks,

greg k-h


More information about the xorg-devel mailing list