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