FreeCalypso > hg > freecalypso-tools
comparison doc/TIFFS-Overview @ 482:3100f534340b
doc updates for Compal FFS
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 07 Mar 2019 01:28:32 +0000 |
parents | 579441d7dcd8 |
children | 23f41a61ff7a |
comparison
equal
deleted
inserted
replaced
481:6dcca662a02f | 482:3100f534340b |
---|---|
141 18 sectors of 256 KiB each (for 4.5 MiB in total), starting at the beginning | 141 18 sectors of 256 KiB each (for 4.5 MiB in total), starting at the beginning |
142 of the 2nd flash chip select (0x02000000 in the ARM7 address space). | 142 of the 2nd flash chip select (0x02000000 in the ARM7 address space). |
143 | 143 |
144 * On Motorola/Compal C139/140 phones, the FFS used by the original proprietary | 144 * On Motorola/Compal C139/140 phones, the FFS used by the original proprietary |
145 fw occupies 5 sectors of 64 KiB each (320 KiB in total), starting at 0x370000. | 145 fw occupies 5 sectors of 64 KiB each (320 KiB in total), starting at 0x370000. |
146 C11x/123 use smaller FFS configurations, whereas C155/156 seem to have | 146 C11x/12x use smaller FFS configurations, whereas C155/156 use a different FFS |
147 switched to some other FFS format, different from our familiar TIFFS. | 147 implementation with a completely different on-flash format - see the new |
148 Compal-FFS article for more details. | |
148 | 149 |
149 * On our own FreeCalypso hardware family we have put our FFS in the first 8 | 150 * On our own FreeCalypso hardware family we have put our FFS in the first 8 |
150 sectors (of 256 KiB each) in the 2nd flash chip select bank, which appears at | 151 sectors (of 256 KiB each) in the 2nd flash chip select bank, which appears at |
151 0x01800000 in the ARM7 address space instead of Pirelli's 0x02000000 because | 152 0x01800000 in the ARM7 address space instead of Pirelli's 0x02000000 because |
152 we have wired the 2nd flash chip select to nCS2 on the Calypso instead of | 153 we have wired the 2nd flash chip select to nCS2 on the Calypso instead of |
338 Compal and Pirelli differences | 339 Compal and Pirelli differences |
339 ============================== | 340 ============================== |
340 | 341 |
341 The above description refers to TI's vanilla reference version, and it seems | 342 The above description refers to TI's vanilla reference version, and it seems |
342 like Openmoko (FIC) was the only phone/modem manufacturer (prior to us!) who | 343 like Openmoko (FIC) was the only phone/modem manufacturer (prior to us!) who |
343 followed it without major deviations. In contrast, both Compal (Mot C1xx) and | 344 followed it without major deviations. In contrast, both Compal (Motorola C1xx |
344 Foxconn (Pirelli DP-L10) moved their vital per-unit factory data (IMEI and RF | 345 and Sony Ericsson J100) and Foxconn (Pirelli DP-L10) moved their vital per-unit |
345 calibration) out of the FFS into their own ad hoc flash data structures (which | 346 factory data (IMEI and RF calibration) out of the FFS into their own ad hoc |
346 are very difficult to reverse-engineer and make use of, unfortunately), leaving | 347 flash data structures (which are very difficult to reverse-engineer and make |
347 their FFS only for less critical data. | 348 use of, unfortunately), leaving their FFS only for less critical data. |
348 | 349 |
349 In Compal's case (at least on the C139 model with which I have extensive | 350 In Compal's case (all C1xx models and SE J100) the FFS stores only users' |
350 personal experience) the FFS stores only users' personal information and nothing | 351 personal information and nothing more. One can turn the phone off, use |
351 more. One can turn the phone off, use fc-loadtool to erase the FFS sectors, and | 352 fc-loadtool to erase the FFS sectors, and boot the regular fw back up; the fw |
352 boot the regular fw back up; the fw will automatically do a new FFS format (it | 353 will automatically do a new FFS format (it even displays a message on the LCD |
353 even displays a message on the LCD as it does so) and carry on happily as a | 354 as it does so) and carry on happily as a "fresh" or "blank", perfectly |
354 "fresh" or "blank", perfectly functional and usable phone. | 355 functional and usable phone. Please see the new Compal-FFS article for further |
356 details. | |
355 | 357 |
356 In Pirelli's case, booting their official fw with blank FFS sectors will also | 358 In Pirelli's case, booting their official fw with blank FFS sectors will also |
357 result in the FFS being automatically formatted, but their fw expects some | 359 result in the FFS being automatically formatted, but their fw expects some |
358 static "asset" files to be present in this FFS: UI graphics and language | 360 static "asset" files to be present in this FFS: UI graphics and language |
359 strings, ringtones, firmware images for the WiFi and VoIP processors and some | 361 strings, ringtones, firmware images for the WiFi and VoIP processors and some |
387 The situation is different on Mot C1xx phones. The lower-end C1xx models | 389 The situation is different on Mot C1xx phones. The lower-end C1xx models |
388 including the C139 (our primary hw target in this family) have too little RAM | 390 including the C139 (our primary hw target in this family) have too little RAM |
389 to run our FreeCalypso fw entirely out of RAM without flashing; the C155/156 | 391 to run our FreeCalypso fw entirely out of RAM without flashing; the C155/156 |
390 subfamily does have enough RAM to allow a complete FC GSM fw image to be loaded | 392 subfamily does have enough RAM to allow a complete FC GSM fw image to be loaded |
391 and run via fc-xram under some conditions (we previously supported such usage | 393 and run via fc-xram under some conditions (we previously supported such usage |
392 in our now-retired Citrine fw and may bring it back in the gcc-built config of | 394 in our now-retired Citrine fw and we also support it in the gcc-built config of |
393 FC Selenite), but there is no place in the flash where we can put our | 395 FC Selenite), but there is no place in the flash where we can put our |
394 aftermarket FFS without overwriting some part of the original fw or its data - | 396 aftermarket FFS without overwriting some part of the original fw or its data - |
395 thus our general procedure for running FreeCalypso on any C1xx model is to | 397 thus our general procedure for running FreeCalypso on any C1xx model is to |
396 convert the victim phone to FC on a long-term basis by flashing our modified | 398 convert the victim phone to FC on a long-term basis by flashing our modified |
397 bootloader, flashing one of our fw builds and establishing a FreeCalypso | 399 bootloader, flashing one of our fw builds and establishing a FreeCalypso |
398 aftermarket FFS in a flash area designated by us. | 400 aftermarket FFS in a flash area designated by us. |
399 | 401 |
400 It was already mentioned earlier that the factory RF calibration values on these | 402 It was already mentioned earlier that the factory RF calibration values on these |
401 alien phones are stored in non-TIFFS flash data structures of Mot/Compal's or | 403 alien phones are stored in non-TIFFS flash data structures of Compal's or |
402 Foxconn's invention, and our currently supported FreeCalypso firmwares | 404 Foxconn's invention, and our currently supported FreeCalypso firmwares |
403 (Magnetite and Selenite) do not contain any code for reading these alien data | 405 (Magnetite and Selenite) do not contain any code for reading these alien data |
404 structures. (FC Citrine could read directly from Pirelli's factory data block, | 406 structures. (FC Citrine could read directly from Pirelli's factory data block, |
405 but none of our fw offerings ever parsed Compal's weird flash records.) Instead | 407 but none of our fw offerings ever parsed Compal's weird flash records.) Instead |
406 our current approach is to have an external tool extract the bits of interest | 408 our current approach is to have an external tool extract the bits of interest |
418 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 |
419 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 |
420 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 |
421 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 |
422 as one of the several steps involved. You will need to enter your IMEI | 424 as one of the several steps involved. You will need to enter your IMEI |
423 manually: we never figured out where Mot/Compal have it stored and how it is | 425 manually: we never figured out where Mot/SE/Compal have it stored and how it |
424 obfuscated. | 426 is obfuscated. |
425 | 427 |
426 FreeCalypso host tools for TIFFS | 428 FreeCalypso host tools for TIFFS |
427 ================================ | 429 ================================ |
428 | 430 |
429 Our FC host tools package supports TIFFS in two ways: | 431 Our FC host tools package supports TIFFS in two ways: |