On 2012-06-21 18:39:10, Thomas Heller wrote:
Am 21.06.2012 17:08, schrieb Thomas Jarosch:
On Thursday, 21. June 2012 16:53:09 Kofi Jedamzik wrote:
after programming the eeprom of an FT245RL with ftdi_eeprom v0.17
(git)
the FTDI chip is not working and a check with FT Prog shows the
Chip type
has changed to FT232R
how can i make it working?
Please use ftdi_eeprom from git HEAD.
Eeprom support is incomplete in libftdi 0.x.
Huh - is the *chip type* stored in the eeprom?
Unfortunately this is true for the FT245R vs. FT232R;
the FT245R has bit 0 set in the first byte of the eeprom whereas the
bit is cleared in the FT232R (whether the same holds true for the FT245
vs. FT232 without 'R' I cannot tell).
Even ftdi_eeprom from git HEAD is unable to cope with this :-(
The attached quick hack turns the problem upside down; with the patch
applied, ftdi_eeprom handles the FT245R correctly at the cost of
turning an FT232R into an FT245R, so it may solve Kofi's problem
short-term but is certainly not suitable for inclusion. Caveat emptor.
Cheers
Anders
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [email protected]
From 0338f20c2cbdf9fc3c69d3b2201e1599a0c6cd3d Mon Sep 17 00:00:00 2001
From: Anders Larsen <[email protected]>
Date: Fri, 16 Mar 2012 14:01:08 +0100
Subject: [PATCH 1/2] TYPE_R means FT245R for us...
---
src/ftdi.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/ftdi.c b/src/ftdi.c
index 07687e8..520c973 100644
--- a/src/ftdi.c
+++ b/src/ftdi.c
@@ -2740,6 +2740,7 @@ int ftdi_eeprom_build(struct ftdi_context *ftdi)
output[0x14] = eeprom->chip;
break;
case TYPE_R:
+ output[0x00] = 0x01; /* FT245R */
if (eeprom->high_current == HIGH_CURRENT_DRIVE_R)
output[0x00] |= HIGH_CURRENT_DRIVE_R;
output[0x01] = 0x40; /* Hard coded Endpoint Size*/
--
1.7.0.4