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 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 command line.
To get started, checkout the PreliminaryRequirements and then GettingStarted
Directory
This is the project page about our experiments (so far) only with phones based on the Ti Calypso/Iota/Rita GSM baseband chipset. The main target is the 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 ProjectRationale
- The big MasterPlan
- AreasOfWork -- What needs to be done and who wants to do it
- Information about the TypicalCalypsoModemDesign
- Calypso -- The HERCROM digital baseband chip (DSP+ARM7)
- CalypsoDSP -- The DSP inside the Calypso DBB
- Iota -- The TWL3025 analog baseband chip (ADC/DAC)
- Rita -- The TRF6151C GSM transceiver (VCO, up/down-conversion)
- Calypso -- The HERCROM digital baseband chip (DSP+ARM7)
- Information about the SciphoneDreamG2, a MT6235 based phone (not supported!!)
- Old/obsolete plan/spec of the GsmDevelBoard (note: This project is on hold right now!
- Description of our own GSM Stack
- L1A_L23_Interface -- How the Layer1 interfaces with Layer2 and Layer3 of the stack
- Notes on the TSM30 Layer1 as it can be found in the TSM30 source
- Glossary -- The weird terms used in the phone baseband world
- LegalAspects -- Important legal aspects of this project
- Community/People -- The people behind the project
- PressCoverage -- What the press is writing about us
Mailing List/IRC Chat
We offer Mailing Lists and hang out on IRC.
Software
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/
- GettingStarted -- Getting Started with the Software for the target and host.
- SoftwareOverview -- Overview how all the parts below fit together
Host programs (running on the PC)
General Purpose
- osmocon -- A tool for Compal phones; to load code into RAM and execute it
- mobile -- An application implementing a regular GSM mobile phone (and more)
- WiresharkIntegration -- How to use OsmocomBB with wireshark protocol analyzer
- libosmocore -- A library with utility functions
Advanced / special purpose tools
- osmoload -- A tool for flashing and examining phones
- calypso_pll -- A tool to calculate Calypso DPLL multiplier+divider
- rita_pll -- A tool to calculate the Rita PLL multiplier/divider
- layer23 -- An implementation of GSM Layer2 and upwards.
Target programs (running on the phone baseband chip)
- 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
- layer1.bin -- The actual Layer1 software as it is to be used with layer23
- loader.bin -- Our flash loader, dumper and second stage bootloader
- compal_dsp_dump.bin -- A program to dump the ROM of the DSP inside the Calypso
- rssi.bin -- Receive signal strength monitor with spectrum display
Supported Phone hardware
Information specific to certain Calypso based phones that we support
- Designed + Manufactured by Compal, OEM by Motorola
- MotorolaC115/C117 (E87)
- MotorolaC123/C121/C118 (E88) -- our primary target
- MotorolaC140/C139 (E86)
- MotorolaC155 (E99) -- our secondary target
- MotorolaV171 (E68/E69)
- SonyEricssonJ100i
- Designed by Pirelli/Foxconn?, manufactured by Foxconn
- Designed by Openmoko, manufactured by FIC
- Neo 1973 (GTA01)
- OpenMoko - Neo Freerunner (GTA02)
Accessories
You will need a Hardware/SerialCable to connect the phone to a PC
Random bits and pieces
- SIM related
- RebelSIM How the Rebel SIM card cand be used as SIM proxy
- RebelSIM_Scanner to scan/trace communication between SIM and phone (rubbish)
- SIMtrace -- our custom hardware / firmware / software to get SIM-ME traces into wireshark
- SIMReader How to connect to network using provider SIM
- softSIM How to do software SIM
- a collection of phone Terminal Profiles
- Notes on sniffing
- dct3-gsmtap A tool to obtain GSMTAP messages for SIM and GSM from Nokia DCT3 (eg, 3310) phones
- Hardware/FilterReplacement How to replace filters on Motorola phones
- PotentialCalypsoTargets Potential phone hardware to use with osmocom-bb
References
Related projects
- nuttx-bb -- Port of nuttx on the osmocom-bb comaptible phones.
- airprobe -- Free Software GSM protocol analyzer
- OpenBSC -- Free Software BSC/MSC/HLR/SMSC
- OpenBTS -- Free Software Um-to-SIP gateway
- 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)
- OsmocomBB presentation at SSTIC 2010
0 件のコメント:
コメントを投稿