Working ftdi eeprom

From Milkymist Wiki

Jump to: navigation, search

I modifie the ftdi_eeprom, from the libftdi-1.0 GIT [1] .

You can first Build the libftdi-1.0 and new ftdi_eeprom

Contents

[edit] Change

  • must specifie a device-file (to ensure you flash this you want)
 Syntax sample :
 ./ftdi_eeprom --read-eeprom  /dev/bus/usb/002/003 ftdi-backup.conf
 ./ftdi_eeprom --erase-eeprom /dev/bus/usb/002/003
 ./ftdi_eeprom --flash-eeprom /dev/bus/usb/002/003 ftdi-source.conf
  • backup eeprom in a conf-file (more easy to edit)
  • no use of raw file (useless)

[edit] Find the device-file

Use lsusb in root :

 (root)# lsusb
 Bus 007 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
 Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 057: ID 20b7:0713
 Bus 002 Device 004: ID 05a9:7670 OmniVision Technologies, Inc. OV7670 Webcam
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

You search for VID and PID of Milkymist JTAG, 20b7:0713, and get the Bus ID 002 and Device ID 057

On Linux, you construct the device-file name like this /dev/bus/002/057

Note : the Device ID increment if you replug the device


[edit] MM1 JTAG Config-file

The config-file I use ftdi-source.conf :

 vendor_id=0x20b7
 product_id=0x0713
 self_powered=false
 remote_wakeup=false
 chip_type=2232H
 max_power=0
 in_is_isochronous=false
 out_is_isochronous=false
 suspend_pull_downs=false
 use_serial=false
 change_usb_version=false
 usb_version=0
 manufacturer="Milkymist"
 product="Milkymist USB JTAG/Serial"
 serial="08-15"

[edit] Caution (RESET)

I only test this with the 2232H of the Milkymist JTAG.

Use with caution.

If the eeprom is blank, --read-eeprom make a config-file with blank parameter.

The --read-eeprom command don't generate the invert en cbus parameter


If you break the config of the cable (your OS don't see it), you can reset with :

  1. unplug the cable
  2. put the pin 1 of the eeprom to the ground (USB connector is easy)
  3. plug the cable and verifie your OS found it
  4. remove the shunt without unplug the cable
  5. erase or reflash it
  6. replug-it and verifie