FreeCalypso > hg > freecalypso-tools
comparison doc/TIFFS-Overview @ 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 | 3100f534340b |
| children | 0306449ba467 |
comparison
equal
deleted
inserted
replaced
| 733:bed7981ac8ca | 734:23f41a61ff7a |
|---|---|
| 53 black box from one of their many proprietary software partners. (I was unable | 53 black box from one of their many proprietary software partners. (I was unable |
| 54 to identify it as any well-known, industry-standard FFS format, but absence of | 54 to identify it as any well-known, industry-standard FFS format, but absence of |
| 55 evidence is not evidence of absence.) But now that we have TI's original source | 55 evidence is not evidence of absence.) But now that we have TI's original source |
| 56 code which implements this FFS (first the MV100-0.1.rar source, then the full | 56 code which implements this FFS (first the MV100-0.1.rar source, then the full |
| 57 Leonardo one), complete with comments and a HISTORY file, we know that our FFS | 57 Leonardo one), complete with comments and a HISTORY file, we know that our FFS |
| 58 was invented and implemented by someone named Mads Meisner-Jensen at TI - I'm | 58 was invented and implemented by someone named Mads Meisner-Jensen at TI-DK, |
| 59 guessing in the SSA group in Nice, France. | 59 apparently their flash chip expert who also wrote FLUID. |
| 60 | 60 |
| 61 I am now making a naming transition from MPFFS to TIFFS: there is really no | 61 I am now making a naming transition from MPFFS to TIFFS: there is really no |
| 62 link between this FFS format and the Openmoko+Pirelli duo, other than the | 62 link between this FFS format and the Openmoko+Pirelli duo, other than the |
| 63 happenstance of me having first encountered this FFS on these two GSM device | 63 happenstance of me having first encountered this FFS on these two GSM device |
| 64 brands, and the name TIFFS is more neutrally-descriptive. | 64 brands, and the name TIFFS is more neutrally-descriptive. |
| 243 (This section is only relevant to you if you plan on physically producing your | 243 (This section is only relevant to you if you plan on physically producing your |
| 244 own GSM phones or modems on your own factory production line, like we currently | 244 own GSM phones or modems on your own factory production line, like we currently |
| 245 do at our family company, or if you simply enjoy knowing how it is done.) | 245 do at our family company, or if you simply enjoy knowing how it is done.) |
| 246 | 246 |
| 247 To my knowledge, TI never used or produced a tool akin to mkfs.jffs2 in the | 247 To my knowledge, TI never used or produced a tool akin to mkfs.jffs2 in the |
| 248 embedded Linux world, which would produce a TIFFS image complete with some | 248 embedded Linux world, or akin to our recently developed tiffs-mkfs, which would |
| 249 initial directory and file content "in vitro". Instead it appears that the FFS | 249 produce a TIFFS image complete with some initial directory and file content |
| 250 instances found in shipped products such as Openmoko phones have been created | 250 "in vitro". Instead it appears that the FFS instances found in shipped products |
| 251 "in vivo" by TI's firmware running on the device itself during the "production | 251 such as Openmoko phones have been created "in vivo" by TI's firmware running on |
| 252 test" phase. | 252 the device itself during the "production test" phase. |
| 253 | 253 |
| 254 We never got a copy of the original factory production line software that was | 254 We never got a copy of the original factory production line software that was |
| 255 used by Openmoko, but we have successfully replicated the process using our own | 255 used by Openmoko, but we have successfully replicated the process using our own |
| 256 Unix/Linux-based FreeCalypso host tools, the very same tools that are contained | 256 Unix/Linux-based FreeCalypso host tools, the very same tools that are contained |
| 257 in the present source package you are looking at. The process goes like this: | 257 in the present source package you are looking at. The process goes like this: |
| 419 * Mot C1xx phones present a lot more hassle: our current official procedure is | 419 * Mot C1xx phones present a lot more hassle: our current official procedure is |
| 420 to make a dump of the flash prior to the xenotransplantation procedure (also | 420 to make a dump of the flash prior to the xenotransplantation procedure (also |
| 421 serves as a backup), extract the RF calibration values with our c1xx-calextr | 421 serves as a backup), extract the RF calibration values with our c1xx-calextr |
| 422 tool, and then later in the procedure when you initialize your aftermarket FFS | 422 tool, and then later in the procedure when you initialize your aftermarket FFS |
| 423 with fc-fsio, upload these extracted and format-converted RF calibration files | 423 with fc-fsio, upload these extracted and format-converted RF calibration files |
| 424 as one of the several steps involved. You will need to enter your IMEI | 424 as one of the several steps involved. You will also need to enter your IMEI |
| 425 manually: we never figured out where Mot/SE/Compal have it stored and how it | 425 manually: fc-loadtool flash compal-imei command can extract the factory IMEI |
| 426 is obfuscated. | 426 record from the flash chip's protection register and save it into a text file, |
| 427 but you still need to feed it manually to the new firmware with fc-fsio | |
| 428 set-imeisv command. | |
| 427 | 429 |
| 428 FreeCalypso host tools for TIFFS | 430 FreeCalypso host tools for TIFFS |
| 429 ================================ | 431 ================================ |
| 430 | 432 |
| 431 Our FC host tools package supports TIFFS in two ways: | 433 Our FC host tools package supports TIFFS in two ways: |
| 432 | 434 |
| 433 1) Our primary tool for working with GSM device file systems is fc-fsio. When | 435 1) Our primary tool for working with GSM device file systems is fc-fsio. When |
| 434 run against a compatible firmware version (primarily our own, but Pirelli's | 436 run against a compatible firmware version (primarily our own, but Pirelli's |
| 435 proprietary fw is also compatible), fc-fsio allows various read and write | 437 proprietary fw is also compatible), fc-fsio allows various read and write |
| 436 operations to be performed on the target device FFS. | 438 operations to be performed on the target device FFS. fc-fsio can also be used |
| 439 together with our fc-xram based FFS editing agent described below. | |
| 437 | 440 |
| 438 2) We have a TIFFS In Vitro Analyzer (IVA) tool for "in vitro" examination of | 441 2) We have a TIFFS In Vitro Analyzer (IVA) tool for "in vitro" examination of |
| 439 FFS images that have been read out of raw flash with fc-loadtool. See the | 442 FFS images that have been read out of raw flash with fc-loadtool. See the |
| 440 TIFFS-IVA-usage article for more information. | 443 TIFFS-IVA-usage article for more information. As a very recent addition, we |
| 444 also have another "in vitro" tool (tiffs-mkfs) that goes the other way, creating | |
| 445 new complete TIFFS images from a tree of directories and files. | |
| 441 | 446 |
| 442 In addition to the above, back in the days of Openmoko (back when the Openmoko | 447 In addition to the above, back in the days of Openmoko (back when the Openmoko |
| 443 community was still active and we considered ourselves a part of it) we had | 448 community was still active and we considered ourselves a part of it) we had |
| 444 produced a kit for editing the modem FFS on Openmoko GTA01/02 devices, giving | 449 produced a kit for editing the modem FFS on Openmoko GTA01/02 devices, giving |
| 445 users an easy way to change their /pcm/IMEI file. Changing IMEIs for no good | 450 users an easy way to change their /pcm/IMEI file. Changing IMEIs for no good |
| 450 other reason - hence the popular demand for IMEI changing tools. | 455 other reason - hence the popular demand for IMEI changing tools. |
| 451 | 456 |
| 452 Our Openmoko FFS editing kit from early 2014 consisted of a very early version | 457 Our Openmoko FFS editing kit from early 2014 consisted of a very early version |
| 453 of what much later became the present FC host tools package (more specifically, | 458 of what much later became the present FC host tools package (more specifically, |
| 454 it was before fc-fsio, and the set-imeisv command had been hacked into fc-tmsh | 459 it was before fc-fsio, and the set-imeisv command had been hacked into fc-tmsh |
| 455 instead) plus a pair of "in vivo" FFS editing agent target binaries. Our | 460 instead) plus a pair of "in vivo" FFS editing agent target binaries that run on |
| 456 current FC host tools fully supplant the ancient version in that 2014 kit, but | 461 the target by way of fc-xram. Our current FC host tools fully supplant the |
| 457 we do not currently have a non-deprecated replacement for the old "in vivo" FFS | 462 ancient version in that 2014 kit, and our current replacement for the ancient |
| 458 editing agent: those FFS editing agent binaries were built from our old gsm-fw | 463 FFS editing agent is this new version: |
| 459 framework which was deemed to be a dead end in 2016 and fully retired in 2018. | 464 |
| 460 | 465 https://www.freecalypso.org/hg/ffs-editor/ |
| 461 We have not produced a new and actively maintained replacement for the "in vivo" | 466 |
| 462 FFS editing function which was previously provided as a side product of the old | 467 The new FFS editing agent linked above is run via fc-xram, while it is running |
| 463 gsm-fw framework because we have no real need for it: the *only* use case we | 468 you communicate with it via rvinterf (launched directly from fc-xram as the 2nd |
| 464 have for it involves Openmoko devices, and even then only two special use cases: | 469 program), and you can run fc-fsio against it to perform whatever actual FFS |
| 465 | 470 manipulations are needed. |
| 466 1) If someone wishes to change their IMEI from within the FreeRunner (without | |
| 467 using an external serial cable) *or* while keeping an old firmware version | |
| 468 (without updating to moko13 or later), or | |
| 469 | |
| 470 2) If someone has updated the modem fw on their FR to one of our current | |
| 471 releases, wishes to fix the /gsm/com/rfcap file to reflect the true tri900 or | |
| 472 tri850 band configuration of their device, but wishes to do it from within the | |
| 473 FR, without using an external serial cable. | |
| 474 | |
| 475 If anyone does need to exercise one of the two special use cases listed above, | |
| 476 they can use the "in vivo" FFS editing agent binaries from the ancient | |
| 477 ffs-edit-kit-r1.tar.bz2 package - they are ancient, but will do the job just | |
| 478 fine for both use cases in question. |
