FreeCalypso > hg > freecalypso-sw
comparison doc/Host-tools-overview @ 967:6475a935e593
doc/Host-tools-overview written
| author | Mychaela Falconia <falcon@ivan.Harhan.ORG> |
|---|---|
| date | Sat, 07 Nov 2015 03:01:50 +0000 |
| parents | |
| children | 0b7abc72e49e |
comparison
equal
deleted
inserted
replaced
| 966:64cddafcd939 | 967:6475a935e593 |
|---|---|
| 1 FreeCalypso host tools suite features the following tools that are potentially | |
| 2 useful to end users: | |
| 3 | |
| 4 fc-loadtool This is the tool used to read and write the non-volatile flash | |
| 5 memory of supported GSM devices. It can be used to reflash | |
| 6 these devices with new firmware (whether pre-existing or new | |
| 7 firmwares developed within our project), and to save and restore | |
| 8 flash backups. This tool operates on the target device (phone | |
| 9 or modem) while its regular firmware is shut down. | |
| 10 | |
| 11 fc-fsio This tool connects to GSM devices running one of the supported | |
| 12 firmware versions while the fw is running (unlike fc-loadtool | |
| 13 which operates on a device while its regular fw is shut down) | |
| 14 and allows you to manipulate (read and write) the device's | |
| 15 flash file system. It is thus a higher-level tool than | |
| 16 fc-loadtool. It is intended primarily for working with our own | |
| 17 firmwares, but it also works with Pirelli's original fw. | |
| 18 | |
| 19 fc-shell FreeCalypso firmwares have a feature of our own invention (not | |
| 20 present in any pre-existing ones) to accept AT commands over | |
| 21 the RVTMUX interface. It is useful when no second UART is | |
| 22 available for a dedicated standard AT command interface. | |
| 23 fc-shell is the tool that allows you to send AT commands to the | |
| 24 firmware in this manner; it also allows a few other kinds of | |
| 25 asynchronous commands to be sent. | |
| 26 | |
| 27 tfc139 This tool breaks into locked-down Mot C139 phones sold with | |
| 28 TracFone branding, allowing you to reflash them with new | |
| 29 firmware with fc-loadtool. | |
| 30 | |
| 31 imei-luhn A simple utility for computing or verifying the Luhn check | |
| 32 digit of an IMEI number. | |
| 33 | |
| 34 The following host tools are primarily for developers, but may be useful to | |
| 35 end users as well: | |
| 36 | |
| 37 rvtdump This tool produces a human-readable dump of all output emitted | |
| 38 by a TI-based GSM fw on the RVTMUX binary packet interface. It | |
| 39 can also log this dump to a file. | |
| 40 | |
| 41 rvinterf This tool is a superset of rvtdump: it not only dumps and/or | |
| 42 logs all output from the GSM fw, but also provides a mechanism | |
| 43 for sending command packets to it. Rvinterf is the engine | |
| 44 behind fc-fsio, fc-shell and fc-tmsh. | |
| 45 | |
| 46 tiffs, These tools perform "in vitro" analysis of flash file system | |
| 47 mokoffs, (FFS) images read out of GSM devices with TI-based firmwares. | |
| 48 pirffs You can list and extract the FFS content captured as a raw | |
| 49 flash image, and even perform a few "forensic" operations along | |
| 50 the lines of reading deleted files and seeing the history of | |
| 51 FFS modifications. tiffs is the main program, whereas mokoffs | |
| 52 and pirffs are convenience wrappers for the common FFS | |
| 53 configurations from Openmoko and Pirelli. | |
| 54 | |
| 55 fc-getpirimei This utility retrieves the factory-programmed IMEI of a Pirelli | |
| 56 DP-L10 phone by quering its running firmware over the RVTMUX | |
| 57 interface. | |
| 58 | |
| 59 fc-serterm This tool is a trivial serial terminal program. Its special | |
| 60 feature is that any output coming the serial port that isn't | |
| 61 printable ASCII is displayed as by cat -v. It is useful for | |
| 62 talking to serially-interfaced devices that mix ASCII with | |
| 63 binary in their serial talk. | |
| 64 | |
| 65 The following tools are really just for developers: | |
| 66 | |
| 67 ctracedec GSM firmwares built in TI's Windows environment (official ones | |
| 68 as well as our own hacks based on the TCS211 semi-src) have a | |
| 69 "compressed trace" misfeature whereby many of the ASCII strings | |
| 70 in debug trace messages get replaced with numeric indices at | |
| 71 build time, and these numeric indices are all that gets emitted | |
| 72 on the RVTMUX serial channel. This numeric trace output can be | |
| 73 turned back into ASCII strings if you have the str2ind.tab file | |
| 74 corresponding to the fw version that emitted the output in | |
| 75 question; this ctracedec utility performs that decoding. | |
| 76 | |
| 77 fc-iram, Reprogramming the non-volatile flash memory is not the only way | |
| 78 fc-xram, to run your own code on a Calypso GSM device. If your code is | |
| 79 fc-compalram small enough to fit entirely into the available RAM on the | |
| 80 device, and you would like to just run it without flashing it | |
| 81 permanently, these tools do the job of loading code images into | |
| 82 different kinds of RAM through different download protocols. | |
| 83 | |
| 84 fc-tmsh TI had a tool called TMSH that stood for "test mode shell". We | |
| 85 don't know exactly how it worked, hence we make no claim of our | |
| 86 own test mode shell being anything like TI's original, but we | |
| 87 do have a test mode shell of our own. It sends command packets | |
| 88 to the ETM (Enhanced Test Mode) component in the GSM firmware | |
| 89 and displays its responses in a purely asynchronous manner, | |
| 90 i.e., our tool has no knowledge of any correspondence between | |
| 91 the commands it sends and the responses they elicit. (In | |
| 92 contrast, fc-fsio described above also talks to ETM, but it | |
| 93 does so synchronously.) | |
| 94 | |
| 95 fc-rgbconv A simple aid for phone UI development that converts RGB color | |
| 96 values between human-intuitive 8:8:8 format and the 5:6:5 format | |
| 97 used by the color LCDs in the phones targeted by FreeCalypso. | |
| 98 | |
| 99 The following tools are really just special-purpose hacks: | |
| 100 | |
| 101 fc-dspapidump This utility uses ETM in synchronous mode to read and dump the | |
| 102 contents of the DSP API RAM in a target Calypso GSM device | |
| 103 while the firmware is running. | |
| 104 | |
| 105 fc-lcdemu We have TI's TCS211 firmware semi-src that includes TI's | |
| 106 demo/prototype phone UI targeting the 176x220 pixel LCD on TI's | |
| 107 D-Sample development kit, but no suitable hardware on which we | |
| 108 could run this fw with this UI and see it in action. We built | |
| 109 a hacked-up version of the fw that emits all raster blits | |
| 110 intended for the big LCD on the RVTMUX serial interface, and | |
| 111 this fc-lcdemu utility is a plug-in for rvinterf that actually | |
| 112 displays these LCD blits in an X11 window. | |
| 113 | |
| 114 fc-pirhackinit This fc-pirhackinit utility is highly specific to the | |
| 115 TCS211-on-Pirelli exercise. DO NOT run it against Pirelli's | |
| 116 stock firmware, nor is it needed when using our full-source | |
| 117 FreeCalypso firmware. |
