Hello FC community, First of all, I am glad to report that I am still alive and kickin'. In case anyone tried to email me off-list between Jan 11 and today and your email bounced: all of Harhan including my email server was down during these 11 days because of a financial problem; I finally got my delayed paycheck on Wednesday and paid off Verizon Business this Friday morning (GMT/UTC-08:00 time zone), and my regular email is finally back to functional.
The good news, however, is that our project has been progressing all this time, albeit perhaps not quite in the direction some of you would like to see. Remember I mentioned an off-list contact of mine who stepped forward to help transform my FCDEV3B idea (our own FreeCalypso hardware) into reality? Good news: that work is still ongoing, and progressing quite well. The anonymous company in question must have invested several weeks of several engineers' time into this board project, transforming Openmoko's GTA02 into what I specified as FCDEV3B: they translated the PCB design from PADS into their own preferred PCB design software (Altium, unfortunately proprietary, but I won't look a gift horse in the mouth), changed the board shape to simple rectangular (unless they change something at the last minute, it will be 90 by 50 mm), deleted all non-modem components per my ECO, leaving just the Calypso modem section from the GTA02, added interface connectors and other peripherals per my FCDEV3B design (netlist), and laid everything out on a board that combines Openmoko's modem section with my peripheral design. Last Sunday my contact sent me a set of gerber files corresponding to the then-current state of their work, and I was quite impressed with what they had produced. There were still a few issues to be fixed - what I got that Sunday evening was my first opportunity to actually see their work with my own eyes, so naturally there were going to be issues - so I put together a list of outstanding issues for them to fix, and sent it to them on Wednesday. Hopefully they are now working on fixing these issues, and I'm keeping my fingers crossed that in another 2-3 weeks the FCDEV3B PCB design will be finished, i.e., ready to be fabricated. I also have high hopes that the same people who have created this PCB design based on my netlist will also take care of physically producing the first batch of boards. The key design decision to copy Openmoko's modem at the physical level for this FreeCalypso development board has the obvious advantage of a proven working design, but it also has an unfortunate side effect of making the board more expensive than it needs to be otherwise. Openmoko's physical PCB structure is 8 layers with two stacked levels of microvias, i.e., buried vias in the core from L3 to L6, then two levels of microvias on each side: L1-L2, L2-L3, L6-L7, L7-L8. This physical PCB structure is very expensive to produce. While I am not aware of any Calypso board that was built without microvias and buried vias at all (using only conventional top to bottom vias), 8 layers with two stacked levels of microvias is certainly overkill. Pirelli DP-L10 features an 8-layer board with only one level of microvias on each side (i.e., the via structure is L1-L2, L2-L7, L7-L8), while Mot C123 (I'm guessing C139 is similar) features a board with only 6 layers, not 8; the via structure is L1-L2, L2-L5, L5-L6, i.e., a core with buried vias and one level of microvias on each side. If we were doing a from-scratch PCB layout of a basic Calypso GSM development board, we could certainly do it in 6 layers with only one level of microvias like Mot/Compal did, but if we are copying Openmoko's modem design verbatim at the physical level, then we are stuck with their significantly more expensive board structure. I just hope that my off-list contact and his company understood what they were getting into when they stepped forward to physically implement my FCDEV3B design while maintaining only minimal communication with me in the process, and won't fall out of their chairs when their physical PCB fabrication shop comes back to them with the price quote for producing an initial batch of these boards... Now I just have to wait and see - we should have some answers in another few weeks. In other news, I am happy to announce that we now have an official vendor for FreeCalypso serial cables for Mot C1xx and Openmoko phones, i.e., for serial ports on 2.5 mm headset jacks. George at UberWaves has been making serial cables for OsmocomBB for a long time, and now he offers a FreeCalypso-branded version as well. The FreeCalypso serial cable from UberWaves features a CP2102 USB-serial adapter, which is the one best suited for FreeCalypso host tools, already programmed with GSM baud rates of course; these cables have been tested with fc-loadtool at 812500 baud, and best of all, they proudly bear an official FreeCalypso sticker! I just received the first two such cables from George today, and they work great - I can now put the old OsmocomBB-branded ones away. :) If anyone else would like to order an official FreeCalypso serial cable, you can email uberwa...@gmail.com and ask for just that. :) Going forward, now that the satisfaction of my hardware-building aspiration is within sight (I don't have a physical board or even a fully finished set of design files yet, but I have to have faith in my off-list contact, faith in that they will finish what they have started), I can once again devote some attention to other subprojects of FreeCalypso. There are two possible directions in which we could take the software work: 1. The direction I am more interested in: grab the bull by the horns and start deblobbing L1 in the TCS211 environment. The whole point of FreeCalypso (to me at least) is to have GSM devices (phones and modems) whose firmware is built *entirely* from source; having binary blobs for the most essential pieces of functionality (L1 and the GSM protocol stack) just doesn't do it for me. We have a GSM firmware version that builds entirely from source with gcc, but it's broken: voice call audio doesn't pass through, and deep sleep is broken too. The problem must be somewhere in L1, and the version that does work 100% (TCS211) has it in binary blobs. We can reconstruct a recompilable form of L1 that will work no worse than the TCS211 binary blob version by deblobbing it one module at a time: drop our source version of each L1 module into TCS211 and massage it until it compiles into an equivalent of the original blob. Hellish work, will likely take many months, but absolutely doable. I can start this work using my Freerunner as the platform initially, and then switch to FCDEV3B when the latter gets built, tested, calibrated etc. 2. We have this toy firmware version called tcs211-c139. Its claim to fame is that it is the first and so far the only aftermarket fw of any kind for any dumbphone that allows the phone to function as a phone (make and receive calls, send and receive SMS) without being tethered to an external host, i.e., works using the phone's LCD and keypad. It has several major defects which keep it from being practically usable, but these defects can be fixed with some work. We will definitely need to do this work at some point; my personal preference is to work on L1 reconstruction first and then revisit tcs211-c139 UI issues afterward, but some members of our community would probably prefer to reverse this priority order. Now here is the good news: you can actually vote on which of the two software development directions (or perhaps others I haven't thought of) you would rather see happen first. However, there are no voting ballots, instead you can vote with your dollars: because of certain people who have recently been playing god with my life, I may be unable to do significant FreeCalypso work for a while unless a financial sponsor steps forth. Naturally anyone who steps forward to be such a sponsor would get to exercise significant influence over the direction of the project and relative priorities. :) M~ _______________________________________________ Community mailing list Community@freecalypso.org https://www.freecalypso.org/mailman/listinfo/community