LWN.net Logo

Announcing project OsmocomBB: Open Source GSM Stack

From:  Harald Welte <laforge-AT-gnumonks.org>
To:  osmocom-announce-AT-lists.osmocom.org
Subject:  Announcing project OsmocomBB: Open Source GSM Stack
Date:  Fri, 19 Feb 2010 20:02:04 +0100
Message-ID:  <20100219190204.GD14552@prithivi.gnumonks.org>
Cc:  baseband-devel-AT-lists.osmocom.org, openbsc-AT-lists.gnumonks.org
Archive-link:  Article, Thread

Good news, everyone [tm]!

I am hereby publicly announcing project OsmocomBB:  A Free and Open Source
software project to create a Free Software GSM baseband firmware.

The baseband chipset is the part of a mobile phone that actuall communicates
directly with the GSM network.  It typically includes a DSP and a
microprocessor running some RTOS, drivers for the baseband chipset,
the GSM protocol stack and some kind of user interface.

GSM has been deployed first 19 years ago.  Despite billions of phones deployed
world wide, all of them run a proprietary baseband firmware, consisting of
proprietary drivers, RTOS and GSM protocol stack.

OsmocomBB has set out to change this.  We do not want our phones to be
a black box connected 24/7 to a public network.  We want to decide what
kind of data our phone reveals about us or not.

The authors behind the project have already spent the last 15 months
implementing an Open Source GSM network side protocol implementation called
OpenBSC.  In January 2010, they decided to go after the phone side protocol
stack - which turned into OsmocomBB.

=> What is the project status?

Right now we are at a state where we have full control over the baseband
hardware, including the DSP and ARM cores, the analog baseband chip,
the RF transceiver, keypad, LCD display and other components.

We can scan the GSM band for cells, perform FCCH detection, run automatic
gain control to synchronize to the cells carrier, detect the SCH to get
BSIC and GSM frame number, as well as dump the BCCH and CCCH of the cell.

=> What does Osmocom mean? 

Open Source MObile COMmunications.  It is meant as an umbrella name for
various FOSS projects related to communications, including OsmocomBB but
also including sister projects like OpenBSC.

=> Can I make phone calls yet?

No. We are currently in Rx (receive) only mode, and have no Layer2 or Layer3
implementation yet.  However, the difficult parts of driving the GMS hardware
and implementing a minimal Layer1 are behind us, so we are confident to proceed
to actual phone calls during the months to come.

=> Where can I get the source?

The git repository is at git://git.osmocom.org/osmocom-bb.git
The mailing lists are at http://lists.osmocom.org/
The project homepage including wiki is at http://bb.osmocom.org/

=> What phones are supported?

We are implementing OsmocomBB as hardware-independent as possible.  At the
moment, we only have drivers for the Ti Calypso Digital Baseband chip.
Our main target are the following Motorola-branded phones (made by Compal):
C115/116/117/118/119/120/121/122/123/139/140/155

Adding support for other Calypso-based phones should be relatively easy,
but porting it to a different baseband chip is a lot of work, especially
without access to good documentation.
 
=> How can you help?

We need developers who have experience in microcontroller development working
on an ARM7TDMI core.  You do not need to know anything about GSM in order to
help us with tasks such as the UI, driving the battery charging controller,
etc.  If you want to join, get yourself a phone, serial cable, join the
developer mailing list and introduce yourself!

Happy Hacking
	Harald Welte

-- 
- Harald Welte <laforge@gnumonks.org>           http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)



(Log in to post comments)

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 2:19 UTC (Sat) by leemgs (subscriber, #24528) [Link]

Wow. I think that this is a very good news for open-source based developers all over the world.

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 13:25 UTC (Sat) by kragil (subscriber, #34373) [Link]

Agreed.

I am really excited, once this is able to make calls I will get one of those
Motorola phones on ebay :)

Harald is a true visionary. We don't have a lot of those tbh (Linus, RMS and
maybe a few others). I am also grateful that there are a people with a brain
my capitol (Berlin) it sometimes does not seem that way.

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 4:30 UTC (Sat) by Kit (guest, #55925) [Link]

How does this compare to Nokia's oFono ( http://ofono.org/ ) stack? At first glance, it seems like this is basically just a duplication of goals that oFono is already working towards. A quick search of their site and mailing list archive doesn't reveal anything interesting wrt that.

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 4:59 UTC (Sat) by pabs (subscriber, #43278) [Link]

oFono is the layer above the GSM firmware and has different backends for different types of GSM modems. So, oFono should be compared to FSO, not OsmocomBB, which is GSM firmware/hardware. oFono could gain a OsmocomBB backend unless of course OsmocomBB presents a standard AT interface, which oFono already supports. The other oFono backend that exists is one for Nokia modems.

http://ofono.org/documentation

See also Harald's earlier blog posts about this:

http://laforge.gnumonks.org/weblog/2010/02/13#20100213-si...
http://laforge.gnumonks.org/weblog/2010/01/27#20100127-bu...
http://laforge.gnumonks.org/weblog/2010/01/07#20100107-gs...

I am extremely excited about this!

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 15:33 UTC (Sat) by Kit (guest, #55925) [Link]

Ah, so they're complimentary! That's good to know, and hear!

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 16:55 UTC (Sat) by Baylink (subscriber, #755) [Link]

I read this, and I say "So, how, precisely, do they expect to get from carriers the necessary encryption keys to make this actually *work* with commercial carriers?"

Or isn't that the point?

Or is there something I'm missing?

If you were gonna invent your *own* air interface, I don't know that GSM is where I'd go, these days, and this seems equivalent to that, if there's no practical way to interface this with commercial carriers.

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 18:07 UTC (Sat) by cesarb (subscriber, #6266) [Link]

AFAIK, all the necessary encryption keys are on the SIM. So you just need to get a SIM from a commercial carrier. They are not that hard to obtain.

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 18:32 UTC (Sat) by drag (subscriber, #31333) [Link]

Yep. If your in the USA. Go and buy a 'Go Phone' from AT&T or whatever. Pay for your minutes,
take the sim, throw the phone away (well get the Nokia and use it as backup.. they get unreal
battery life). Pretty simple.

Then hack away.

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 19:09 UTC (Sat) by alvieboy (subscriber, #51617) [Link]

Doesn't this kind of firmware require approval by regulation authorities ?

I remember someone saying that we should refrain from modifying GSM firmwares, because that might interfere with proper cell operation (leading to emergency numbers not working, for example).

Alvie

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 21:46 UTC (Sat) by josh (subscriber, #17465) [Link]

In general, almost any device with a radio will indeed need regulatory approval before it can operate commercially. Amateur GSM projects *have* obtained temporary approval for testing purposes in the past, though.

However, claims that modified GSM firmware can lead to interference with cell operation and emergency service represent either fearmongering or exactly the kind of problems that this project intends to expose and potentially fix. If those problems exist, they exist *already*, so wouldn't you rather know more about your GSM firmware and GSM's limitations rather than less?

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 22, 2010 9:51 UTC (Mon) by grmd (subscriber, #4391) [Link]

>
> claims that modified GSM firmware can lead to interference with cell
> operation and emergency service represent either fearmongering or
> exactly the kind of problems that this project intends to expose and
> potentially fix
>

In emergency situations GSM networks can restrict access to ordinary subscribers - I think some of this access control is handled in the phone in order to make sure that bandwidth is preserved for high priority users.

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 20, 2010 22:48 UTC (Sat) by laf0rge (subscriber, #6469) [Link]

Please see
http://bb.osmocom.org/trac/wiki/LegalAspects#Usingmodifie... for some statements on the legal situation.

I don't think it is impossible to get an Open Source GSM stack approved, it just requires a level of effort that is unlikely to be seen without commercial interest.

We used to have a pretty similar situation with regard to the public ISDN network in the 90ies in Germany. Until at some point a company decided to take one specific snapshot of isdn4linux and run it through the approval process.

Same procedure would work with GSM, if needed.

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 21, 2010 2:26 UTC (Sun) by JoeBuck (subscriber, #2330) [Link]

Some regulatory agencies are likely to insist that end users be prevented from changing the software, to prevent them from doing things that violate regulations (for example, cranking the power level up beyond legal standards; changing the transmission frequency to one that's not approved for that use).

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 21, 2010 18:31 UTC (Sun) by martinfick (subscriber, #4455) [Link]

I don't see how this is relevant even if it were true. If you own a phone
where you can flash new modems (say an android G1), you obviously already
can modify the modem software and reflash it. Whether you can make sense of
your modifications is another issue entirely. But I think the point is: how
would someone even know you had made any modifications unless you were
"attacking/abusing" the GSM network to which you connect. And surely, if
you were improving the stack, or making your phone more efficient, who would
dream of complaining about that?

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 22, 2010 5:49 UTC (Mon) by JoeBuck (subscriber, #2330) [Link]

It's relevant because it's true. Yes, in theory you can hack your phone's software radio already. But many regulatory agencies demand some form of "tamper resistance" as a condition for approval.

There might be a way to convince the relevant authorities that an open source modem is OK, but don't pretend it isn't an issue just because you think it shouldn't be.

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 22, 2010 20:19 UTC (Mon) by martinfick (subscriber, #4455) [Link]

Please explain to me how my HTC Dream ADP is even remotely tamper resistant? All I have to do to modify the modem is load a binary blob, the blobs are available for download on HTC's website and the tools are provided to flash them. It is possible to alter the blob without this being detectable by anyone.

Who said "it wasn't an issue because I thought it shouldn't be"? I simply said that it isn't an issue because it would unlikely be able to be detectable/enforceable unless you cause problems. Granted it would be better if it weren't an issue period, but if I lived my whole life worrying about what is legal and what isn't, I would never be able to live (and neither would anyone). In this particular case, I don't see how it matters much. If you do not cause harm to someone else's network, you will likely never get in trouble (as it should be).

Are you suggesting that the FCC can successfully attack anyone distributing (otherwise legal, i.e. created legally) code that allows someone to modify their phones? I doubt this would be a real concern either, but if so, this development would simply move to saner jurisdictions, this surely is not a global problem (yet).

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 21, 2010 16:02 UTC (Sun) by NAR (subscriber, #1313) [Link]

While those documents contain notices of confidentiality, their availability online once again indicates that the information contained in the documents is no secret

I don't know if an attorney would buy this argument... Anyway, I always thought that the GSM technology involves some patents by at least Motorola and Nokia. How are they working around that?

documentations / trade secret

Posted Feb 21, 2010 16:38 UTC (Sun) by laf0rge (subscriber, #6469) [Link]

I have consulted with lawyers, and the fact that those documents have been publicly available on the internet since 2004/2005 without Ti taking them down is sufficient to claim their content is no trade secret

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 21, 2010 13:30 UTC (Sun) by TRS-80 (subscriber, #1804) [Link]

Doesn't the FreeRunner also use the TI Calypso?

Announcing project OsmocomBB: Open Source GSM Stack

Posted Feb 21, 2010 16:41 UTC (Sun) by laf0rge (subscriber, #6469) [Link]

Yes, the GSM modem inside the Neo1973 and Freerunner are based on the same chipset. See http://wiki.openmoko.org/wiki/TI_Calypso_D751992AZHH

However, OsmocomBB has not been ported to those phones yet. Somebody would need to add the board-level bring-up code (memory map/size, flash size, I/O assignments, etc.) as well as something that interfaces the bootloader, as it is different from the bootloader used in the Motorola/Compal phones.

Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds