libftdi Archives

Subject: Re: Accessing EEPROM user area and EEPROM checksum

From: Thomas Jarosch <thomas.jarosch@xxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Cc: Thilo Schulz <thilo@xxxxxxx>
Date: Fri, 16 Oct 2015 13:44:54 +0200
Hi Thilo,

On Saturday, 10. October 2015 13:30:22 Thilo Schulz wrote:
> at this time, libftdi does not seem to feature an explicit mechanism for
> reading the user area (except directly accessing the data buffer in ftdi
> context structure) and more importantly, it has no direct support for
> writing to the user area with a correct EEPROM checksum.
> 
> Is there a good reason for this? One could image extending the ftdi_eeprom
> structure (which is opaque to programs using the library anyways) by
> appropriate fields and adding library support functions for reading and
> setting of user space area data, so the API would remain fully backwards
> compatible.

so far probably nobody needed to really store data there.

If you need access to it, providing an API that deals
with the opaque ftdi_eeprom structure is a good idea.

Backwards compatibility is king :)

> I'd also be interested to know about the significance of the EEPROM
> checksum. My FTDI chip comes preshipped with the checksum that libftdi
> would compute, so where does this come from?
> Does it have any  effect on chip initialisation (e.g. EEPROM checksum
> invalid, chip will start up with some default values) or is it solely to
> satisfy user- space programs running on the host-side?

back in the days, the FT245BM type chips ignored the eeprom
content when the checksum was wrong. I guess never chips behave the same.
If the checksum does not match -> use default values.

> Last but not least I wanted to point something out that might be of
> interest to you.
> From the discussion:
> http://developer.intra2net.com/mailarchive/html/libftdi/2015/msg00010.html
> > The descriptive strings begin at byte 0x1C (=28) in the EEPROMs I have
> > at
> > hand (both written with FTProg and ftdi_eeprom).
> 
> In the EEPROM from my FT232R that is factory-shipped, the descriptive
> strings start at 0x18 (=24). See attached EEPROM.

sorry, can't investigate atm. Currently in a "release cycle" at $dayjob.

Cheers,
Thomas


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

Current Thread