On Tue, Jun 23, 2009 at 3:30 AM, Duane Ellis<open...@duaneellis.com> wrote:
> All - I believe - I am not sure - that the primary benefit of
> "libft2xxx" is as follows:
>
> (a)   It is measurably faster.
>
>    That just requires "work" to make it faster.
>
> (b)   It works on more platforms, ie: Win7, WinVista, because drivers
> exist for those platforms.
>
>    This is tough/hard, nobody on this list is a "windows driver developer".
>    Grrr. Such is life.

There are not many people who is a Windows driver developer (very few) and
is willing to contribute to open source projects (even fewer).

As of now, libusb-win32+libftdi is not the solution for 64bit Windows
users (Vista 64 bit and Windows 7 64bit). FTD2XX is the solution for them
(through private build).

I frequent the libusb-win32 mailing list along with libusb mailing list.
So I am familiar with the situations. But I am not a USB expert and
I can not help coding.

> (c)   Nobody was offering a universal "libusb" - type "INF" files for
> windows.
>
>    Looks like Freddie Chopin is working on that :-)  Perhaps - we could
> have a "contrib" folder with a *binary* libusb0.sys file
>    and associated "INF" files that references *ALL* ftdi based dongles
> - (The VID/PID list is in the source file...)
>    That *INF* file and matching SYS file should be deliverable with
> OpenOCD.

This is possible. But as Gene Smith tried, due to the fact
Windows will tend to favor the WHQL driver, there can be complications
even for XP/Vista 32bit. Again,  FTD2XX is the better solution for all
the Windows users.

That being said, I believe many Windows users can get the it
working if we package it nicely and with good instructions.
The universal INF helps.

> (d) There is another choice -  "WinUSB"
>
>    http://msdn.microsoft.com/en-us/library/aa476426.aspx
>
> As I understand, it is a a multi-(windoze)-platform solution that
> exposes the USB device, functionally in the same manor and style as
> "libusb" does, ie: the ablity (1) to rd/wr endpoints, (2) send control
> commands.

It only Works under XP and Vista (32bit or 64bit). Windows 2003
is basically XP enhanced. Windows XP64 bit has actually the
same kernel as Windows 2003 64bit.

WinUSB does not work for Windows 2000 users. FTD2xx works
for Windows 2000 users. libusb-win32 works from Windows 98SE/Win ME
to Win2k to XP/Vista (32bit). It actually works under XP 64bit as well.

> I believe there is the only open question that needs to be asked and
> answered.
>
> The MS-WinUSB driver - did not  *ship* with WinXP, but is available as a
> "co-install" for WinXP.
>
> As I understand (I have not confirmed, and I do not know all the details
> of it), the driver and associated OS-libraries/headers are *PRESENT* on
> Vista, and I presume Win7 (with appropriate dev tools installed),
> therefore it functionally *SHIPS* with the operating system, and as such
> it sould fall under the standard operating system component exception to
> the GPL.

WinUSB is present on Vista. I am using Vista 32 bit and I know it. It
should be included in Windows 7 as well.

> This solution is - by design - something that can be added to WinXP (the
> co-install solution).  I think of it sort of like this: "The old system
> only supplied a CDROM (read-only) driver" - later - new systems come
> with CD-WRITER (and today, we have CD-RW) - the *new* os does not
> require an upgrade, the *old* os has an upgrade path to make the
> CD-WRITER (and now CD-RW) work.
>
> I should - as a user of that old system - install the OS update - and be
> able to make use of that GPL software.

I am not a lawyer but I believe this should be the case. WinUSB is
from Microsoft and is part of the WDK. But again, who knows the
GPL well enough to confirm this? Many Linux users are enjoying
the proprietary driver (especially ATI/Nvidia) even though this is
a gray area.

> All is not rosy and perfect, "WinUSB" would require an INF file that
> *points* to the driver - much like the work that Freddy is working
> towards with a universal libusb inf file

Stephan Meyer (libusb-win32) user see WinUSB as the possible solution
for 64bit Windows as well. That is why he added the WinUSB backend
to libusb-win32 1.0 development branch. Unfortunately it is not working yet.
The libusb-win32 WinUSB backend simplifies the use of WinUSB.

If you are going this route, you may want to help Stephan finishing on
the libusb-win32 WinUSB backend. That may be faster than building
a new WinUSB backend for OpenOCD.

All in all, even though I think FTD2xx is the better solution for Windows
users (no matter 32bit or 64bit), there could be some packaged
solution (with libusb-win32+libftdi) for Windows 32bit users. This can be
the official binary which is compatible with GPL (with some limits). The build
kit idea for FTD2xx is also another solution.


-- 
Xiaofan http://mcuee.blogspot.com
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to