On Wed, Jul 5, 2017 at 6:49 PM, Philip Hands phil@hands.com wrote:
The program that ran most of OpenMoko was written on the assumption that it would be very soon replaced by separate components that would all pass messages around via d-bus
ah! 12+ years i'm glad someone remembers. i got the trolltech greenphone, not an openmoko
The result being that if one got an incoming call, it would provoke a cascade of (IIRC 7) d-bus interactions that were all being answered by call-backs in the single program that was doing everything. Each one went via a kernel context switch (or two?), dumping the cache, and that meant that it would take at least 5 seconds for the ringer to start ringing after a call came in, a few more seconds to show you the screen with the answer button,
... which was painted with x11 so that meant many more more context-switches and cache-dumps because x11 is a client-server architecture...
a second or two for your mad tapping to be noticed, during which the accelerometer would realise that it needed to swap portrait for landscape (repainting the "cancel" button where the "answer" used to be) and then finally it would process your demented attempts to answer the sodding thing as a call rejection. Marvelous.
... didn't you have call-forwarding such that there wasn't enough time to actually answer the call anyway? :)
Enrico Zini worked all that out, and then knocked up a very short script that waited for calls, made the ringer ring, and looked out for a button press on the physical button -- that allowed it to behave quite like a phone with no fuss.
dang. *sigh* nokia's low-cost mobile phone OS (symbian?) at least was well-designed (or, designed for purpose).
If anyone wants an OpenMoko, I have one going cheap :-/
ah that would be good to use for the GTA04 motherboard replacement oh wait damnit that didn't go so well, they used a package-on-package TI SoC and DDR sandwich, where the processor was only designed for very specialist mass-volume manufacturing, was made too thin (to save cost) and warps under standard PCB assembly (ovens)... they got something like a SEVENTY SEVEN PERCENT failure rate during a pre-production manufacturing run.
http://laforge.gnumonks.org/blog/20170306-gta04-omap3_pop_soldering/
l.