changeset 734:23f41a61ff7a

doc/TIFFS-Overview: update for new developments
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 28 Aug 2020 18:23:36 +0000
parents bed7981ac8ca
children 5b8287c655cf
files doc/TIFFS-Overview
diffstat 1 files changed, 26 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/doc/TIFFS-Overview	Fri Aug 28 15:58:46 2020 +0000
+++ b/doc/TIFFS-Overview	Fri Aug 28 18:23:36 2020 +0000
@@ -55,8 +55,8 @@
 evidence is not evidence of absence.)  But now that we have TI's original source
 code which implements this FFS (first the MV100-0.1.rar source, then the full
 Leonardo one), complete with comments and a HISTORY file, we know that our FFS
-was invented and implemented by someone named Mads Meisner-Jensen at TI - I'm
-guessing in the SSA group in Nice, France.
+was invented and implemented by someone named Mads Meisner-Jensen at TI-DK,
+apparently their flash chip expert who also wrote FLUID.
 
 I am now making a naming transition from MPFFS to TIFFS: there is really no
 link between this FFS format and the Openmoko+Pirelli duo, other than the
@@ -245,11 +245,11 @@
  do at our family company, or if you simply enjoy knowing how it is done.)
 
 To my knowledge, TI never used or produced a tool akin to mkfs.jffs2 in the
-embedded Linux world, which would produce a TIFFS image complete with some
-initial directory and file content "in vitro".  Instead it appears that the FFS
-instances found in shipped products such as Openmoko phones have been created
-"in vivo" by TI's firmware running on the device itself during the "production
-test" phase.
+embedded Linux world, or akin to our recently developed tiffs-mkfs, which would
+produce a TIFFS image complete with some initial directory and file content
+"in vitro".  Instead it appears that the FFS instances found in shipped products
+such as Openmoko phones have been created "in vivo" by TI's firmware running on
+the device itself during the "production test" phase.
 
 We never got a copy of the original factory production line software that was
 used by Openmoko, but we have successfully replicated the process using our own
@@ -421,9 +421,11 @@
   serves as a backup), extract the RF calibration values with our c1xx-calextr
   tool, and then later in the procedure when you initialize your aftermarket FFS
   with fc-fsio, upload these extracted and format-converted RF calibration files
-  as one of the several steps involved.  You will need to enter your IMEI
-  manually: we never figured out where Mot/SE/Compal have it stored and how it
-  is obfuscated.
+  as one of the several steps involved.  You will also need to enter your IMEI
+  manually: fc-loadtool flash compal-imei command can extract the factory IMEI
+  record from the flash chip's protection register and save it into a text file,
+  but you still need to feed it manually to the new firmware with fc-fsio
+  set-imeisv command.
 
 FreeCalypso host tools for TIFFS
 ================================
@@ -433,11 +435,14 @@
 1) Our primary tool for working with GSM device file systems is fc-fsio.  When
 run against a compatible firmware version (primarily our own, but Pirelli's
 proprietary fw is also compatible), fc-fsio allows various read and write
-operations to be performed on the target device FFS.
+operations to be performed on the target device FFS.  fc-fsio can also be used
+together with our fc-xram based FFS editing agent described below.
 
 2) We have a TIFFS In Vitro Analyzer (IVA) tool for "in vitro" examination of
 FFS images that have been read out of raw flash with fc-loadtool.  See the
-TIFFS-IVA-usage article for more information.
+TIFFS-IVA-usage article for more information.  As a very recent addition, we
+also have another "in vitro" tool (tiffs-mkfs) that goes the other way, creating
+new complete TIFFS images from a tree of directories and files.
 
 In addition to the above, back in the days of Openmoko (back when the Openmoko
 community was still active and we considered ourselves a part of it) we had
@@ -452,27 +457,14 @@
 Our Openmoko FFS editing kit from early 2014 consisted of a very early version
 of what much later became the present FC host tools package (more specifically,
 it was before fc-fsio, and the set-imeisv command had been hacked into fc-tmsh
-instead) plus a pair of "in vivo" FFS editing agent target binaries.  Our
-current FC host tools fully supplant the ancient version in that 2014 kit, but
-we do not currently have a non-deprecated replacement for the old "in vivo" FFS
-editing agent: those FFS editing agent binaries were built from our old gsm-fw
-framework which was deemed to be a dead end in 2016 and fully retired in 2018.
-
-We have not produced a new and actively maintained replacement for the "in vivo"
-FFS editing function which was previously provided as a side product of the old
-gsm-fw framework because we have no real need for it: the *only* use case we
-have for it involves Openmoko devices, and even then only two special use cases:
+instead) plus a pair of "in vivo" FFS editing agent target binaries that run on
+the target by way of fc-xram.  Our current FC host tools fully supplant the
+ancient version in that 2014 kit, and our current replacement for the ancient
+FFS editing agent is this new version:
 
-1) If someone wishes to change their IMEI from within the FreeRunner (without
-using an external serial cable) *or* while keeping an old firmware version
-(without updating to moko13 or later), or
+https://www.freecalypso.org/hg/ffs-editor/
 
-2) If someone has updated the modem fw on their FR to one of our current
-releases, wishes to fix the /gsm/com/rfcap file to reflect the true tri900 or
-tri850 band configuration of their device, but wishes to do it from within the
-FR, without using an external serial cable.
-
-If anyone does need to exercise one of the two special use cases listed above,
-they can use the "in vivo" FFS editing agent binaries from the ancient
-ffs-edit-kit-r1.tar.bz2 package - they are ancient, but will do the job just
-fine for both use cases in question.
+The new FFS editing agent linked above is run via fc-xram, while it is running
+you communicate with it via rvinterf (launched directly from fc-xram as the 2nd
+program), and you can run fc-fsio against it to perform whatever actual FFS
+manipulations are needed.