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.