FreeCalypso > hg > fc-magnetite
annotate doc/Pirelli-Howto @ 110:49254db81128
implemented fix for the L1/ETM boot time race condition bug
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 06 Oct 2016 00:13:12 +0000 |
parents | ffa25a27fa27 |
children | 619a33e8425e |
rev | line source |
---|---|
94
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 Running FreeCalypso Magnetite firmware on the Pirelli DP-L10 |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ============================================================ |
596d86109e44
initial round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 |
97
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
4 The Pirelli DP-L10 is a neat target for playing with FreeCalypso for two |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
5 reasons: |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
6 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
7 1. It has a USB port connected to one of Calypso's UARTs through a built-in |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
8 CP2102 USB-serial adapter, eliminating the need for headset jack serial |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
9 cables. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
10 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
11 2. The huge RAM on this phone (8 MiB) makes it possible to run experimental GSM |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
12 firmware images entirely in RAM without flashing - and we have successfully |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
13 implemented this capability in FC Magnetite similarly to Citrine. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
14 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
15 There is, however, one difference between our Citrine and Magnetite firmwares |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
16 when it comes to running on the Pirelli without flashing: Citrine uses a |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
17 RAM-based fake FFS, whereas Magnetite always requires a real FFS in flash, even |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
18 when the firmware code image itself is entirely RAM-based. However, just like |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
19 on the C139, we do NOT use the same FFS which is used by Pirelli's official |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
20 firmwares - the latter contains nothing of use to our fw, hence it is best for |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
21 us to use our own separate FreeCalypso Magnetite FFS. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
22 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
23 The flash location that's been chosen for Magnetite FFS on the Pirelli is |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
24 0x02480000 through 0x025FFFFF, i.e., offsets 0x480000 through 0x5FFFFF in the |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
25 second flash bank. Pirelli's official firmwares use this flash area as |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
26 temporary storage during OTA (over-the-air, probably WLAN in this case) fw |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
27 reloads and leave it untouched at all other times, therefore as long as you are |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
28 not doing firmware reloads over WLAN while in the "official mode", you can use |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
29 your Pirelli phone for FreeCalypso experiments via fc-xram and go back to the |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
30 regular fw in between, and the Magnetite FFS in the flash will be preserved |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
31 from one fc-xram session to the next, not disturbed by Pirelli's fw. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
32 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
33 Compiling |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
34 ========= |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
35 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
36 When compiling our Magnetite firmware for the Pirelli target, you will need to |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
37 select the l1reconst configuration - it is the only currently available |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
38 configuration that works on this target. Therefore, you configure.sh command |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
39 should be: |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
40 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
41 ./configure.sh pirelli l1reconst |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
42 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
43 To build a RAM-loadable image for the Pirelli, run 'make ram' in the build |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
44 directory created by the configure script - see the Compiling write-up for |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
45 more details. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
46 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
47 Because we have not deblobbed the G23M firmware component yet (the l1reconst |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
48 configuration uses G23M binary blobs from TCS211/Sotovik), your Magnetite fw |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
49 build will include FAX_AND_DATA and GPRS functionality. In the FreeCalypso |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
50 environment where we are not doing WAP or MMS this functionality can only be |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
51 exercised on targets that bring out a classic modem UART with the classic AT |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
52 command interface to the external host, but the Pirelli is not one of those |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
53 targets - hence on this target all FAX_AND_DATA and GPRS code is nothing but |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
54 dead weight. We will only be able to remove this dead weight when and if we |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
55 fully deblob all of L1 and G23M, so it will be a while before we get there, |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
56 and we'll have to carry the dead weight until then. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
57 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
58 Running on the target |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
59 ===================== |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
60 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
61 1. Connect a USB cable from your GNU/Linux PC/laptop to the phone. If the |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
62 phone was off but the battery is present, it will go through a charger-plug |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
63 power-on event; if the flash contains Pirelli's original fw, it will boot in |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
64 the charging mode. If the battery is not present, the Calypso won't power |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
65 on (it needs VBAT and can't run on VCHG power instead), but the /dev/ttyUSBx |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
66 device will still show up, as the CP2102 USB-serial chip inside the phone is |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
67 powered strictly from the USB side. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
68 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
69 2. Run a command like the following: |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
70 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
71 fc-xram -h pirelli /dev/ttyUSB0 ramimage.srec rvinterf |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
72 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
73 Adjust the paths to your /dev/ttyUSBx device and your ramimage.srec as |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
74 appropriate, and add rvinterf logging or other options as desired. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
75 Specifying rvinterf on the fc-xram command line directs fc-xram to exec |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
76 rvinterf and pass the serial channel to it immediately as soon as the code |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
77 image has been loaded into target RAM and jumped to; this direct passing of |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
78 the serial channel from fc-xram to rvinterf is appropriate because the |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
79 loaded fw will immediately start emitting binary trace packets in TI's RVTMUX |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
80 format. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
81 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
82 3. Induce the phone to execute its Calypso boot path: if the battery was |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
83 removed, insert it now; if Pirelli's regular fw is running, execute its |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
84 power-off sequence. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
85 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
86 Once the Calypso chip in the Pirelli phone executes its boot path with fc-xram |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
87 running, the boot path will be diverted and our experimental firmware will be |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
88 loaded into target device RAM and jumped to. Our fw will now run, and the |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
89 rvinterf process on the host will maintain communication with it. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
90 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
91 FFS initialization |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
92 ================== |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
93 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
94 When our Magnetite firmware boots, it will examine the state of the flash |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
95 sectors in the area we have allocated for our aftermarket FFS. If this flash |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
96 area is completely blank the first time Magnetite boots, as it should be if you |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
97 have a "virgin" Pirelli phone, the FFS code in our fw will automatically perform |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
98 what TI called the "preformat" operation: write undifferentiated FFS block |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
99 headers (0xBF in the flags byte) into each flash sector. However, it won't |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
100 automatically perform the "format" operation - instead you'll need to run |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
101 fc-fsio to do the format and to populate this FFS with some necessary content. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
102 If you are not sure of the state of the Magnetite FFS flash area on your |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
103 Pirelli, you can also run fc-fsio to examine it - so run fc-fsio either way. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
104 Run fc-fsio WITHOUT -p: let it connect to the rvinterf process you should |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
105 already have running from fc-xram. |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
106 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
107 NOTE: the following instructions are based on the new version of fc-fsio that |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
108 has not yet made its way into a packaged fc-host-tools release as of this |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
109 writing. Therefore, please get the latest development version here: |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
110 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
111 https://bitbucket.org/falconian/freecalypso-tools |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
112 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
113 Once you are in fc-fsio, check the status of your FFS like this: |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
114 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
115 fsio> ls -l / |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
116 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
117 If the FFS is already formatted, you will get a listing of the root directory; |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
118 if it is not formatted, you'll get an error like this: |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
119 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
120 opendir: FFS error 4 (EFFS_NOFORMAT: ffs not formatted) |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
121 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
122 To format and initialize your Pirelli Magnetite FFS, issue the following |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
123 commands: |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
124 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
125 fsio> format / |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
126 fsio> pirelli-magnetite-init |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
127 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
128 If you already have a formatted FFS from before, it is safe to rerun the |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
129 pirelli-magnetite-init command, but not format. The format command will *not* |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
130 work on an already formatted FFS; if you have a messed-up FFS and you would |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
131 like to restart from a clean slate, erase the Magnetite FFS sectors with |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
132 fc-loadtool: |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
133 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
134 loadtool> flash2 erase 480000 180000 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
135 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
136 Exercising the GSM functionality |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
137 ================================ |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
138 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
139 Once your FFS is good, open another terminal window on your driving PC/laptop |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
140 and run fc-shell. This program will connect to the already running rvinterf |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
141 process via a local socket, and it will enable you to send various commands to |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
142 the running fw on the target, the most important ones being standard AT |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
143 commands. Send the following sequence of AT commands to bring up GSM |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
144 functionality: |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
145 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
146 AT+CMEE=2 -- enable verbose error responses |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
147 AT+CFUN=1 -- enable radio and SIM interfaces |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
148 AT+COPS=0 -- register to the default GSM network |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
149 |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
150 When you are done playing with our experimental fw, you can either yank the |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
151 battery and kill the host side rvinterf and fc-shell processes, or you can |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
152 issue a 'tgtreset' command at the fc-shell prompt. The latter will cause the |
ffa25a27fa27
doc/Pirelli-Howto written
Mychaela Falconia <falcon@freecalypso.org>
parents:
94
diff
changeset
|
153 target to reset and boot back into its regular firmware. |