2013-01-10-WikiStart » History » Revision 71
PageOutline = Welcome to the OsmocomBB project =
OsmocomBB is an Free Software / Open Source GSM Baseband software implementation.
It intends to completely replace the need for a proprietary GSM baseband software, such as * drivers for the GSM analog and digital baseband (integrated and external) peripherals * the GSM phone-side protocol stack, from layer 1 up to layer 3
In short: By using [wiki:OsmocomBB] on a compatible phone, you are able
to make and receive phone calls, send and receive SMS, etc. based on Free Software only.
Over the past 12 months, we've been making very good progress. Most of the hardware drivers have been
written, and a relatively complete layer1, layer2 and layer3 exist.
No work has yet been done on any sort of UI on the phone. The only user interface is a telnet-based
To get started, checkout the [wiki:PreliminaryRequirements] and then [wiki:GettingStarted]Directory
This is the project page about our experiments (so far) only with phones based on the Ti [wiki:Calypso]/[wiki:Iota]/[wiki:Rita]
GSM baseband chipset. The main target is the [wiki:MotorolaC123]. For more supported phones, check below.
We originally intended to build an inexpensive GSM experimentation board built with/around that chipset, but right now
are pursuing a slightly alternative course by using cheap off-the-shelf feature phones and write custom software for it. * The [wiki:ProjectRationale] * The big [wiki:MasterPlan] * [wiki:AreasOfWork] -- What needs to be done and who wants to do it * Information about the [wiki:TypicalCalypsoModemDesign] * [wiki:Calypso] -- The HERCROM digital baseband chip (DSP+ARM7) * [wiki:CalypsoDSP] -- The DSP inside the Calypso DBB * [wiki:Iota] -- The TWL3025 analog baseband chip (ADC/DAC) * [wiki:Rita] -- The TRF6151C GSM transceiver (VCO, up/down-conversion) * Information about the [wiki:SciphoneDreamG2], a [wiki:MT6235] based phone (not supported!!) * Old/obsolete plan/spec of the [wiki:GsmDevelBoard] (note: This project is on hold right now! * Description of our own GSM Stack * [wiki:L1A_L23_Interface] -- How the Layer1 interfaces with Layer2 and Layer3 of the stack * Notes on the [wiki:TSM30Layer1 TSM30 Layer1] as it can be found in the TSM30 source * [wiki:Glossary] -- The weird terms used in the phone baseband world * [wiki:LegalAspects] -- Important legal aspects of this project * [wiki:Community/People] -- The people behind the project * [wiki:PressCoverage] -- What the press is writing about us
The development discussions regarding this project happen on the ''firstname.lastname@example.org'' mailing list.
General announcement of major steps and releases of the project are available on the ''osmocom-announce'' list.
You can subscribe to any of those mailing lists at http://lists.osmocom.org/mailman/listinfoIRC (Internet Relay Chat)
We have an IRC channel where some developers and users hang out. You can find it at: irc.freenode.net/#osmocomSoftware
Documentation about software developed by this project.
OsmocomBB source code is kept in the git repository at '''git://git.osmocom.org/osmocom-bb.git''', which you can browse
best from http://cgit.osmocom.org/
- [wiki:GettingStarted] -- Getting Started with the Software for the target and host.
- [wiki:SoftwareOverview] -- Overview how all the parts below fit together
=== Host programs (running on the PC) ===
==== General Purpose ==== * [wiki:osmocon] -- A tool for Compal phones; to load code into RAM and execute it * [wiki:mobile] -- An application implementing a regular GSM mobile phone (and more) * [wiki:WiresharkIntegration] -- How to use OsmocomBB with wireshark protocol analyzer * [wiki:libosmocore] -- A library with utility functions
==== Advanced / special purpose tools ==== * [wiki:osmoload] -- A tool for flashing and examining phones * [wiki:calypso_pll] -- A tool to calculate Calypso DPLL multiplier+divider * [wiki:rita_pll] -- A tool to calculate the Rita PLL multiplier/divider * [wiki:layer23] -- An implementation of GSM Layer2 and upwards.
=== Target programs (running on the phone baseband chip) === * [wiki:firmware] -- The current staging/testing code base for our own software on the Calypso. From it we build a number of apps: * hello_world.bin -- An actual 'hello world' application for LCD and serial port * [wiki:layer1.bin] -- The actual Layer1 software as it is to be used with [wiki:layer23] * [wiki:loader.bin] -- Our flash loader, dumper and second stage bootloader * [wiki:compal_dsp_dump.bin] -- A program to dump the ROM of the DSP inside the [wiki:Calypso]Supported Phone hardware
Information specific to certain Calypso based phones that we support * Designed + Manufactured by Compal, OEM by Motorola * [wiki:MotorolaC115]/C117 (E87) * [wiki:MotorolaC123]/C121/C118 (E88) -- our primary target * [wiki:MotorolaC140]/C139 (E86) * [wiki:MotorolaC155] (E99) -- our secondary target * [wiki:MotorolaV171] (E68/E69) * [wiki:SonyEricssonJ100i] * Designed by Pirelli/Foxconn, manufactured by Foxconn * [wiki:PirelliDPL10 Pirelli DP-L10] * Designed by Openmoko, manufactured by FIC * Neo 1973 (GTA01) * [wiki:OpenMoko] - Neo Freerunner (GTA02) === Accessories ===
You will need a [wiki:CalypsoSerialCable] to connect the phone to a PC Random bits and pieces * SIM related * [wiki:RebelSIM] How the Rebel SIM card cand be used as SIM proxy * [wiki:RebelSIM_Scanner] to scan/trace communication between SIM and phone (rubbish) * [wiki:SIMtrace] -- our custom hardware / firmware / software to get SIM-ME traces into wireshark * [wiki:SIMReader] How to connect to network using provider SIM * [wiki:softSIM] How to do software SIM * [wiki:Sniffing Notes on sniffing] * [wiki:dct3-gsmtap] A tool to obtain GSMTAP messages for SIM and GSM from Nokia DCT3 (eg, 3310) phones * [wiki:FilterReplacement] How to replace filters on Motorola phones References === Related projects === * [https://svn.berlin.ccc.de/projects/airprobe/ airprobe] -- Free Software GSM protocol analyzer * [http://openbsc.osmocom.org/ OpenBSC] -- Free Software BSC/MSC/HLR/SMSC * [http://openbts.sourceforge.net/ OpenBTS] -- Free Software Um-to-SIP gateway * [http://tetra.osmocom.org/ OsmocomTETRA] -- Free Software TETRA related code
=== Recommended reading === * [http://laforge.gnumonks.org/papers/gsm_phone-anatomy-latest.pdf] -- Introduction to contemporary GSM cellphone hardware * [http://www2.informatik.hu-berlin.de/~goeller/] -- Homepage of Dr.-Ing. Joachim Goeller, lots of GSM tutorials * [http://sourceforge.net/projects/plabs/] -- Source code of the firmware of the Vitelcom TSM30 phone (dead link) * [http://svn.gnumonks.org/trunk/presentation/2010/osmocombb-sstic2010/osmocombb-security.pdf OsmocomBB presentation at SSTIC 2010]
For a complete list of local wiki pages, see TitleIndex.