annotate doc/RVTMUX @ 923:10b4bed10192

gsm-fw/L1: fix for the DSP patch corruption bug The L1 code we got from the LoCosto fw contains a feature for DSP CPU load measurement. This feature is a LoCosto-ism, i.e., not applicable to earlier DBB chips (Calypso) with their respective earlier DSP ROMs. Most of the code dealing with that feature is conditionalized as #if (DSP >= 38), but one spot was missed, and the MCU code was writing into an API word dealing with this feature. In TCS211 this DSP API word happens to be used by the DSP code patch, hence that write was corrupting the patched DSP code.
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Mon, 19 Oct 2015 17:13:56 +0000
parents 14618bd924ec
children 285505f98013
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
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
63 Use in FreeCalypso
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
64 ==================
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
65
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
66 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
67 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
68 use TI's RiViera framework lifted directly out of the TCS211 reference fw, and
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
69 that includes the RVT module and the RVTMUX interface it presents. At the
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
70 present time (early development stage, none of the actual GSM functionality has
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
71 been integrated yet) this RVTMUX interface is put to the following uses in our
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
72 own gsm-fw:
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
73
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
74 * Debug trace output from various components sent via the rvf_send_trace()
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
75 function - it is the RiViera Trace output in the proper sense;
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
76
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
77 * The ETM module and the associated FFS access protocol described below.
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
78
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
79 In the existing proprietary firmwares which serve as our reference, the RVTMUX
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
80 serial channel is continuously spewing very voluminous debug output. This debug
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
81 output exhibits 3 different packet types: RV traces described above, and also
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
82 L1 and G23 traces, each in its own format. We expect that our own gsm-fw will
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
83 become just like these reference versions in this regard, once we integrate
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
84 those code layers.
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
85
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
86 ETM and FFS access
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
87 ==================
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
88
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
89 Another component which we have lifted out of the TCS211 reference fw is ETM,
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
90 which stands for Enhanced Test Mode. This module registers its own "top level"
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
91 protocol over RVTMUX, and provides a registration service of its own, such that
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
92 various components in the fw suite can register to receive external command
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
93 packets passing first through RVT, then through ETM, and can send responses
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
94 passing through ETM, then through RVT back to the external host.
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
95
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
96 The ETM_CORE module contained within ETM itself provides some low-level debug
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
97 commands: by sending the right binary command packets to the GSM device via the
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
98 RVTMUX serial channel, an external host can examine or modify any memory
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
99 location and any hardware register, cause the device to reset, etc.
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
100
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
101 The only other ETM-based functionality currently integrated in our gsm-fw
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
102 besides ETM_CORE is TMFFS (Test Mode for FFS), which is the external access
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
103 channel to the device file system - see TIFFS-Overview. The TMFFS1 and TMFFS2
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
104 protocols provide a command/response packet interface to the FFS API functions
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
105 inside the fw, and enable an external host connected to the GSM device via the
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
106 RVTMUX channel to perform arbitrary read and write operations on the device
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
107 file system.
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
108
272
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
109 TMFFS protocol versions
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
110 =======================
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
111
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
112 TI made two different and entirely incompatible versions of the TMFFS protocol
388
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
113 for accessing a device's FFS via RVT/ETM: TMFFS1 and TMFFS2. The fw sources
272
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
114 available to us contain implementations of both versions, so we have the freedom
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
115 to use whichever we like better for FreeCalypso. After studying the fw source
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
116 implementing the two TMFFS protocols, I (Space Falcon) came to the conclusion
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
117 that TMFFS2 is both more capable and more reliable; my guess is that TMFFS1 was
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
118 likely kept around only because some of TI's crappy Weendoze host software
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
119 depended on it. (See gsm-fw/services/ffs/tmffs.c if you would like to judge
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
120 for yourself.) Thus TMFFS2 is currently the "officially adopted" version for
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
121 FreeCalypso.
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
122
430
14618bd924ec doc/RVTMUX and doc/TIFFS-Overview: updates
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 388
diff changeset
123 Our fc-tmsh utility (see below and ../rvinterf/README) allows a developer-
14618bd924ec doc/RVTMUX and doc/TIFFS-Overview: updates
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 388
diff changeset
124 operator to send TMFFS "get version" queries to a running GSM fw in both
14618bd924ec doc/RVTMUX and doc/TIFFS-Overview: updates
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 388
diff changeset
125 ETM_FFS1 and ETM_FFS2 formats; this capability allows us to determine
14618bd924ec doc/RVTMUX and doc/TIFFS-Overview: updates
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 388
diff changeset
126 experimentally which protocol (if any) is implemented by a given proprietary
14618bd924ec doc/RVTMUX and doc/TIFFS-Overview: updates
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 388
diff changeset
127 firmware version. Experiments reveal that Openmoko's moko11 firmware
14618bd924ec doc/RVTMUX and doc/TIFFS-Overview: updates
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 388
diff changeset
128 implements TMFFS1, whereas Pirelli's fw implements TMFFS2.
272
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
129
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
130 The leo2moko-r1 firmware produced by the FreeCalypso project in 2013-10
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
131 implements TMFFS1, simply because that was the selected configuration in the
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
132 found Leonardo source that transitional fw is based on, and that release was
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
133 made before I learned RVTMUX, FFS, ETM and TMFFS properly. All future
388
821a26f90968 doc/RVTMUX: minor fixes
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 273
diff changeset
134 FreeCalypso firmwares will use TMFFS2, or at least that's the current plan.
272
9c34d938a645 doc/RVTMUX: TMFFS protocol versions documented
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 270
diff changeset
135
270
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
136 Host utility support
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
137 ====================
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
138
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
139 As one would naturally expect, the FreeCalypso project has developed some host
d1388095ab27 doc/RVTMUX write-up
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
140 tools that allow a PC running GNU/Linux (or other Unix systems) to interface to
430
14618bd924ec doc/RVTMUX and doc/TIFFS-Overview: updates
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 388
diff changeset
141 running firmwares on GSM devices via RVTMUX. See the rvinterf subtree of
14618bd924ec doc/RVTMUX and doc/TIFFS-Overview: updates
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 388
diff changeset
142 freecalypso-sw for the source and documentation.