annotate doc/RVTMUX @ 992:a7b0b426f9ca

target-utils: boot ROM UART autodetection revamped The new implementation should work with both the familiar Calypso C035 boot ROM version found in our regular targets as well as the older Calypso F741979B version found on the vintage D-Sample board.
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Wed, 30 Dec 2015 21:28:41 +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.