From: Philippe B. <phi...@gm...> - 2007-12-02 11:05:52
|
I a running into the same problem. Claiming interface fails because it is supposedly taken by another process. Does anyone has a workaround documented ? I'll look into the APCUPSD code, but it seems a complex method, at firstglance. TIA, --Philippe Xiaofan Chen wrote: > On 8/27/07, Soumen Mondal <ms...@so...> wrote: >> It seems like the interface is already claimed by kernel driver. To >> release the interface, you need to call the below function, before >> claiming that interface. >> >> int usb_detach_kernel_driver_np(usb_dev_handle *dev, int interface); >> >> Please refer usb.h for more info. >> > > That does not work for Mac OS X and only works for Linux. > > There is a change the OP can write a "simple dummy > kext driver". I just leant this from the libhid list. But I do > not have a Mac and I do not know how simple it is. > > Quote from: > http://www.apcupsd.org/manual/USB_Configuration.html > "During installation, Apcupsd will automatically install a > simple dummy kext driver designed to prevent Apple's monitoring > software from taking over the UPS. It is necessary to reboot in > order to activate the kext." > > If it is an HID device, the easier way might be to work with the > native HID API and forget about libusb... > > The situation is the same for libusb under FreeBSD. There is > no easy to detach the kernel HID driver. So one has to recompile > the kernel to use ugen instead of uhid. > > Xiaofan > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ |