# HG changeset patch # User Mychaela Falconia # Date 1598639016 0 # Node ID 23f41a61ff7a459c09e7bd43fc13caff3abdd40c # Parent bed7981ac8ca8153fa652193af8034e24f6fb6f7 doc/TIFFS-Overview: update for new developments diff -r bed7981ac8ca -r 23f41a61ff7a doc/TIFFS-Overview --- 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.