Maxwell,
I think I found a discrepancy between our implementations that is
going to be problematic. In yours, you
use libusb_get_port_number, but I use libusb_get_device_address.
It looks like libusb_get_port_number returns the last digit of
libusb_get_port_number*s*, which is something like 1,3,1,1 so
port_number is just 1. This allows conflicts since port_number
isn't unique, despite what the documentation implies. The
bus_number + device_address is the unique combination required.
On my Linux machines, device_address matches the sysfs node
devnum (and bus_number is busnum), while port_number matches the
path:
/sys/bus/usb/devices/<bus_number>-<port_numbers>/{busnum,devnum}
I don't know how much this changes between systems, though, so I
can't speak to whether this will be the case with your machines.
What do you think?
Farz Hemmati | Self-Driving Systems Testing and Tools Lead |
[email protected] <mailto:[email protected]> | 650-253-8944
On Fri, Apr 21, 2017 at 9:56 AM, Maxwell Dreytser
<[email protected] <mailto:[email protected]>> wrote:
Hi Thomas,
All is fine. Just noticed a minor problem in the comments.
Return code -12 was not mentioned in
"ftdi_usb_open_desc_index" as well as the new
"ftdi_usb_open_bus_port".
Maxwell.
--- Begin PATCH ---
From 66ae37ad943976401a54d3ff409634d332206d67 Mon Sep 17
00:00:00 2001
From: Maxwell Dreytser <[email protected] <mailto:[email protected]>>
Date: Fri, 21 Apr 2017 12:48:42 -0400
Subject: [PATCH] Minor comment fix.
---
src/ftdi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/ftdi.c b/src/ftdi.c
index c26ab72..ac8f18a 100644
--- a/src/ftdi.c
+++ b/src/ftdi.c
@@ -750,6 +750,7 @@ int ftdi_usb_open_desc(struct
ftdi_context *ftdi, int vendor, int product,
\retval -9: get serial number failed
\retval -10: unable to close device
\retval -11: ftdi context invalid
+ \retval -12: libusb_get_device_list() failed
*/
int ftdi_usb_open_desc_index(struct ftdi_context *ftdi, int
vendor, int product,
const char* description, const
char* serial, unsigned int index)
@@ -842,6 +843,7 @@ int ftdi_usb_open_desc_index(struct
ftdi_context *ftdi, int vendor, int product,
\retval -9: get serial number failed
\retval -10: unable to close device
\retval -11: ftdi context invalid
+ \retval -12: libusb_get_device_list() failed
*/
int ftdi_usb_open_bus_port(struct ftdi_context *ftdi,
uint8_t bus, uint8_t port)
{
--
2.9.3
--- End Patch ---
On 04/21/2017 12:04 PM, Thomas Jarosch wrote:
Hi Maxwell,
On Monday, 10 April 2017 04:43:24 CEST Maxwell Dreytser
wrote:
Nice to know that this is actually useful! I had a
similar situation in
my work.
patch has been applied, thanks!
The long code lines were mangled by our mail client,
I had to apply the patch manually.
Please double check everything is still correct in git.
Cheers,
Thomas
--
libftdi - see http://www.intra2net.com/en/developer/libftdi
<http://www.intra2net.com/en/developer/libftdi> for details.
To unsubscribe send a mail to
[email protected]
<mailto:libftdi%[email protected]>
------------------------------------------------------------------------
*libftdi* - see http://www.intra2net.com/en/developer/libftdi
<http://www.intra2net.com/en/developer/libftdi> for details.
To unsubscribe send a mail to
[email protected]
<mailto:[email protected]>