annotate doc/Pirelli-VPM-howto @ 30:2d60f9a3032b default tip

LICENSE: public domain, copied from freecalypso-tools
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 24 Jun 2023 04:24:38 +0000
parents 9e7ca43275eb
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 Running FreeCalypso VPM firmware on a Pirelli DP-L10 phone is much easier and
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 much more convenient than doing the same on Mot C1xx. There are two principal
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 reasons for this difference:
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 * Pirelli DP-L10 has huge RAM (8 MiB), allowing our FC aftermarket fw to run
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 entirely in RAM (fc-xram) without flashing.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 * In the flash layout used by official fw, there is an area that is used only
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 for high-level firmware updates over WLAN (as opposed to "surgical" firmware
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 reflashing with fc-loadtool) and remains unused otherwise. We put our
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 aftermarket FFS in this part of the flash, and this aftermarket FFS just stays
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 there, untouched by Pirelli's official fw, in between fc-xram sessions that
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 run FC VPM fw.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 This article explains how to initialize the aftermarket FFS for FreeCalypso fw
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 on your Pirelli phone, and how to actually run the VPM fw afterward.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 Required software components
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 ============================
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 You will need the following 4 FreeCalypso software packages installed on your
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 host machine:
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 1) FC host tools base package:
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/fc-host-tools-latest.tar.bz2
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 2) FFS data bundle add-on:
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/ffs-data-bundle-latest.tar.bz2
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 3) FFS editing agent target binaries:
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 ftp://ftp.freecalypso.org/pub/GSM/FreeCalypso/ffs-editor-latest.tar.bz2
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 4) The present fc-am-toolkit package.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 All 4 packages install all of their files under the /opt/freecalypso directory
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 tree defined by the Mother, and you only need to do this host software
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 installation once (or when updates come out), irrespective of how many phones
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 of various kinds (both Pirelli DP-L10 and Mot C1xx) you are going to work with.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 Working with Pirelli phones: general principles
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 ===============================================
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 In order to work with a Pirelli DP-L10 phone in any interesting way, you need
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 to connect it to your host computer via USB. However, USB VBUS rail is also
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 used as the charging power source on this phone, hence any time USB is
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 connected, the Calypso+Iota chipset gets the "charger inserted" condition
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 applied to it, and is not allowed to be fully switched off. The solution
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 adopted by the Mother of FreeCalypso consists of using the "booted for charging
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 only" mode of Pirelli's official fw, plus the -Petmoff mechanism added to
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 loadtools in fc-host-tools-r19.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 Like all standard handset firmwares, Pirelli's official fw has two fundamental
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 operating modes in terms of power on/off control: it can be fully booted, in
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 which case GSM functionality is brought up (network registration, or if there
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 is no SIM, camping on whatever cell it can find for the possibility of an
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 emergency call), or it can be booted for charging only. If you plug USB into a
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 fully switched-off Pirelli phone, the firmware will boot, but it won't do
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 anything other than manage the charging process - that is what we call "booted
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 for charging only" mode. Another way to enter this mode is to plug USB into the
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 phone while it is in fully booted state (with menus working normally), and then
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 execute the power-off sequence. The firmware will actually command the same
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 regular soft power-off as it would in the absence of charging, but the presence
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 of VCHG (coming from USB VBUS) causes the chipset to immediately do another
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 switch-on - and then the firmware boots again, this time for charging only.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 When the firmware is booted for charging only (and you don't give it the
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 additional button press that ungates full boot), all GSM functionality is off
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 (the SIM interface is powered off, and no radio bring-up is done, not even for
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 emergency mode), but the RVTMUX interface is fully working. Pirelli's fw
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 includes ETM, and we can send it an ETM ABB write (abbw) command that writes to
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 the VRPCDEV register in the Iota chip, commanding switch-off. We can make this
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 intrusion into Pirelli's fw in any state, but doing so in the regular fully
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 booted state (basically killing the running fw by brute force) is obviously bad.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 However, when the fw is booted for charging only, killing it in this manner
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 causes no harm, as there is nothing running besides the charging process - and
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 the Iota chip does turn off charging when this switch-off is executed.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 Thus comes our general principle: whenever you wish to use your Pirelli DP-L10
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 phone for playing with FreeCalypso VPM, begin by putting it into the "booted
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 for charging only" state. If you started with the phone off, simply plug in USB
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 but don't press the "On" button, and if you started with the phone on, you can
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 plug in USB and then turn it off. When the phone is in this state and you need
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 to run fc-loadtool, fc-simint, fc-xram or any other loadtools program, run your
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 fc-loadtool or fc-xram etc command with an added -Petmoff option, and then you
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 don't need to do any manual manipulations on the phone: the Calypso boot ROM
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 entry will happen as soon as you execute the command on the host. And when your
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 fc-loadtool or fc-simint session cleanly finishes, or when you finish an FC VPM
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 fw session with fc-shell poweroff or AT@POFF, the phone will return to the same
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 "booted for charging only" state - very convenient! This "booted for charging
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 only" state, running Pirelli's official fw in the flash, thus becomes the
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 "ground" state for FreeCalypso manipulations, corresponding to the fully
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 switched-off state on a Mot C1xx phone or a traditional TI/FC dev board.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 Aftermarket FFS initialization
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 ==============================
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 To initialize the aftermarket FFS for FC firmware on your Pirelli phone,
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 execute this command:
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 pirelli-init-fc-ffs /dev/ttyUSB0
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 (Change ttyUSB0 to other ttyUSBx if needed.)
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 This command is a shell script, the script begins with an fc-loadtool batch
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 operation erasing the aftermarket FFS area, and that fc-loadtool batch command
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 invokation is made with -Petmoff option described in the previous section -
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 thus the phone needs to be in "booted for charging only" mode when you run that
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 pirelli-init-fc-ffs command.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 After erasing the aftermarket FFS area with fc-loadtool, our pirelli-init-fc-ffs
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 script runs our FFS editing agent via fc-xram, and then does the actual FFS
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 initialization via fc-fsio. An fc-fsio command script stashed in
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 /opt/freecalypso/scripts/pirelli-am-ffsinit (installed by the present
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 fc-am-toolkit package) contains the actual magic commands, and these commands
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 populate the FFS with files that come from FC FFS data bundle package.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 You can rerun this pirelli-init-fc-ffs operation at any time, if you need to
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121 reset the aftermarket FFS to its pristine state or if you got an updated version
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 of the relevant files in the FFS data bundle.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124 Running VPM firmware
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 ====================
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 To run FC VPM firmware, once your Pirelli phone is in "booted for charging only"
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 mode and the aftermarket FFS has been initialized as above, execute a command
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 of this form:
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131 fc-xram -h pirelli -Petmoff /dev/ttyUSB0 path/to/ramimage.srec rvinterf
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 The FC firmware image needs to be ramimage.srec; to build this image format (if
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134 you are compiling your own fw, rather than using a released build), run
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 'make ram' in the firmware build directory. (By default the firmware build
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 system produces flash images on all targets, but on the Pirelli target you
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 really don't want to flash this fw - hence the need to run 'make ram'
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 explicitly.)
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
140 When you run the above command, the firmware image will be loaded into XRAM and
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
141 jumped to. The command is structured so that fc-xram will then pass the serial
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
142 communication channel to rvinterf, and from that point on you have a regular
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
143 rvinterf session, talking to an in-RAM (not flashed) firmware instance. The
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
144 principles and guidelines for exercising the GSM MS as a VPM are the same as
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
145 described in the C1xx-VPM-usage article for C1xx phones - please refer to that
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
146 article.
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
147
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
148 Instead of checking for a present rvinterf process via keepalive packets, the
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
149 Pirelli DP-L10 version of our VPM firmware periodically (every 10 s) checks
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
150 for still-present USB connection, by checking the "charger present" status bit
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
151 in Iota VRPCSTS register. If it detects USB unplug, it performs an immediate
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
152 power-off - and because the firmware is not flashed, only loaded in RAM, the
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
153 next boot cycle (be it the power button or USB plug-in) will return the phone
9e7ca43275eb doc/Pirelli-VPM-howto: new article
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
154 to its regular official fw.