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.