Hi,

I have a FT2232H chip where I intend to use interface_B in MPSSE mode.
If I use ftdi_set_interface() specifying INTERFACE_B, later on when closing the device I always get an error (-1) but with error string set to: all fine.

This only happens with INTERFACE_B not INTERFACE_A.

Why does this happen?
Am I misunderstanding something?

I'll try to attach my piece of code.

Regards
Mikael


--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [email protected]   
#include <stdio.h>
#include <ftdi.h>

int main(void)
{
    int ret;
    struct ftdi_context ftdic;
        struct ftdi_device_list *devlist;
        
        // Init context
        if((ret = ftdi_init(&ftdic)) < 0) {
                fprintf(stderr, "ERROR: ftdi_init(%d), %s\n", ret, 
ftdi_get_error_string(&ftdic));
                return EXIT_FAILURE;
        }

        // Find connected USB devices
        if((ret = ftdi_usb_find_all(&ftdic, &devlist, 0x0403, 0x6010)) < 0) {
        fprintf(stderr, "ERROR: ftdi_usb_find_all(%d), %s\n", ret, 
ftdi_get_error_string(&ftdic));
                return EXIT_FAILURE;
        } else {
                printf("Found %d device(s)\n", ret);
        }

        // Open device
        if((ret = ftdi_usb_open_dev(&ftdic, devlist->dev)) < 0) {
                fprintf(stderr, "ERROR: ftdi_usb_open_dev(%d): %s\n", ret, 
ftdi_get_error_string(&ftdic));
                return EXIT_FAILURE;
        }

        // Set interface
        if((ret = ftdi_set_interface(&ftdic, INTERFACE_B)) < 0) {
                fprintf(stderr, "ERROR: ftdi_set_interface(%d), %s\n", ret, 
ftdi_get_error_string(&ftdic));
                return EXIT_FAILURE;
        }

        // Close device 
        if((ret = ftdi_usb_close(&ftdic)) < 0) {
                fprintf(stderr, "ERROR: ftdi_usb_close(%d): %s\n", ret, 
ftdi_get_error_string(&ftdic));
                return EXIT_FAILURE;
        }
        ftdi_list_free(&devlist);
        ftdi_deinit(&ftdic);

    return EXIT_SUCCESS;
}

Reply via email to