annotate doc/RVTMUX @ 1029:333015c662bc

fc-shell: tch play implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 31 May 2016 01:53:04 +0000
parents 285505f98013
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 TI's Calypso GSM/GPRS baseband processor chip has not one but two UART serial
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 ports, called "MODEM" and "IrDA" in the hardware documentation. In hardware
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 terms, both support basic data-leads-only UART operation at a fixed baud rate,
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 but their extended capabilities differ: the IrDA UART adds IrDA capability (no
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 surprise), whereas the MODEM UART adds hardware flow control and autobaud. If
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 one is not implementing an actual IrDA interface, then the so-called "IrDA"
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 UART becomes a strict subset of the MODEM one in terms of hw capabilities -
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 just an extra UART, but a somewhat less capable one.
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 In a classic modem design such as that present in the GTA0x smartphones made by
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 FIC/Openmoko, the Calypso presents a standard AT command interface on its MODEM
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 UART port. (In the case of GTA0x phones this serial channel is wired to the
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13 phone's application processor; in a standalone modem it would be wired to a
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 USB-serial chip or even to a classic RS-232 DB25 port.) However, what is less
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15 known is that the standard firmware for such modems simultaneously presents an
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 entirely different interface on the IrDA UART - an interface intended for
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17 development, debugging and factory production testing (which includes RF
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 calibration and IMEI etc programming), rather than for "normal" end users.
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
19
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20 Normally this debug/development serial interface (called RVTMUX as will be
272
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
21 explained momentarily) is hidden from "ordinary" users - for example, on FIC
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22 GTA0x phones it is wired to the analog headset jack through a hardware switch
388
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
23 which needs to be enabled through a GPIO signal from the AP. On Mot C139 and
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
24 its siblings the situation is similar: one needs to key in the secret magic
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
25 sequence **16379#, and then the firmware presents a hidden menu for switching
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
26 the analog headset jack between its "normal" function and the UART carrying
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
27 RVTMUX.
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
28
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
29 But there also exist some oddball devices on which the RVTMUX interface is
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
30 presented "in your face". The Pirelli DP-L10 phone has a USB charging port
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
31 which is also wired (through a CP2102 USB-serial chip) to the IrDA UART on the
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
32 Calypso - that's right, IrDA, not MODEM - a design decision with which this
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
33 hacker strongly disagrees. (It'll definitely be wired to the MODEM UART
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
34 instead on our own semi-clone of this phone, but I digress.) Apparently Foxconn
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
35 (the designers of this phone) had no desire to provide a standard AT command
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
36 interface, and instead the only "official" way to use the "data" function of
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
37 their USB port (rather than the charging function) is for their "PC sync"
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
38 feature, i.e., their proprietary Weendoze software. And guess what, their
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
39 proprietary "PC sync" feature works over TI's RVTMUX interface, as that is
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
40 what's presented on Calypso's IrDA UART behind the CP2102!
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
41
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
42 OK, so what is this RVTMUX? RV stands for RiViera, an application framework
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
43 which TI added to their GSM firmware suite in the early 2000s, T stands for
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
44 trace, and MUX stands for multiplexor. It's a binary packet interface, although
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
45 many of these packets contain ASCII debug messages inside. The framing format
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
46 is the same in both directions: each packet begins and ends with an STX (0x02)
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
47 byte, all payload bytes except 0x02 and 0x10 are sent literally, and there is a
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
48 DLE (0x10) byte prepended before any 0x02 or 0x10 in the payload. It's the same
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
49 general principle as asynchronous HDLC (RFC 1662): packets can contain any
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
50 binary data, and the framing provides packet boundaries - although TI's version
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
51 is a little less robust than async-HDLC when it comes to recovering after lost
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
52 synchronization.
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
53
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
54 The firmware suite component responsible for actually sending and receiving
388
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
55 these packets over the assigned UART port (usually IrDA, but can be MODEM too,
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
56 as on Compal phones for example) is called RVT (RiViera Trace), and it
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
57 implements a MUX function. There are several logical channels multiplexed over
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
58 one physical serial port, and the first byte of every packet indicates which
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
59 logical channel it belongs to. Any component within the GSM firmware suite can
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
60 send packets to RVT for transmission on this serial interface, and can also
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
61 register to receive packets beginning with a particular type ID byte.
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
62
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
63 Debug trace output
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
64 ==================
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
65
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
66 All GSM device firmwares that are based on TI's Calypso chipset reference fw
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
67 continuously emit quite voluminous debug trace output on their RVTMUX serial
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
68 port, whether it is hidden or exposed on a given device. Like all RVTMUX
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
69 traffic, this debug trace output takes the form of binary packets as explained
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
70 above, but the content of these packets is mostly ASCII with some binary header
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
71 bytes prepended. FreeCalypso host utility rvtdump captures all serial output
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
72 from a GSM device's RVTMUX port, parses the packet structure and displays this
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
73 output in line-oriented pure ASCII with all binary parts decoded.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
74
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
75 Test Mode commands
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
76 ==================
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
77
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
78 The other major use of the RVTMUX interface is sending so-called Test Mode
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
79 commands from an external host to a running GSM device. Depending on the
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
80 firmware version, a GSM device can be commanded to do any of the following
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
81 things through this mechanism:
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
82
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
83 * Exercise RF test modes, e.g., transmit continuously at a set frequency and
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
84 power level;
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
85 * Read and write arbitrary memory locations in the Calypso ARM7 address space;
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
86 * Read and write ABB chip registers;
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
87 * Reboot or power off;
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
88 * Access and manipulate the device's flash file system (FFS).
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
89
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
90 In the segment of history of interest to us TI has produced two different
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
91 target firmware components that can receive, interpret and act upon Test Mode
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
92 command packets:
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
93
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
94 * The original Test Mode component of Layer 1, called L1TM or TML1: this
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
95 component handles all RF test modes (needed for RF calibration on device
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
96 production lines), and originally it also implemented memory and ABB register
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
97 read and write commands, and provided access to TMFFS1 (see below). In the
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
98 original implementation this component registered itself as the handler for
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
99 the "TM" RVTMUX channel (RVT packet type 0x14), so it would receive all TM
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
100 packets sent to the device.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
101
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
102 * Enhanced Test Mode (ETM) is a later invention. It registers itself (instead
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
103 of the old TM in L1) with RVT as the handler for the "TM" RVTMUX channel, and
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
104 then provides a registration service of its own, such that various components
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
105 in the fw suite can register to receive external command packets passing
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
106 first through RVT, then through ETM, and can send responses passing through
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
107 ETM, then through RVT back to the external host. If a given fw version
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
108 contains both ETM and L1TM, then L1TM registers itself with ETM; an external
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
109 host would send exactly the same binary command packets to exercise RF test
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
110 modes, but inside the firmware they now pass through ETM on their way to L1TM.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
111
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
112 The ETM_CORE module contained within ETM itself provides some low-level debug
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
113 commands: by sending the right binary command packets to the GSM device via the
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
114 RVTMUX serial channel, an external host can examine or modify any memory
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
115 location and any hardware register, cause the device to reset, etc. Prior to
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
116 ETM some of these functions (but not all) could be exercised through older TM3
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
117 commands, but in FreeCalypso we became familiar with the ETM versions of these
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
118 commands long before the older ones because we got the ETM component in full
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
119 source form, whereas our copy of TCS211 (TI's reference fw) has L1TM in a
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
120 binary library.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
121
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
122 Our TCS211/leo2moko reference fw has both ETM and L1TM, thus it accepts both
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
123 ETM and TM3 command packets. ETM commands (including TMFFS2, see below) work
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
124 on Pirelli's fw, but Mot/Compal's original fw for the C139 has only the
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
125 original non-enhanced Test Mode, not ETM.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
126
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
127 FFS access via TM/ETM
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
128 =====================
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
129
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
130 One of the essential facilities provided in one form or another in all known
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
131 incarnations of the Test Mode mechanism is the ability to access and manipulate
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
132 the GSM device's flash file system (FFS). See TIFFS-Overview for a description
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
133 of this file system. TI's TMFFS1 and TMFFS2 protocols provide a command and
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
134 response packet interface to the FFS API functions inside the fw, and enable an
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
135 external host connected to the GSM device via the RVTMUX channel to perform
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
136 arbitrary read and write operations on the device file system.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
137
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
138 In the segment of history of interest to us TI has produced two different
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
139 and entirely incompatible versions of the TMFFS protocol: TMFFS1 and TMFFS2.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
140 Or rather, what is now called TMFFS1 was originally just TMFFS, and then came
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
141 TMFFS2. TMFFS2 works only through ETM, whereas TMFFS1 predates ETM: in the
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
142 original implementation the tm_ffs() function in the FFS code was called from
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
143 L1TM code.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
144
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
145 Our copy of TCS211 reference fw includes the source for both TMFFS1 and TMFFS2;
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
146 it is theoretically possible to build a firmware image that includes both TMFFS
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
147 versions (they won't conflict because they respond to different command
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
148 packets), but it is pretty clear that TI never intended to have both enabled
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
149 at the same time. Our copy of TCS211 came with TMFFS1 enabled and we didn't
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
150 change it when we made the moko12 (leo2moko-r1) fw release for the Openmoko
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
151 community (the previous proprietary mokoN firmwares also implement TMFFS1),
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
152 but we have subsequently switched to TMFFS2 for our current TCS211-based work.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
153
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
154 Pirelli's fw implements TMFFS2: we don't have any source for this fw, but our
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
155 FreeCalypso host utilities written to talk the TMFFS2 protocol based on our
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
156 available TCS211 source work beautifully when run against Pirelli's fw.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
157
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
158 Use in FreeCalypso
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
159 ==================
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
160
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
161 The FreeCalypso project has adopted the same general firmware architecture as
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
162 that exhibited by TI's standard firmwares from the Moko/Pirelli time frame. We
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
163 use TI's RiViera framework lifted directly out of the TCS211 reference fw, and
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
164 that includes the RVT module and the RVTMUX interface it presents. Our GSM fw
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
165 emits the same 3 kinds of debug traces (RV, L1 and GPF) as the pre-existing
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
166 firmwares with which we are seeking functional parity, and for Test Mode
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
167 functionality we have the option of including ETM, TMFFS1 and/or TMFFS2 in our
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
168 firmware builds. (Both TMFFS versions require ETM in our implementation, and
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
169 it is possible to build a firmware image with both included.)
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
170
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
171 We have adopted ETM and TMFFS2 as the standard combination for FreeCalypso,
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
172 i.e., ETM_CORE for memory and ABB register reads and writes and TMFFS2 for
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
173 external FFS access. We needed to develop our own host tools for operating on
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
174 GSM device FFS via one of the two TMFFS protocols, and after studying the fw
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
175 source implementing both, I (Space Falcon) came to the conclusion that TMFFS2
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
176 is both more capable and more reliable; my guess is that TMFFS1 was likely kept
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
177 around only because some of TI's crappy Weendoze host software depended on it.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
178 (See gsm-fw/services/ffs/tmffs.c if you would like to judge for yourself.)
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
179
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
180 We have the following host tools for communicating with TI-based GSM firmwares
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
181 (both our own and some of the existing proprietary ones):
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
182
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
183 rvtdump This tool produces a human-readable dump of all output emitted
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
184 by a TI-based GSM fw in the form of RVTMUX binary packets. It
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
185 can also log this dump to a file.
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
186
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
187 rvinterf This tool is a superset of rvtdump: it not only dumps and/or
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
188 logs all output from the GSM fw, but also provides a mechanism
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
189 for sending command packets to it.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
190
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
191 Rvinterf is the engine behind the following host tools that send Test Mode
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
192 commands to a target:
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
193
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
194 fc-tmsh This is our basic tool for sending Test Mode commands to a
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
195 running GSM fw. It is strictly asynchronous in that commands
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
196 entered by the operator get sent to the target, and any response
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
197 packets received from the target are displayed as they come in.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
198 The tool has no knowledge of any correspondence between commands
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
199 being sent and whatever responses they should elicit, i.e., it
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
200 is perfectly suited for experimental discovery of firmware
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
201 behaviour in response to Test Mode commands.
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
202
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
203 This tool was written before we realized that there was/is an
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
204 older, more basic Test Mode predating ETM, hence in many place
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
205 we say "ETM" when we really should have said "TM". Oh well...
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
206
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
207 fc-fsio This tool speaks the TMFFS2 protocol and allows a user or
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
208 developer to perform a wide range of operations on the file
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
209 system of a GSM device. It operates synchronously, i.e., it
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
210 sends ETM/TMFFS2 commands and expects responses in strict
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
211 lock-step; a single user command may translate into a large
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
212 number of ETM/TMFFS2 command packet exchanges.
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
213
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
214 AT commands over RVTMUX
272
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
215 =======================
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
216
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
217 There is one more use to which we put the RVTMUX debug serial interface that is
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
218 an original FreeCalypso invention: communicating with the AT command interpreter
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
219 (ATI). TI's original architecture assumes that if a product is to offer a
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
220 standard AT command interface (the product is either a GSM/GPRS modem for which
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
221 this AT command interface is the sole mode of usage or a feature phone that
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
222 offers a data port as one of its features), then it will be presented on a
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
223 dedicated UART separate from RVTMUX.
272
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
224
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
225 However, many of our target devices have only one UART practically accessible,
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
226 and even when we use Openmoko's modem as our development platform, the RVTMUX
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
227 interface is more convenient because it connects externally, whereas the MODEM
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
228 UART is connected to the application processor of the smartphone. Therefore,
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
229 we developed a way to pass AT commands over RVTMUX. We created a new RVTMUX
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
230 channel for this interface and assigned it RVT packet type 0x1A. Packets sent
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
231 from an external host to the GSM device carry AT commands and SMS string input,
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
232 whereas packets flowing the other way carry ATI's responses to commands and
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
233 asynchronous notifications such as incoming calls.
272
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
234
973
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
235 The host utility for talking AT commands to a FreeCalypso GSM device via RVTMUX
285505f98013 doc/RVTMUX: major updates triggered by new understanding of TM/ETM relationship
Mychaela Falconia <falcon@ivan.Harhan.ORG>
parents: 430
diff changeset
236 is fc-shell; it works via rvinterf just like fc-fsio and fc-tmsh.