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: