Date: Mon, 5 Sep 2011 15:41:41 +0200 From: Hans Petter Selasky <hselasky@c2i.net> To: freebsd-hackers@freebsd.org Cc: Daniel Grech <dgre090@gmail.com> Subject: Re: Detach USB Device Driver and Attach it to ugen driver at runtime Message-ID: <201109051541.41092.hselasky@c2i.net> In-Reply-To: <CAG167sZd4WBSx--ukEb2RXKq0V0-DZJcMYt176bR1Y-snjkFaQ@mail.gmail.com> References: <CAG167sZd4WBSx--ukEb2RXKq0V0-DZJcMYt176bR1Y-snjkFaQ@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
On Monday 05 September 2011 15:40:44 Daniel Grech wrote:
> Hi, I'm using libusb to gain access to raw USB Data from userspace. My
> problem is that this library only works with devices which are treated as
> generic devices ("handled by the ugen driver"). I need a mechanism that
> will allow me to detach any device specific drivers that are attached to a
> device and attach the ugen driver instead. I want to do this without
> re-compiling the FreeBSD Kernel. Thanks in advance for your help.
Hi,
The following functions should be implemented:
int
libusb20_dev_detach_kernel_driver(struct libusb20_device *pdev,
uint8_t iface_index);
int libusb_detach_kernel_driver(libusb_device_handle *devh, int
interface) or int libusb_detach_kernel_driver_np(libusb_device_handle
*devh, int interface) Detach a kernel driver from an interface. This is
needed to claim an interface required by a kernel driver. Returns 0 on
success, LIBUSB_ERROR_NOT_FOUND if no kernel driver was active,
LIBUSB_ERROR_INVALID_PARAM if the interface does not exist,
LIBUSB_ERROR_NO_DEVICE if the device has been disconnected and a
LIBUSB_ERROR code on failure. This function is non-portable.
man libusb20
man libusb
--HPS
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201109051541.41092.hselasky>
