|
From: <geo...@nt...> - 2007-03-20 09:00:38
|
Hi there,
I have browsed the whole mailing list archive before posting this.
Before complaining about libUSb, I have to say that I had a first
successful experience with this great library on a DFU class
device both on Windows and Linux, so I thought it would be very
easy to get our new HID project working...
After reading the LibUsb-Win32 WEB main page and many users messages
I have understood the following:
- working with an USB HID class device, I don't need the libusb0.sys
driver to get in the way. Moreover, we have choosen the HID class
so that users of our demo application don't have to install any
driver.
- we only need libUsb0.dll and a filter driver which seems to be
activated by launching a libusbd-nt.exe service we can see running
through the Windows Tasks Manager.
- we can hide the filter driver launching process by starting it
from our installation program.
Please tell me the above assumptions are wrong because this filter
driver stuff seems to be a tricky part of libUsb.
OK. Here is the problem description:
usbDevice = device_init(vid, pid);
deviceHandle = usb_open(usbDevice);
usb_set_configuration(deviceHandle, CONFIGURATION); // config = 0
usb_claim_interface(deviceHandle, INTERFACE); // interface = 0
I have removed all tests to make things clearer.
device_init, usb_open and usb_set_configuration return codes are OK.
The usb_claim_interface returns the error code -22
OS version: Windows 2K 5.00.2195 SP4
libUsb: 0.1.10.1
Peripheral Manager: our HID device status is OK
Task Manager: libusbd-nt.exe is running
I have installed the 0.1.12.0 version to check if it could
fix the problem, but the things go even worse: the filter driver
service starts then stops after a few seconds. This has been tested
on a Windows XP machine with the same behavior: the service starts and
stops.
Many thanks for your help and time!
Georges
|