libftdi Archives

Subject: ftdi_eeprom: device release number support

From: Roman Lapin <lampus.lapin@xxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Sat, 9 May 2020 23:13:58 +0300
Hello.

In process of firmware repairing of some FTDI-chip based device I have
found that I can't get binary identical EEPROM dumps from properly
working device and ftdi_eeprom --build_eeprom command because of
ftdi_eeprom does not support changing of device release number (byte
with addr 0x06).

I can suggest simple patch to resolve this issue:
----------------------
>From 39fcaf16858f0966e336d1ff5eaf84d1a9da03d9 Mon Sep 17 00:00:00 2001
From: Roman Lapin <lampus.lapin@xxxxxxxxx>
Date: Sat, 9 May 2020 22:30:30 +0300
Subject: [PATCH] Add release_number config support to ftdi_eeprom

---
 ftdi_eeprom/main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ftdi_eeprom/main.c b/ftdi_eeprom/main.c
index d72f61c..0c7ac7b 100644
--- a/ftdi_eeprom/main.c
+++ b/ftdi_eeprom/main.c
@@ -223,6 +223,7 @@ int main(int argc, char *argv[])
     {
         CFG_INT("vendor_id", 0, 0),
         CFG_INT("product_id", 0, 0),
+        CFG_INT("release_number", 0, 0),
         CFG_BOOL("self_powered", cfg_true, 0),
         CFG_BOOL("remote_wakeup", cfg_true, 0),
         CFG_BOOL("in_is_isochronous", cfg_false, 0),
@@ -459,6 +460,8 @@ int main(int argc, char *argv[])
     eeprom_set_value(ftdi, VENDOR_ID, cfg_getint(cfg, "vendor_id"));
     eeprom_set_value(ftdi, PRODUCT_ID, cfg_getint(cfg, "product_id"));

+    eeprom_set_value(ftdi, RELEASE_NUMBER, cfg_getint(cfg, "release_number"));
+
     eeprom_set_value(ftdi, SELF_POWERED, cfg_getbool(cfg, "self_powered"));
     eeprom_set_value(ftdi, REMOTE_WAKEUP, cfg_getbool(cfg, "remote_wakeup"));
     eeprom_set_value(ftdi, MAX_POWER, cfg_getint(cfg, "max_power"));
-- 
2.26.2
----------------------

With best regards,
Roman.

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

Current Thread