On Friday 26 June 2009 17:15:12 Duane Ellis wrote:
> Zach Welch wrote:
> > Only libusb+libftdi serves our long-term interests.
>
> Wrong.
>
> "libusb" is a *blocking* issue that we cannot control, fix, nor
> whatever. LIBUSB is not supported by *newer* windows platforms. Unless
> and until it is supported it becomes a dead end solution, period, end of
> story.
>
> I believe the "WinUSB" solution is a solution, that for some reason
> keeps being left off your list.
>
> http://msdn.microsoft.com/en-us/library/aa476426.aspx
>
> -duane.

I've been investigating the Windows USB mess a little yesterday. Maybe someone 
can help fill in the uncertainties, here's what I have collected so far.

o libusb-win32 is API compatible with libusb 0.1, but is capable of somethings 
  that libusb 0.1 can't

o libftdi apparently works with libusb-win32's API (see for example Freddie's 
  post)

o libusb-win32 comes with 3 (maybe 4) backends
  - a libusb driver and a libusb filter driver (not sure if this
    differenciation is still correct)
  - a HID backend (I've seen something like that with Keil's ULINK I guess,
    which looks like a HID to Windows, and thus needs no driver)
  - a WinUSB backend

o libusb-win32's drivers are supposed to be a dead end because they wont work
  with 64-bit windows (and probably not with Windows 7), but they do work for 
  older versions that don't have WinUSB support (particularly 2000... leaving  
  98/ME behind doesn't sound overly disturbing to me)

o the FTDI chips are not HID, so the HID backend is dead for our purposes

o the WinUSB backend brings a WHQL signed driver, which is good, because it
  runs on all windows versions that required signed drivers (Vista 64-bit,
  Windows 7)

o The WinUSB How-To says that you need to get the whole driver package
  including the .inf file signed. Some postings to newsgroups suggest that 
  this is not necessary. It might be that you get a warning, which shouldn't
  be that much of a problem.

o libusb-win32's development seems sporadic if not stalled

Conclusions

+ libusb-win32 would be good, because it works on all present windows
  platforms, and because it's supposed to work on upcoming versions, too

+ libusb-win32 would be good, because it allows us to use libftdi, which 
  implements all the FTDI-chip specific USB communication. Using the 
  information available in libftdi wouldn't be much of a problem, but it's 
  certainly a lot of coding work that is mostly unrelated to OpenOCD

- I have no idea about how stable and reliable libusb-win32 is

o (Re-)writing libftdi with plain WinUSB should be possible and would remove 
  the uncertainties of libusb-win32, but would burden the OpenOCD project with
  the task of keeping it stable and up to date. It would also leave out 
  Windows 2000 and before.

Best Regards,

Dominic

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to