Hello dear FC community, Another year is almost behind us. In 2015 our major accomplishments have been:
* Sean Moss-Pultz of Openmoko agreed to release the original PCB design files for the GTA02 motherboard, and managed to dig up a survived copy. We now have this PCB design (which we are hoping to reuse) in PADS and Gerber formats. * The reconstruction of TI's GSM firmware in our own gcc-built tree, started in late 2013 and greatly fleshed out in 2014, has been finished in the first pass in the spring of this year. Over the summer we got it working: first on the GTA02 modem, then on the Pirelli, and then finally on Mot C1xx, all building in the same source tree. One difficult bug after another have been found and fixed until we got this fw to connect to live commercial GSM networks, send and receive SMS successfully, and connect calls. But voice calls aren't usable in that the voice audio fails to pass through. * By making a few deeper inroads into the very messy build system of TI's official TCS211 fw, we've been able to build it in configurations with the UI enabled, and thereby got a peek at TI's demo/prototype UI. It is not quite usable as-is for a pocket/purse phone thanks to a few serious crashing and glitching bugs, but the foundation is definitely there. * We have proven the Mot C139 (whose US version has been made and sold in such huge volume that they are *still* plentifully available) as a perfectly viable target for our libre fw (unlike the Pirelli, sadly) by bringing up our tcs211-c139 hack/demo port. Now where do we go from here? What are our goals? Well, for me personally, there are two goals: one quite distant, the other more immediate. My distant end goal is still the same: I wish to have a FreeCalypso phone which could take the place of the proprietary Pirelli DP-L10 in my purse. But it is my *distant* goal. If there were a way to make it happen fast, I would have already done it by now, but there is no "fast" solution that would satisfy me. And since the "libre phone in my purse" goal can only be a distant one, my immediate-next goal has to be something else. A hack like our present tcs211-c139 is not a solution that can satisfy me because: * Working within TI's configuration and build system is not healthy. The more changes we need to make relative to TI's baseline, the dirtier our hacks get. I can put up with these hacks enough to do a proof of concept, but I am not willing to stay in this environment forever and ever while trying to develop the phone functionality I actually want. * That same configuration and build environment cripples our ability to do sane project management. If you look on Bitbucket, you will see that in the case of my TCS211-based hacks, I have a separate source repository for each hack. Having to fork and maintain a separate source tree for each different target or each different functional hack is NOT a sane way to maintain a software project. Just a couple of weeks ago I talked to George at UberWaves, trying to get him to take a closer look at FreeCalypso, and he asked me about running our fw on Mot C155/156 in addition to C139/140. I explained to him that there is an uncertainty with the undocumented SPMA100B chip for ringtone generation, but an uncertainty is just that - it is not a solid "No", and should not prevent people from trying. However, supporting multiple targets in the same source tree while staying with TI's configuration and build environment would require so much hackery that I am not willing to go down that path, at least not now. * The blob-laden copy of TCS211 we have available has FAX_AND_DATA and GPRS enabled. These data functions can never be made use of on the C139 platform, yet they can't be disabled because the blobs have been compiled with them enabled. The "clean design" software architect in me revolts against this dead code situation, and I won't be able to see our fw for handset targets like the C139 as proper until we gain the ability to enable or disable data functions by compiling L1 and G23M from source with data services components included or excluded as desired. Because of the above considerations, I have found that I am not presently in the right emotional state to be working on fixing tcs211-c139 to where it would be more usable as a pocket/purse phone. I am not in the right emotional state for this work because for the technical reasons explained above, this particular subproject won't bring me the satisfaction I need, hence I lack the necessary emotional motivation to be working on this particular subproject. Because I am not in the right place emotionally to be working on C139 stuff right now, I have made other subprojects of FreeCalypso my immediate-next goal. Or more precisely, two possible immediate-next goals: one more of a dream, the other more actionable. The dream goal would be to obtain a more complete copy of TCS211 with L1 in source form, or an L1-by-itself source of approximately right version to where it could be integrated and made to work in TCS211. If we got such a source and I could prove it working on the Freerunner (my ultimate dream goal would be to build it for the D-Sample and make it run there, but I'll settle for the FR modem), I would be willing to put my hardware-building aspirations back on hold and get back onto the firmware track. I would use the better L1 source to fix the L1 breakage in our current gcc-built gsm-fw, and once that one works, I will be in the right emotional state to get back to fixing UI bugs on the C139 to make it usable - yay! There is some work going on off-list regarding the search for such TCS211 L1 sources, but of course there are no guarantees. Furthermore, this search involves more waiting than action, hence we need to be doing something else, something more actionable in the meantime. And for me personally, the answer lies in the hardware-building subproject of FreeCalypso, and this hw-building subproject is where I am going to direct my focus - at least until and unless we find a TCS211 L1 source, in which case I shall promptly switch back to the fw track as promised. If we are not able to obtain a TCS211 L1 source, but we do get our FCDEV3B board built, the latter will help us in the following ways: 1. I will start working on reconstructing a recompilable C form of L1 from the disassembly of our available TCS211 binary objects. In principle, this work can be started at any time including now, but I won't start working on it myself until we have the FCDEV3B - I would want a super-pleasant development platform to offset the major unpleasantness of the reconstruction work itself. 2. We may be able to locate some former TI employees who have worked on the L1 stuff we are having difficulty with. They may not have the source we are looking for (remember that we need a version from a particular period in TI's history; a LoCosto or later source won't be of much help, as we already have that one), but they may have wetware memory of how things are supposed to work. If we can give them our development boards (which will be pure pleasure to work with), perhaps we could convince someone to bring their wetware memory to use by helping find and fix the bugs in our currently broken L1 which is a backport from LoCosto to Calypso. So these are my thoughts as we get near the New Year. Off to bed now. M~ _______________________________________________ Community mailing list [email protected] https://www.freecalypso.org/mailman/listinfo/community
