Discussion:
How do I discover port names (/dev/cu.usb… or COM…) from devices
Robert Poor
2018-03-09 01:48:42 UTC
Permalink
[Disclaimer: I'm using the pylibftdi library as my sole access to the
libftdi library, so pardon any translation errors...]

I'm running in an environment where there may be multiple FTDI devices
plugged in. And I'm running other code (a Modbus library) that needs to
know the port names (i.e. /dev/cu.usbxxx on unix/osx or COMxx on Windows)
for each FTDI device.

I'm using ftdi_usb_find_all() (via pylibftdi's Device.list_devices()) to
get the list of serial numbers -- that works. But I need to know the port
names for each device.

Is there a call in libftdi that will produce the port name for a given
serial number?

TIA.

- rdp


--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Ryan Tennill
2018-03-09 01:59:08 UTC
Permalink
Post by Robert Poor
[Disclaimer: I'm using the pylibftdi library as my sole access to the
libftdi library, so pardon any translation errors...]
I'm running in an environment where there may be multiple FTDI devices
plugged in.  And I'm running other code (a Modbus library) that needs
to know the port names (i.e. /dev/cu.usbxxx on unix/osx or COMxx on
Windows) for each FTDI device.
I'm using ftdi_usb_find_all() (via pylibftdi's Device.list_devices())
to get the list of serial numbers -- that works.  But I need to know
the port names for each device.
Is there a call in libftdi that will produce the port name for a given
serial number?
TIA.
- rdp
Pyserial can do this. http://pyserial.readthedocs.io/en/latest/tools.html

Not sure how well it works on osx/windows but I know it works on Linux.

Ryan

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Robert Poor
2018-03-09 02:56:15 UTC
Permalink
@Ryan:

I was trying to ditch the pyserial lib specifically because of problems on
Windows, notably:

https://github.com/pyserial/pyserial/issues/283

But since I have a workaround, I'll stick with that until someone tells me
how to do it with libftdi...

- Robert
Post by Ryan Tennill
Post by Robert Poor
[Disclaimer: I'm using the pylibftdi library as my sole access to the
libftdi library, so pardon any translation errors...]
I'm running in an environment where there may be multiple FTDI devices
plugged in. And I'm running other code (a Modbus library) that needs to
know the port names (i.e. /dev/cu.usbxxx on unix/osx or COMxx on Windows)
for each FTDI device.
I'm using ftdi_usb_find_all() (via pylibftdi's Device.list_devices()) to
get the list of serial numbers -- that works. But I need to know the port
names for each device.
Is there a call in libftdi that will produce the port name for a given
serial number?
TIA.
- rdp
Pyserial can do this. http://pyserial.readthedocs.io/en/latest/tools.html
Not sure how well it works on osx/windows but I know it works on Linux.
Ryan
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Ryan Tennill
2018-03-09 03:45:11 UTC
Permalink
That's a shame! I was excited to have such an easy solution for a
decidedly annoying problem... I can't help much on the Windows side of
things unfortunately. Are the devices off-the-shelf products or are they
something custom built for your application?

In the past I have used this udev rule to create symlinks that helped me
map out the devices. If you use the PROGRAM={} you can run a script that
produces the name of the device instead of using the symlink.

http://www.reactivated.net/writing_udev_rules.html#external-naming

# udev rule for AWARE MCCM G2 serial interfaces
#identify FTDI devices with VID/PID pair and create a convent symlink in
/dev
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", GROUP="plugdev",
SYMLINK+="%s{product}_%s{serial}"
Post by Robert Poor
I was trying to ditch the pyserial lib specifically because of
https://github.com/pyserial/pyserial/issues/283
But since I have a workaround, I'll stick with that until someone
tells me how to do it with libftdi...
- Robert
On Thu, Mar 8, 2018 at 5:59 PM, Ryan Tennill
[Disclaimer: I'm using the pylibftdi library as my sole access
to the libftdi library, so pardon any translation errors...]
I'm running in an environment where there may be multiple FTDI
devices plugged in.  And I'm running other code (a Modbus
library) that needs to know the port names (i.e.
/dev/cu.usbxxx on unix/osx or COMxx on Windows) for each FTDI
device.
I'm using ftdi_usb_find_all() (via pylibftdi's
Device.list_devices()) to get the list of serial numbers --
that works.  But I need to know the port names for each device.
Is there a call in libftdi that will produce the port name for
a given serial number?
TIA.
- rdp
Pyserial can do this.
http://pyserial.readthedocs.io/en/latest/tools.html
<http://pyserial.readthedocs.io/en/latest/tools.html>
Not sure how well it works on osx/windows but I know it works on Linux.
Ryan
--
libftdi - see http://www.intra2net.com/en/developer/libftdi
<http://www.intra2net.com/en/developer/libftdi> for details.
To unsubscribe send a mail to
------------------------------------------------------------------------
*libftdi* - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Robert Poor
2018-03-09 07:26:59 UTC
Permalink
@Ryan:

We are using garden variety FT232R chips (VID 0403, PID 6001). (Well,
almost garden variety -- we've reprogramed their EEPROM so you can wiggle
CBUS 03 in bitbang mode which turns on and off the 5V power to the
connected instrument. That's why I need libftdi in the first place...)

Your udev solution sounds elegant. There's just one problem: Window's
isn't Linux. :)

I'll keep digging.
Post by Ryan Tennill
That's a shame! I was excited to have such an easy solution for a
decidedly annoying problem... I can't help much on the Windows side of
things unfortunately. Are the devices off-the-shelf products or are they
something custom built for your application?
In the past I have used this udev rule to create symlinks that helped me
map out the devices. If you use the PROGRAM={} you can run a script that
produces the name of the device instead of using the symlink.
http://www.reactivated.net/writing_udev_rules.html#external-naming
# udev rule for AWARE MCCM G2 serial interfaces
#identify FTDI devices with VID/PID pair and create a convent symlink in
/dev
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", GROUP="plugdev",
SYMLINK+="%s{product}_%s{serial}"
I was trying to ditch the pyserial lib specifically because of problems on
https://github.com/pyserial/pyserial/issues/283
But since I have a workaround, I'll stick with that until someone tells me
how to do it with libftdi...
- Robert
Post by Ryan Tennill
Post by Robert Poor
[Disclaimer: I'm using the pylibftdi library as my sole access to the
libftdi library, so pardon any translation errors...]
I'm running in an environment where there may be multiple FTDI devices
plugged in. And I'm running other code (a Modbus library) that needs to
know the port names (i.e. /dev/cu.usbxxx on unix/osx or COMxx on Windows)
for each FTDI device.
I'm using ftdi_usb_find_all() (via pylibftdi's Device.list_devices()) to
get the list of serial numbers -- that works. But I need to know the port
names for each device.
Is there a call in libftdi that will produce the port name for a given
serial number?
TIA.
- rdp
Pyserial can do this. http://pyserial.readthedocs.io
/en/latest/tools.html
Not sure how well it works on osx/windows but I know it works on Linux.
Ryan
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
------------------------------
*libftdi* - see http://www.intra2net.com/en/developer/libftdi for details.
------------------------------
*libftdi* - see http://www.intra2net.com/en/developer/libftdi for details.
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Ryan Tennill
2018-03-09 07:41:35 UTC
Permalink
You might find something useful in here:
https://github.com/Microsoft/Windows-driver-samples/tree/master/usb/usbview.

Bring your waders though, there's quite a bit of code to sort through.

Ryan
We are using garden variety FT232R chips (VID 0403, PID 6001).  (Well,
almost garden variety -- we've reprogramed their EEPROM so you can
wiggle CBUS 03 in bitbang mode which turns on and off the 5V power to
the connected instrument. That's why I need libftdi in the first place...)
Your udev solution sounds elegant.  There's just one problem: Window's
isn't Linux.  :)
I'll keep digging.
On Thu, Mar 8, 2018 at 7:45 PM, Ryan Tennill
That's a shame! I was excited to have such an easy solution for a
decidedly annoying problem... I can't help much on the Windows
side of things unfortunately. Are the devices off-the-shelf
products or are they something custom built for your application?
In the past I have used this udev rule to create symlinks that
helped me map out the devices. If you use the PROGRAM={} you can
run a script that produces the name of the device instead of using
the symlink.
http://www.reactivated.net/writing_udev_rules.html#external-naming
<http://www.reactivated.net/writing_udev_rules.html#external-naming>
# udev rule for AWARE MCCM G2 serial interfaces
#identify FTDI devices with VID/PID pair and create a convent
symlink in /dev
SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", GROUP="plugdev",
SYMLINK+="%s{product}_%s{serial}"
Post by Robert Poor
I was trying to ditch the pyserial lib specifically because of
https://github.com/pyserial/pyserial/issues/283
<https://github.com/pyserial/pyserial/issues/283>
But since I have a workaround, I'll stick with that until someone
tells me how to do it with libftdi...
- Robert
On Thu, Mar 8, 2018 at 5:59 PM, Ryan Tennill
[Disclaimer: I'm using the pylibftdi library as my sole
access to the libftdi library, so pardon any translation
errors...]
I'm running in an environment where there may be multiple
FTDI devices plugged in.  And I'm running other code (a
Modbus library) that needs to know the port names (i.e.
/dev/cu.usbxxx on unix/osx or COMxx on Windows) for each
FTDI device.
I'm using ftdi_usb_find_all() (via pylibftdi's
Device.list_devices()) to get the list of serial numbers
-- that works.  But I need to know the port names for
each device.
Is there a call in libftdi that will produce the port
name for a given serial number?
TIA.
- rdp
Pyserial can do this.
http://pyserial.readthedocs.io/en/latest/tools.html
<http://pyserial.readthedocs.io/en/latest/tools.html>
Not sure how well it works on osx/windows but I know it works on Linux.
Ryan
--
libftdi - see http://www.intra2net.com/en/developer/libftdi
<http://www.intra2net.com/en/developer/libftdi> for details.
To unsubscribe send a mail to
------------------------------------------------------------------------
*libftdi* - see http://www.intra2net.com/en/developer/libftdi
<http://www.intra2net.com/en/developer/libftdi> for details.
To unsubscribe send a mail to
------------------------------------------------------------------------
*libftdi* - see http://www.intra2net.com/en/developer/libftdi
<http://www.intra2net.com/en/developer/libftdi> for details.
To unsubscribe send a mail to
------------------------------------------------------------------------
*libftdi* - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Uwe Bonnes
2018-03-09 10:01:53 UTC
Permalink
Robert> I'm using ftdi_usb_find_all() (via pylibftdi's
Robert> Device.list_devices()) to get the list of serial numbers -- that
Robert> works.  But I need to know the port names for each device.

Hallo Robert,

it is not clear why you need the port names. It seems you first use libftdi
to wiggle some pin and than you open the port via windows to talk to the
device.

Why don't you use libftdi read/write() to talks to the device?
Or what else are your exact needs?

Bye
--
Uwe Bonnes ***@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 1623569 ------- Fax. 06151 1623305 ---------

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Robert Poor
2018-03-09 10:14:22 UTC
Permalink
@Uwe:

I confess I was slightly confused in my original note. It turns out that
libftdi isn't causing any trouble: I can reliably wiggle the CBUS pins
under program control.

However, other parts of our system depend upon using the FTDI part in
serial mode.

My real problem is that I haven't found a reliable way to load a backend
driver (e.g. libusb-win32) for use by PySerial. The manifestation is that
I can create a "filter" for the FTDI that makes it known to Windows, but on
occasion (and I can't tell what that occasion is) it forgets about the
device and I have to re-run the filter installer.

So...truly this issue doesn't belong in the libftdi. However, perhaps
someone on this list has had some experience with the problem I describe.

On Fri, Mar 9, 2018 at 2:01 AM, Uwe Bonnes <
Post by Uwe Bonnes
Robert> I'm using ftdi_usb_find_all() (via pylibftdi's
Robert> Device.list_devices()) to get the list of serial numbers -- that
Robert> works. But I need to know the port names for each device.
Hallo Robert,
it is not clear why you need the port names. It seems you first use libftdi
to wiggle some pin and than you open the port via windows to talk to the
device.
Why don't you use libftdi read/write() to talks to the device?
Or what else are your exact needs?
Bye
--
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 1623569 ------- Fax. 06151 1623305 ---------
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Xiaofan Chen
2018-03-09 13:25:46 UTC
Permalink
Post by Robert Poor
I confess I was slightly confused in my original note. It turns out that
libftdi isn't causing any trouble: I can reliably wiggle the CBUS pins under
program control.
However, other parts of our system depend upon using the FTDI part in serial
mode.
My real problem is that I haven't found a reliable way to load a backend
driver (e.g. libusb-win32) for use by PySerial. The manifestation is that I
can create a "filter" for the FTDI that makes it known to Windows, but on
occasion (and I can't tell what that occasion is) it forgets about the
device and I have to re-run the filter installer.
So...truly this issue doesn't belong in the libftdi. However, perhaps
someone on this list has had some experience with the problem I describe.
pyftdi uses pyusb, and pyusb has different backend, libusb-0.1/libusb-win32,
libusb-1.0 and openusb.

Even though I am the admin of libusb-win32 project (the other admin who
is the main developer, is not active now), I confess I have
not use the filter for a long time. I remember that if you insert to a
different USB port you may need to install the filter again.

Anyway, libusb-win32 is old. So you may want to switch libusb-1.0
backend of pyftdi/pyusb. In that case you need to use
supported driver.

1) Use Zadig to install WinUSB to replace vendor FTDI driver. You will
lose the FTDI vendor driver function.
2) Use usbdk, it kinds of act as a filter driver, so the FTDI vendor driver
is still functional.

I gather from your libftdi mailing list post that you want to use Option 2
(usbdk).

It is the same for users who want to use libftdi.
--
Xiaofan

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Robert Poor
2018-03-09 15:01:24 UTC
Permalink
@Xiaofan: this is very useful information.

So far, I've only had success with libusb-win12, and yes, it has the
problem you describe. (That's a big issue for my clients' customers.)

I tried installing libusb-1.0 using Zadig, but as you point out, I lose the
bitbang functionality for the FTDI chip that we require.

So I'll try the usbdk approach. I'll report back here!

Thanks again.
Post by Robert Poor
Post by Robert Poor
I confess I was slightly confused in my original note. It turns out that
libftdi isn't causing any trouble: I can reliably wiggle the CBUS pins
under
Post by Robert Poor
program control.
However, other parts of our system depend upon using the FTDI part in
serial
Post by Robert Poor
mode.
My real problem is that I haven't found a reliable way to load a backend
driver (e.g. libusb-win32) for use by PySerial. The manifestation is
that I
Post by Robert Poor
can create a "filter" for the FTDI that makes it known to Windows, but on
occasion (and I can't tell what that occasion is) it forgets about the
device and I have to re-run the filter installer.
So...truly this issue doesn't belong in the libftdi. However, perhaps
someone on this list has had some experience with the problem I describe.
pyftdi uses pyusb, and pyusb has different backend,
libusb-0.1/libusb-win32,
libusb-1.0 and openusb.
Even though I am the admin of libusb-win32 project (the other admin who
is the main developer, is not active now), I confess I have
not use the filter for a long time. I remember that if you insert to a
different USB port you may need to install the filter again.
Anyway, libusb-win32 is old. So you may want to switch libusb-1.0
backend of pyftdi/pyusb. In that case you need to use
supported driver.
1) Use Zadig to install WinUSB to replace vendor FTDI driver. You will
lose the FTDI vendor driver function.
2) Use usbdk, it kinds of act as a filter driver, so the FTDI vendor driver
is still functional.
I gather from your libftdi mailing list post that you want to use Option 2
(usbdk).
It is the same for users who want to use libftdi.
--
Xiaofan
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Robert Poor
2018-03-09 15:18:40 UTC
Permalink
After glancing at usbdk (and its requirement for Visual Studio and other
compilation tools), it occurs to me that there's another approach: Use
Python's ctypes to write a bespoke interface to the FTDI API. For example,
see:

https://stackoverflow.com/a/1942472/558639

(which happens to be about writing an interface to an FTDI device...)
Post by Robert Poor
@Xiaofan: this is very useful information.
So far, I've only had success with libusb-win12, and yes, it has the
problem you describe. (That's a big issue for my clients' customers.)
I tried installing libusb-1.0 using Zadig, but as you point out, I lose
the bitbang functionality for the FTDI chip that we require.
So I'll try the usbdk approach. I'll report back here!
Thanks again.
Post by Robert Poor
Post by Robert Poor
I confess I was slightly confused in my original note. It turns out
that
Post by Robert Poor
libftdi isn't causing any trouble: I can reliably wiggle the CBUS pins
under
Post by Robert Poor
program control.
However, other parts of our system depend upon using the FTDI part in
serial
Post by Robert Poor
mode.
My real problem is that I haven't found a reliable way to load a backend
driver (e.g. libusb-win32) for use by PySerial. The manifestation is
that I
Post by Robert Poor
can create a "filter" for the FTDI that makes it known to Windows, but
on
Post by Robert Poor
occasion (and I can't tell what that occasion is) it forgets about the
device and I have to re-run the filter installer.
So...truly this issue doesn't belong in the libftdi. However, perhaps
someone on this list has had some experience with the problem I
describe.
pyftdi uses pyusb, and pyusb has different backend,
libusb-0.1/libusb-win32,
libusb-1.0 and openusb.
Even though I am the admin of libusb-win32 project (the other admin who
is the main developer, is not active now), I confess I have
not use the filter for a long time. I remember that if you insert to a
different USB port you may need to install the filter again.
Anyway, libusb-win32 is old. So you may want to switch libusb-1.0
backend of pyftdi/pyusb. In that case you need to use
supported driver.
1) Use Zadig to install WinUSB to replace vendor FTDI driver. You will
lose the FTDI vendor driver function.
2) Use usbdk, it kinds of act as a filter driver, so the FTDI vendor driver
is still functional.
I gather from your libftdi mailing list post that you want to use Option 2
(usbdk).
It is the same for users who want to use libftdi.
--
Xiaofan
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Xiaofan Chen
2018-03-10 02:18:04 UTC
Permalink
Post by Robert Poor
After glancing at usbdk (and its requirement for Visual Studio and other
compilation tools),
No, there are binary release.
https://github.com/daynix/UsbDk/releases
Post by Robert Poor
it occurs to me that there's another approach: Use
Python's ctypes to write a bespoke interface to the FTDI API. For example,
https://stackoverflow.com/a/1942472/558639
(which happens to be about writing an interface to an FTDI device...)
There are python bindings for FTDI's D2XX. I have not used
it though.

Example:
https://pypi.python.org/pypi/ftd2xx
--
Xiaofan

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Xiaofan Chen
2018-03-10 02:13:21 UTC
Permalink
Post by Robert Poor
@Xiaofan: this is very useful information.
So far, I've only had success with libusb-win12, and yes, it has the problem
you describe. (That's a big issue for my clients' customers.)
I tried installing libusb-1.0 using Zadig, but as you point out, I lose the
bitbang functionality for the FTDI chip that we require.
You do not lose the bitbang functionality, since you can use libftdi.
You do lose the serial port and you can not run pyserial for example.
--
Xiaofan

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Uwe Bonnes
2018-03-09 21:58:22 UTC
Permalink
Post by Robert Poor
After glancing at usbdk (and its requirement for Visual Studio and other
compilation tools), it occurs to me that there's another approach: Use Python's
   https://stackoverflow.com/a/1942472/558639
(which happens to be about writing an interface to an FTDI device...)
Hello Robert,

you can use libftdi for all the application? I don't see why you shop for
another tool.

Bye
--
Uwe Bonnes ***@elektron.ikp.physik.tu-darmstadt.de

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Robert Poor
2018-03-10 00:39:58 UTC
Permalink
Post by Uwe Bonnes
you can use libftdi for all the application? I don't see why you shop for
another tool.
Using libftdi s really my preferred approach at this moment, as long as I
can continue to use the FT232R in both serial and bitbang mode. And the
pylibftdi documents certainly make it appear this is possible:

https://pylibftdi.readthedocs.io/en/0.16.1/advanced_usage.html#examples

The truth is that I'm still trying to figure out how to install libftdi (I
*did* mention that I'm not conversant in Windows-speak). So that's where
I'm focusing my efforts at the moment.

- RDP
Post by Uwe Bonnes
Post by Robert Poor
After glancing at usbdk (and its requirement for Visual Studio and other
compilation tools), it occurs to me that there's another approach: Use
Python's
Post by Robert Poor
https://stackoverflow.com/a/1942472/558639
(which happens to be about writing an interface to an FTDI device...)
Hello Robert,
you can use libftdi for all the application? I don't see why you shop for
another tool.
Bye
--
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Xiaofan Chen
2018-03-10 02:11:22 UTC
Permalink
Post by Robert Poor
Post by Uwe Bonnes
you can use libftdi for all the application? I don't see why you shop for
another tool.
Using libftdi s really my preferred approach at this moment, as long as I
can continue to use the FT232R in both serial and bitbang mode.
What exactly do you mean by the serial mode? You still want to see tje
FT232R appear as a serial port in Windows Device Manager? Right?

If that is the case, you can either use FTDI's proprietary vendor driver
which supports both the serial port (VCP) and the D2XX direct driver.
There are python bindings. You should be able to use pyserial as well.
Or you can use usbdk backend of libusb-1.0 Windows, then
libftdi/pylibftdi; or pyusb/pyftdi under Windows. You can still use pyserial
or other serial port utilities after finish running libusb/libftdi based
applications.

If you do not need the FT232R to appear as the serial port, then you
can use Zadig to install WinUSB driver, that is the most stable way
to run libftdi under Windows since it is the most mature backend
of libusb-1.0 Windows.
--
Xiaofan

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+***@developer.intra2net.com
Loading...