comparison doc/Freerunner-Howto @ 998:7d3f0910aeb2

doc: Firmware_Status written, Freerunner-Howto & Pirelli-Howto updated
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Sat, 05 Mar 2016 20:50:37 +0000
parents 4fa939eada22
children fab048ff04b8
comparison
equal deleted inserted replaced
997:c7ca69bf84f3 998:7d3f0910aeb2
1 How to play with FreeCalypso GSM firmware on a Neo Freerunner 1 How to play with FreeCalypso GSM firmware on a Neo Freerunner
2 ============================================================= 2 =============================================================
3 3
4 Aside from the half-source leo2moko fw we produced back in 2013-10 (you can 4 We have two entirely different firmware offerings for the Freerunner:
5 read all about that one at www.freecalypso.org/leo2moko/), we don't have a
6 working free GSM firmware version for the Freerunner yet. What we do have
7 currently is experimental code that can be built into an image that can be
8 flashed into a GTA02 modem - but it doesn't really work yet.
9 5
10 If you would like to play with our experimental code on your Neo FR and maybe 6 1. Leo2moko fw produced back in 2013-10: this is the only one suitable for
11 help us make it work, here are the instructions: 7 end users. We also have leo2moko-debug which is a slightly hacked-up
8 version of leo2moko with some additional debug features for developers;
9 this version is for developers only; end users should stick with the
10 original leo2moko-r1 aka moko12 from 2013-10.
11
12 2. The work-in-progress full-source gcc-built FC GSM fw can be built for
13 multiple targets, and the gtamodem target is one of them - the original
14 one, in fact.
15
16 The flash+SRAM chip which FIC/Openmoko populated in their modems provides
17 plenty enough RAM for the firmware's data space requirements, but not enough
18 to run a complete firmware code image entirely from RAM, hence whichever fw
19 version you would like to exercise, you need to flash it. There are two ways
20 to flash modem firmware images in these smartphones: from inside the phone
21 (from the application processor) or externally through a special serial cable
22 inserted into the analog headset jack. The internal method is intended only
23 for end users flashing released production-quality images; developers and
24 tinkerers are expected to use the serial cable method.
25
26 The serial cable wiring requirements for the GTA02 are the same as for Mot C1xx
27 phones, thus the same cable can be used for both. The FreeCalypso project has
28 endorsed UberWaves as our official vendor for serial cables; George at
29 UberWaves now makes serial cables that are specifically certified for use with
30 FreeCalypso. If you would like to order one, email uberwaves@gmail.com.
31
32 Please see the Firmware_Status write-up for the current status of our full-
33 source gcc-built firmware. As you can read there, this fw is currently nowhere
34 near being able to replace leo2moko. Therefore, if you are going to flash our
35 gcc-built gsm-fw into your FR's modem, we expect that you are using your FR as
36 a poor man's substitute for the not-yet-built FCDEV3B (a board we seek to build
37 specifically for developers and not for end users), and are NOT expecting this
38 experimental work-in-progress modem fw to work together with user-oriented
39 application processor software like QtMoko.
40
41 If you would like to play with our experimental gcc-built gsm-fw using a GTA02
42 modem as the hw platform, here are the instructions:
12 43
13 1. Build the firmware in the gtamodem-gsm configuration - see the Compiling 44 1. Build the firmware in the gtamodem-gsm configuration - see the Compiling
14 document for more details; 45 document for more details;
15 46
16 2. You should get a flashImage.bin image built; now you need to flash it into 47 2. You should get a flashImage.bin image built; now you need to flash it into
36 67
37 Once you have flashed our experimental fw into your modem, you can power-cycle 68 Once you have flashed our experimental fw into your modem, you can power-cycle
38 the modem and see the new fw boot. You should have the serial cable connected, 69 the modem and see the new fw boot. You should have the serial cable connected,
39 the serial channel enabled from the Freerunner's AP side and either rvtdump or 70 the serial channel enabled from the Freerunner's AP side and either rvtdump or
40 rvinterf running on your PC or other development machine when you first power 71 rvinterf running on your PC or other development machine when you first power
41 your modem up with the experimental fw in it: this way you will see whether the 72 your modem up with the experimental fw in it: this way you will see the debug
42 fw boots successfully or crashes. If it does boot without crashing (whether or 73 output as the firmware boots up.
43 not it does seems to depend on some factors which we have yet to understand), 74
44 you will get an AT command interface on the other UART going to the Freerunner's 75 Once the firmware has booted, it needs to be controlled via AT commands. The
45 AP - now go ahead and play from there. :) 76 present fw presents its AT command interface on two channels on this target: on
77 the MODEM UART going to the Freerunner's application processor and via RVTMUX.
78 At the present stage of development, we highly recommend that you avoid running
79 any GSM-driving software on the AP and exercise our work-in-progress fw solely
80 through the external serial interface on the headset jack, using rvinterf and
81 fc-shell. The standard AT command interface on the dedicated MODEM UART is a
82 feature which we plan to address properly only when we build our planned FCDEV3B
83 hardware, which will bring both UARTs out to the external host.
84
85 Assuming that you already have rvinterf running in a terminal window (you should
86 have started it before you gave the modem power-on command from the AP side),
87 to exercise our firmware further, you will need to open another terminal window
88 on your driving PC/laptop and run fc-shell. This program will connect to the
89 already running rvinterf process via a local socket, and it will enable you to
90 send various commands to the running fw on the target, the most important ones
91 being standard AT commands. Send the following sequence of AT commands to
92 bring up GSM functionality:
93
94 AT%SLEEP=2 -- disable deep sleep (doesn't work yet)
95 AT+CMEE=2 -- enable verbose error responses
96 AT+CFUN=1 -- enable radio and SIM interfaces
97 AT+COPS=0 -- register to the default GSM network
98
99 Our fw is currently able to exercise all SIM interface functions (at least the
100 obvious ones which I've tested), register with a live commercial GSM network
101 using a legitimate SIM, and send and receive SMS using standard GSM 07.05 AT
102 commands. Voice calls don't work yet: you can dial a MO call with the ATD
103 command and you can place a MT call to the device under test from the network
104 side and then answer it with ATA, these calls connect successfully, but the
105 voice audio fails to pass through: nothing but noise is heard in the earpiece
106 speaker. See the Firmware_Status write-up for more information.
46 107
47 To reflash your modem back to stable and working leo2moko aka moko12, execute 108 To reflash your modem back to stable and working leo2moko aka moko12, execute
48 the following fc-loadtool commands: 109 the following fc-loadtool commands:
49 110
50 flash erase 0 0x230000 111 flash erase 0 0x230000