jflemer-ndp/libmpsse

Unable to make multiple simultaneous connections to separate interfaces

Opened this issue · 3 comments

What steps will reproduce the problem?
1. Plug in an FTDI device with multiple interfaces (e.g. FT2232H w/IFACE_A, 
IFACE_B)
2. Connect to the first one (successfully), using e.g. SPI:
mpsseA = OpenIndex(0x0403, 0x6014, SPI0, ONE_MHZ, MSB, IFACE_A, NULL, NULL, 0);
3. Connect to the second one (won't work), using e.g. SPI:
mpsseB = OpenIndex(0x0403, 0x6014, SPI0, ONE_MHZ, MSB, IFACE_B, NULL, NULL, 0);
4. Notice 2nd connection did not work:
(mpsseB == NULL)

What is the expected output? What do you see instead?
Ideally both connections would be valid, up-and-running and I could talk to 2 
separate SPI circuits independently (and/or simultaneously). Instead the second 
connection failed

What version of the product are you using? On what operating system?
Latest SVN as of today (r201), same as libftdi. Using OS X 10.8.4.

Please provide any additional information below.
Asking for IFACE_B first, and then IFACE_A, confirms that the interface 
parameter works, but once I have made the first USB connection (e.g. to 
IFACE_B), I cannot make a 2nd connection to the other interface (IFACE_A in 
this case)

Original issue reported on code.google.com by p...@p-rimes.net on 9 Jul 2013 at 9:20

Interesting...OpenIndex should never return a NULL pointer unless it failed to 
allocate memory for the mpsse structure via malloc. I'll see if I can reproduce.

Original comment by heffne...@gmail.com on 16 Sep 2013 at 6:15

Just a note:  I use separate interfaces all the time and it seems to work okay, 
even on the latest stuff.  Actually, I open up 3 usually.  After my board is 
configured, using the 3 interfaces, I usually only use one from then on, but 
suspect I could use others.

Original comment by robokni...@gmail.com on 29 Nov 2013 at 4:14

Second note: I don't use OpenIndex though.

Original comment by robokni...@gmail.com on 29 Nov 2013 at 4:15