FreeCalypso > hg > freecalypso-sw
comparison doc/RVTMUX @ 430:14618bd924ec
doc/RVTMUX and doc/TIFFS-Overview: updates
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sat, 21 Jun 2014 21:28:56 +0000 |
parents | 821a26f90968 |
children | 285505f98013 |
comparison
equal
deleted
inserted
replaced
429:f114f5c547ec | 430:14618bd924ec |
---|---|
118 likely kept around only because some of TI's crappy Weendoze host software | 118 likely kept around only because some of TI's crappy Weendoze host software |
119 depended on it. (See gsm-fw/services/ffs/tmffs.c if you would like to judge | 119 depended on it. (See gsm-fw/services/ffs/tmffs.c if you would like to judge |
120 for yourself.) Thus TMFFS2 is currently the "officially adopted" version for | 120 for yourself.) Thus TMFFS2 is currently the "officially adopted" version for |
121 FreeCalypso. | 121 FreeCalypso. |
122 | 122 |
123 Our fc-tmsh utility (described below) allows a developer-operator to send TMFFS | 123 Our fc-tmsh utility (see below and ../rvinterf/README) allows a developer- |
124 "get version" queries to a running GSM fw in both ETM_FFS1 and ETM_FFS2 formats; | 124 operator to send TMFFS "get version" queries to a running GSM fw in both |
125 this capability allows us to determine experimentally which protocol (if any) is | 125 ETM_FFS1 and ETM_FFS2 formats; this capability allows us to determine |
126 implemented by a given proprietary firmware version. Experiments reveal that | 126 experimentally which protocol (if any) is implemented by a given proprietary |
127 Openmoko's moko11 firmware implements TMFFS1, whereas Pirelli's fw implements | 127 firmware version. Experiments reveal that Openmoko's moko11 firmware |
128 TMFFS2. | 128 implements TMFFS1, whereas Pirelli's fw implements TMFFS2. |
129 | 129 |
130 The leo2moko-r1 firmware produced by the FreeCalypso project in 2013-10 | 130 The leo2moko-r1 firmware produced by the FreeCalypso project in 2013-10 |
131 implements TMFFS1, simply because that was the selected configuration in the | 131 implements TMFFS1, simply because that was the selected configuration in the |
132 found Leonardo source that transitional fw is based on, and that release was | 132 found Leonardo source that transitional fw is based on, and that release was |
133 made before I learned RVTMUX, FFS, ETM and TMFFS properly. All future | 133 made before I learned RVTMUX, FFS, ETM and TMFFS properly. All future |
136 Host utility support | 136 Host utility support |
137 ==================== | 137 ==================== |
138 | 138 |
139 As one would naturally expect, the FreeCalypso project has developed some host | 139 As one would naturally expect, the FreeCalypso project has developed some host |
140 tools that allow a PC running GNU/Linux (or other Unix systems) to interface to | 140 tools that allow a PC running GNU/Linux (or other Unix systems) to interface to |
141 running firmwares on GSM devices via RVTMUX. The following tools are currently | 141 running firmwares on GSM devices via RVTMUX. See the rvinterf subtree of |
142 available: | 142 freecalypso-sw for the source and documentation. |
143 | |
144 rvtdump Opens the serial port, decodes TI's binary packet protocol, and | |
145 simply dumps every received/decoded packet on stdout in a human- | |
146 readable form. No provision for sending anything to the target. | |
147 Intended use: observing the debug trace output which all TI | |
148 firmwares emit as standard "background noise". This utility | |
149 allows one to observe/log/study the "noise" that appears on | |
150 Pirelli's USB-serial port (running Pirelli's original fw), | |
151 as well as that emitted on the IrDA (headset jack) port on the | |
152 GTA02 by mokoN/leo2moko firmwares. | |
153 | |
154 rvinterf Provides a bidirectional interface to RVTMUX on the host side. | |
155 It dumps and/or logs the "background noise" emitted by the | |
156 target just like rvtdump, but also creates a local UNIX domain | |
157 socket on the host machine to which other programs can connect, | |
158 replicating the MUXing function on the host side. | |
159 | |
160 fc-tmsh Interactive asynchronous test mode shell. This program connects | |
161 to a target GSM device through rvinterf and allows a developer- | |
162 operator to send various ETM commands to the target. ETM | |
163 responses are decoded (sometimes only lightly) and displayed. | |
164 fc-tmsh is fully asynchronous in that it continuously listens | |
165 (via select(2)) for both user input and for packets from the | |
166 target at the same time, translating any user-entered commands | |
167 into packets to the target and conversely, scribbling on the | |
168 terminal when a packet arrives from the target. It has no | |
169 knowledge of any correspondence between commands and responses | |
170 they normally elicit. | |
171 | |
172 fc-tmsh implements some low-level ffs2 commands (see above regarding our design | |
173 decision to use TMFFS2 rather than TMFFS1), but it is already known that this | |
174 implementation approach is a dead end, and a different host utility is planned | |
175 to be written for full FFS read/write access via the TMFFS2 protocol. |