|
From: Frank T. <fr...@fr...> - 2009-10-16 09:04:32
|
> The filter driver is known to cause problems. Do you have other > application which access your device using the native HID API? > If yes, you can not use the libusb-win32 driver. If no, you can > use the libusb-win32 driver. > > But it is far better to use native HID API and not libusb-win32 > 0.1 for HID device under Windows. What kind of problems? I've read this before but no one has posted details. What symptoms should I watch for? I can't really use the native HID. The application is available on Windows and Linux and I don't particularly want to maintain a Windows HID wrapper. Once it is all up and running, it goes fine. I haven't noticed any problems. > > >> > >> By the way, even if libusb-win32 listed two DFU device, your > >> application should not be confused. Why does that happen? > > > > It's confused because it doesn't know which device to program. It started > > with 1 HID device, 0 DFU devices. Then the HID device was told to become a > > DFU device, and suddenly there is 0 HID devices and 2 DFU devices. It claims > > to the user there is more than 1 device. > > What if you just use the 1st device or just use the 2nd device? I changed my code so it just programs the first device. But that isn't a suitable fix. I need to ensure if someone has two devices plugged in, they are going to program the write one. > What does "lsusb -vvv" say about your device under Linux? > Does it show two DFU device? Linux is fine. It only shows 1 device. I needed AVR32 Studio again, so I reinstalled it. There is another package, the avr32-toolchain (compiler, device programmer, etc) which I think is the culprit. Part of the install installs something called AVR USB - some kind of USB drivers. However, even if I uninstalled it the problem remained. Any idea how to locate and force remove the drivers? How does windows match the PID/VID to the device driver? > All in all, I suspect this has something to do with the filter > driver. Uninstall it and see if that helps. I did that, then my application didn't work. The libusb debug shows... LIBUSB_DLL: info: usb_os_find_busses: found bus-0 And that's it. No devices. So, for an application to list all the devices on my computer, what do I need? Just libusb0.dll? Or libusb0.sys as well. |