Open GSM firmware - OsmocomBB supports Neo FreeRunner

Denis 'GNUtoo' Carikli GNUtoo at no-log.org
Tue Jul 10 16:43:29 CEST 2012


On Tue, 2012-07-10 at 13:14 +0200, Martix wrote:
> Hi!
> 
> There is some GTA02 support in OsmocomBB project. You can flash open 
> source firmware for TI Calypso GSM modem.
> http://bb.osmocom.org/trac/wiki/OpenMoko
1) no need to flash it, just load it.
2) flashing doesn't work currently with the calypso of the openmoko
because its flash is not detected.
> 
> Did anybody tried this firmware on his Neo FreeRunner? What's your 
> experience? Is it usable with SHR or Qt Moko like old proprietary 
> firmware? Calls, SMS, GPRS, SIM load/store (contacts, SMSs) works? How 
> many successfully flashed devices are here? And how many bricks? ;-)
Calls, SMS, SIM should work....trough the telnet interface...
I'm not sure about the GPRS...

Adding support for osmocombb in FSO is doable, however the big problem
is that the layer 2 and layer 3 of GSM are actually not running on the
calypso but on another CPU(for instance the CPU of a laptop/desktop, or
it could run on the CPU running SHR as well, it only requires to
cross-compile applications such as mobile etc..., it's easy to do).

Why is running the layer 2 and 3 on the calypso CPU important?
Simply because you may want to permit the CPU running SHR to suspend and
to resume when you have a call or an SMS: with the proprietary
firmware(which runs layer 1,2,3 on the calypso) it works that way:
I don't know the exact details but I guess there is an interrupt line
between the modem(calypso) and the CPU.

If the CPU running SHR is suspended and that there is a call, the
calypso, which is not suspended will trigger the wakeup of the CPU
running SHR, the CPU will then wakeup and display that there is a
call,ring and vibrate.

I'm not a GSM protocol specialist yet, but I guess that if you're only
running layer1 on the calypso you have no way to determine if there is
an incoming call. The CPU that can do that is the one running SHR, and
the layer 2 and 3, however if that CPU is suspended it can't know that
there is a call.

A workaround suggested long time ago by someone on IRC would be to wake
up the CPU often and check if there is a call, however that may not be
doable because suspend/resume may take quite some time, and the wakeup
would eat more power etc...

There are 2 ways to solve the problem correctly:
1) help with the port of the GSM applications on top of nuttx:
While the gta02 is supported in nuttx,we were currently focussing on the
c155 with its drivers(such as display,spi,uwire,poweroff etc...)
2) port the layer 2 and 3 to the calypso without the help of nuttx.

Denis.





More information about the community mailing list