ftdi_eeprom1
Tool for reading/erasing/flashing ftdi usb chip eeproms
Usage
ftdi_eeprom [commands]
config-file
Overview
ftdi_eeprom is a small tool for reading/erasing/flashing FTDI USB chip eeproms. It uses libftdi to access the chip, so you will need to have the required permissions on the device.
The ftdi_sio module should not be loaded. You can prevent it to be automatically loaded by adding it to /etc/modprobe.d/blacklist.
You have to unplug and replug your device to get the new values to be read. Otherwise, you will still get the old values.
Commands
-
--device description -
Specify device to open by description string. One of:
d:<device node> i:<vendor>:<product> i:<vendor>:<product>:<index> s:<vendor>:<product>:<serial>
-
--read-eeprom -
Read eeprom and write to ‐filename‐ from config-file.
-
--build-eeprom -
Build eeprom image.
-
--erase-eeprom -
Erase eeprom.
-
--flash-eeprom -
Flash eeprom.
-
--verbose -
Print more information.
Configuration file
The configuration file contains a list of key-value pairs which will be used to flash an FTDI USB chip eeprom. Comments start with #. The beginning of such a file might look like the following:
vendor_id=0x0403 # Vendor ID product_id=0x6001 # Product ID max_power=0 # Max. power consumption: value * 2 mA. Use 0 if self_powered = true. ########### # Strings # ########### manufacturer="ACME Inc" # Manufacturer product="USB Serial Converter" # Product serial="08-15" # Serial
The example configuration file that could be found in /usr/share/doc/ftdi-eeprom/ is quite well commented so you should be able to use it as a basis. The following keys are supported:
vendor_id-
Set the vendor ID of the device. This value could be entered in decimal or hexadecimal form, and should be in the range 0-65535 or 0x0000-0xffff, respectively.
product_id-
Set the product ID of the device. This value could be entered in decimal or hexadecimal form, and should be in the range 0-65535 or 0x0000-0xffff, respectively.
max_power-
Set the maximum current the device will use, in 2 mA unit. Use 0 if
self_powered= true.
manufacturer-
Set the manufacturer string which normally holds the name of the manufacturer.
product-
Set the product string which normally holds the name of the product.
serial-
Set the serial string which normally holds the serial number of the product.
self_powered-
Specify if the device is self-powered or not. The value should be true or false.
remote_wakeup-
Specify if the device supports remote wake-ups. The value should be true or false.
use_serial-
If this value is set to true, the
serialstring will be used. Otherwise the default serial string will be used.
BM_type_chip-
This value have to be set to true if you are using a BM chip.
in_is_isochronous-
If set to true this option specify that the input endpoint is in isochronous mode.
out_is_isochronous-
If set to true this option specify that the output endpoint is in isochronous mode.
suspend_pull_downs-
If this value is set to true the pull downs are enabled during suspend for lower power consumption.
change_usb_version-
This value has to be set to true if you want to force the USB version using the
usb_versionkey. Otherwise the default USB version will be used.
usb_version-
Set the USB version of the device. The
change_usb_versionvalue has to be set to true.
filename-
Specify a filename if you want to dump the content of the eeprom into it.
Releases
11 releases since Debian 3.1 (Sarge); the text changed 3 times.
--build-eeprom since Debian 11 (Bullseye);
--device since Debian 11 (Bullseye);
--verbose since Debian 11 (Bullseye).