Date: Sun, 21 Mar 2010 11:34:28 +0100 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-usb@freebsd.org Subject: Re: Find Vendor/Product ID from uhid device Message-ID: <201003211134.28085.hselasky@c2i.net> In-Reply-To: <4BA52239.8000300@martinlaabs.de>
index | next in thread | previous in thread | raw e-mail
On Saturday 20 March 2010 20:30:01 Martin Laabs wrote:
> Hi,
>
> I'am currently porting the linux-js joystick driver to the new USB stack.
> Since this driver operates on top other drivers (in the case of USB ontop
> the uhid driver) it needs to figure out whether /dev/uhid* is a device it
> can operate on.
> The driver scans all /dev/uhidX entries and compares the vendor and product
> id against a table. In the old stack this was possible through scanning all
> /dev/ugenX devices, get the device_info struct and compare the
> udi_devnames[] against the "uhidX" string.
> However - the udi_devname string disappeared in the new usb stack and this
> way seems to be not open anymore for me.
> Can you give me a hint how to figure the vendor and product id of a
> /dev/uhidX device.
>
Hi,
I would recommend you use libusb in userland to do this. Then you get all the
information you need for the ID-match and more. If that is not desirable, we
can add that information like an IOCTL. usbconfig show_ifdrv might also give
you some clues.
Currently the libusb20 interface is the most stable.
Doesn't the linux-js joystick driver already have a parser for HID descriptors
and more?
man libusb20
You might find the following function useful to detach the /dev/uhidX driver.
Currently only implemented in 9-current, but present in 8-release:
libusb20_dev_detach_kernel_driver(pdev, iface_index);
--HPS
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003211134.28085.hselasky>
