FreeCalypso > hg > freecalypso-tools
comparison rvinterf/doc/README.old @ 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e7502631a0f9 |
---|---|
1 You are looking at the suite of FreeCalypso tools for talking to the RVTMUX | |
2 interface provided by TI-based GSM firmwares. If you haven't already, please | |
3 read ../doc/RVTMUX first. | |
4 | |
5 The fundamental difference between these tools and loadtools is that loadtools | |
6 operate on a GSM device while its regular firmware is shut down, whereas the | |
7 present rvinterf tools talk to active running GSM firmwares. | |
8 | |
9 The following tools are currently implemented: | |
10 | |
11 rvtdump Opens the serial port, decodes TI's binary packet protocol, and | |
12 simply dumps every received/decoded packet on stdout in a human- | |
13 readable form. No provision for sending anything to the target. | |
14 Intended use: observing the debug trace output which all TI | |
15 firmwares emit as standard "background noise". This utility | |
16 allows one to observe/log/study the "noise" that appears on | |
17 Pirelli's USB-serial port (running Pirelli's original fw), | |
18 as well as that emitted on the IrDA (headset jack) port on the | |
19 GTA02 by mokoN/leo2moko firmwares. | |
20 | |
21 rvinterf Provides a bidirectional interface to RVTMUX on the host side. | |
22 It dumps and/or logs the "background noise" emitted by the | |
23 target just like rvtdump, but also creates a local UNIX domain | |
24 socket on the host machine to which other programs can connect, | |
25 replicating the MUXing function on the host side. | |
26 | |
27 fc-tmsh Interactive asynchronous test mode shell. This program connects | |
28 to a target GSM device through rvinterf and allows a developer- | |
29 operator to send various ETM commands to the target. ETM | |
30 responses are decoded (sometimes only lightly) and displayed. | |
31 fc-tmsh is fully asynchronous in that it continuously listens | |
32 (via select(2)) both for user input and for packets from the | |
33 target at the same time, translating any user-entered commands | |
34 into packets to the target and conversely, scribbling on the | |
35 terminal when a packet arrives from the target. It has no | |
36 knowledge of any correspondence between commands and responses | |
37 they normally elicit. | |
38 | |
39 g23sh Like fc-tmsh (same asynchronous design), but for GPF/G23 rather | |
40 than ETM. This tool and FreeCalypso project's understanding of | |
41 GPF/G23 in general are currently in the earliest stages, so it | |
42 is premature to try to describe it any further at this point. | |
43 | |
44 fc-sendsp Precursor to g23sh; even less worthy of further documentation. | |
45 | |
46 fc-fsio This program uses RVTMUX, ETM and TMFFS2 to access the live file | |
47 system of a running GSM firmware. Of the existing proprietary | |
48 firmwares, the only one that implements the TMFFS2 protocol | |
49 required for fc-fsio is Pirelli's, to the best of our knowledge. | |
50 This program connects to the target through rvinterf, but it | |
51 differs from fc-tmsh in that it operates in a synchronous | |
52 manner: the flow of operation is driven by user commands (just | |
53 like in fc-loadtool), and every time the program sends an ETM | |
54 command packet to the target, it expects a lock-step response. | |
55 | |
56 tfc139 See ../doc/Compal-unlock | |
57 | |
58 The fc-fsio, fc-tmsh and g23sh tools connect to the target not directly, but | |
59 via rvinterf. Two usage scenarios are supported: | |
60 | |
61 1. The user explicitly runs rvinterf (either directly or secondary to fc-xram, | |
62 when testing an experimental FreeCalypso firmware ramImage), leaves it | |
63 running (either backgrounded or in its own terminal window), and then runs | |
64 one of the "client" programs: fc-fsio, fc-tmsh or g23sh. The two programs | |
65 connect via local UNIX domain sockets on the host machine. | |
66 | |
67 2. All of the "client" programs under discussion can also launch rvinterf | |
68 themselves. An instance of rvinterf lauched in this manner becomes a child | |
69 process of the "client" program, terminating together with it, and the two | |
70 processes communicate via an unnamed and unbound socket pair. |