FreeCalypso > hg > freecalypso-sw
comparison doc/Firmware_Status @ 1018:e1d670ec6012
doc/Firmware_Status: update for the current state of voice call support and
TCS211 L1 reconstruction progress
author | Mychaela Falconia <falcon@ivan.Harhan.ORG> |
---|---|
date | Sat, 23 Apr 2016 04:39:58 +0000 |
parents | 0ee75fdf082f |
children | 5ab737ac3ad7 |
comparison
equal
deleted
inserted
replaced
1017:759b3cbf46aa | 1018:e1d670ec6012 |
---|---|
20 featured in our reference TCS211 fw could not be reused. Instead this project | 20 featured in our reference TCS211 fw could not be reused. Instead this project |
21 uses versions of L1 and G23M (and some other pieces) that have been lifted from | 21 uses versions of L1 and G23M (and some other pieces) that have been lifted from |
22 the firmware for TI's other chipset (LoCosto) and backported to Calypso. | 22 the firmware for TI's other chipset (LoCosto) and backported to Calypso. |
23 | 23 |
24 The current state of the project is that we have made remarkable progress, but | 24 The current state of the project is that we have made remarkable progress, but |
25 are unfortunately nowhere near the goal of actually being able to replace TCS211 | 25 what we have right now is still not a satisfactory replacement for TCS211. |
26 for practical use. Specifically: | 26 Specifically: |
27 | 27 |
28 * Only the bare minimal modem functionality for the voice+SMS subset has been | 28 * Only the bare minimal modem functionality for the voice+SMS subset has been |
29 integrated so far. "Modem" means our fw can only be controlled via AT | 29 integrated so far. "Modem" means our fw can only be controlled via AT |
30 commands; no UI code (as in LCD+keypad) has been integrated at all. But it | 30 commands; no UI code (as in LCD+keypad) has been integrated at all. But it |
31 is not a true modem either as none of the data functions have been integrated | 31 is not a true modem either as none of the data functions have been integrated |
51 tools on the host PC/laptop. One of the utilities in the rvinterf suite is | 51 tools on the host PC/laptop. One of the utilities in the rvinterf suite is |
52 fc-shell; this tool is used to send AT commands to the running firmware, | 52 fc-shell; this tool is used to send AT commands to the running firmware, |
53 which is the only way to control its operation. | 53 which is the only way to control its operation. |
54 | 54 |
55 * With a valid SIM card inserted and a valid IMEISV configured, a GSM device | 55 * With a valid SIM card inserted and a valid IMEISV configured, a GSM device |
56 running our firmware can successfully connect to live commercial GSM networks | 56 running our firmware can successfully connect to live commercial GSM networks, |
57 and send and receive SMS. | 57 make and receive voice calls, and send and receive SMS. |
58 | 58 |
59 * Voice calls are broken: using appropriate AT commands, one can dial outgoing | 59 * Voice calls work correctly only when the original FR codec is used; EFR and |
60 calls and answer incoming ones, and they connect as they should. However, | 60 AMR are broken. Our current workaround is that we advertise to the network |
61 the voice audio path is broken: nothing but noise is heard in the earpiece | 61 that we only support the original FR codec; if we tell the network that we |
62 speaker. We reason that the problem must be somewhere in L1, which has been | 62 support EFR and/or AMR and the network selects one of these codecs, the |
63 backported from LoCosto to Calypso in a rather Frankensteinian manner. | 63 result will be either a total DSP failure (the Calypso DSP blows up with |
64 errors, the call fails, and the phone is messed up until reboot) or a | |
65 seemingly successful call with broken audio: nothing but noise is heard in | |
66 the earpiece speaker. | |
67 | |
68 We reason that the problem must be somewhere in L1, which has been backported | |
69 from LoCosto to Calypso in a rather Frankensteinian manner. | |
70 | |
71 * When voice calls do work successfully (when the FR codec is used), the call | |
72 downlink audio is routed to the phone's earpiece speaker and the phone's | |
73 microphone serves as the source for the uplink audio, i.e., even though the | |
74 LCD and keypad are dead with our firmware, the earpiece and mic continue to | |
75 function as in a conventional phone. | |
76 | |
77 There is also a highly experimental and completely untested alternative mode | |
78 of operation in which the traffic channel carrying FR codec bits (260 bits | |
79 every 20 ms) is rerouted away from the internal vocoder to the external host, | |
80 such that you can receive the downlink voice bits digitally instead of | |
81 listening to them in the earpiece speaker, and you can substitute your own | |
82 uplink bits instead of the microphone-fed internal vocoder output. See the | |
83 TCH-special-feature write-up for more information. | |
64 | 84 |
65 * Deep sleep is broken and needs to be disabled with AT%SLEEP=2; the breakage | 85 * Deep sleep is broken and needs to be disabled with AT%SLEEP=2; the breakage |
66 is likewise assumed to be somewhere in L1. | 86 is likewise assumed to be somewhere in L1. |
67 | 87 |
68 The two current points of breakage in L1 (broken deep sleep and broken voice | 88 The plan for further development is as follows: |
69 calls) are deemed to be show-stoppers, i.e., we are not going to progress this | |
70 work in any other direction until these two are fixed. And we currently see | |
71 only two possible ways to fix these L1 issues: | |
72 | 89 |
73 Option 1: find and obtain another copy of TCS211 that has its L1 component in | 90 * Our current problems with deep sleep and with the more advanced voice codecs |
74 source form, or a separate L1-by-itself source that would be compatible with | 91 are indicative of breakage in L1. Furthermore, these are merely visible |
75 Calypso DSP ROM 3606 and with the TCS211 fw architecture. | 92 symptoms, and there may be other, more subtle breakage which we haven't |
93 noticed yet. Because one of the key goals of this project is to produce a | |
94 full-source, gcc-built firmware version that is no worse than TCS211, we need | |
95 an L1 that functions no worse than in TCS211. | |
76 | 96 |
77 Option 2: painstakingly reconstruct a TCS211-fitting version of L1 from the | 97 In order to obtain this TCS211-matching L1, we are taking a little detour |
78 disassembly of the available binary objects, by taking LoCosto L1 sources and | 98 from the present gcc-built gsm-fw line of development and temporarily going |
79 massaging them until they compile into object code that matches our TCS211 | 99 back into the Windows build environment of TCS211 in order to reconstruct a |
80 reference. | 100 recompilable TCS211 L1 source in its native environment. You can follow the |
101 progress of that project in the tcs211-l1-reconst Hg repository on Bitbucket. | |
102 When we get the TCS211 version of L1 fully reconstructed in its native | |
103 environment, we are going to make a wholesale replacement of L1 in our | |
104 gcc-built gsm-fw: completely remove the current version and replace it with | |
105 the reconstructed TCS211 one. This step should fix the deep sleep and | |
106 advanced voice codec breakage, and give us a more solid foundation that will | |
107 be no worse than our TCS211 golden reference. | |
81 | 108 |
82 Option 1 involves more prayer than actionable work, while Option 2 is currently | 109 * Once we have an L1 which we feel happy with, we will need to fix a few minor |
83 being worked on in another subproject of FreeCalypso - see tcs211-l1-reconst. | 110 issues and implement two major missing features for the AT-command-controlled |
111 voice+SMS pseudo-modem configuration: battery charging (the ability to charge | |
112 the battery while our pseudo-modem fw is running) and a keepalive mechanism | |
113 that detects when the external host (connected via the serial port) has been | |
114 disconnected and powers off the phone-turned-pseudo-modem in this case. Once | |
115 these two features are implemented, we will have a robust voice+SMS pseudo- | |
116 modem solution with external AT command control. | |
117 | |
118 * Once we reach the robust AT-command-controlled voice+SMS pseudo-modem | |
119 milestone, we will have several different directions in which we can develop | |
120 the project further. It is too early and premature right now to plan that | |
121 far ahead, though. | |
84 | 122 |
85 Target-specific usage instructions | 123 Target-specific usage instructions |
86 ================================== | 124 ================================== |
87 | 125 |
88 If you would like to play with our work-in-progress firmware and check it out | 126 If you would like to play with our work-in-progress firmware and check it out |