libftdi Archives

Subject: Issues reading EEPROM on FT2232HL and FT232HL

From: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Cc: Thomas Jarosch <thomas.jarosch@xxxxxxxxxxxxx>
Date: Mon, 29 Oct 2018 11:37:39 +0100
I have two devices one with FT2232HL and the other with FT232HL. lsusb output

Bus 001 Device 003: ID 0403:6010

and

Bus 001 Device 003: ID 0403:6014

I'm trying to decode EEPROM with this Python code:

import ftdi1 as ftdi

VID_FTDI = 0x0403
PID_FTDI_FT232H = 0x6014
PID_FTDI_FT2232H = 0x6010
PID_FTDI_FT4232H = 0x6011
PID_FTDI_FT_X = 0x6015


def read():
    """Read FTDI."""
    # initialize FTDI library
    context = ftdi.new()
    if context is None:
        print("Failed to initialize libftdi1")
        return False

    # find all FTDI chips
    rc, devlist = ftdi.usb_find_all(context, VID_FTDI, PID_FTDI_FT2232H)
    if rc <= 0:
        print("No FTDI chips found")
        return False

    curnode = devlist
    while curnode is not None:
        if ftdi.usb_open_dev(context, curnode.dev) != 0:
            print("Failed to open FTDI device")
            return False

        # read eeprom
        eeprom_addr = 1
        rc, eeprom_val = ftdi.read_eeprom_location(context, eeprom_addr)
        if 0 != rc:
            print("Failed to read FTDI EEPROM location")
            return False

        print("EEPROM location: {}".format(eeprom_val))

        rc = ftdi.read_eeprom(context)
        if rc < 0:
            print("Failed to read EEPROM")
            return False

        rc = ftdi.eeprom_decode(context, 1)
        if rc < 0:
            print("Failed to decode EEPROM")
            return False

        # select next FTDI device
        curnode = curnode.next

    return True


read()

This is the output:

# python test.py
EEPROM location: -1
Checksum Error: aaaa 0000
Failed to decode EEPROM

Any idea? The same code has no problems with either FT4232H or FTX
chips. EEPROM is AT93C46D connected the same way as on the FT4232H
devices (16-bit mode ORG). I can also see the signals on oscilloscope.

What does location == -1 mean? FTDI cannot detect EEPROM?

Has anyone successfully used both FT2232HL and FT232HL with libftdi1?

Regards,
Yegor

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

Current Thread