Project

General

Profile

Wiki » History » Revision 12

Revision 11 (ptrkrysik, 09/06/2018 09:37 AM) → Revision 12/30 (ptrkrysik, 09/06/2018 09:39 AM)

h1. Welcome to [[SDR PHY for OsmocomBB]] project 

 {{>toc}} 

 h2. Introduction 

 [[OsmocomBB:]] project provides almost free software GSM mobile station implementation, from Layer 2 to Layer 3. The last non-free parts are: layer 1 and low level signal processing that are implemented in a non-free DSP software which is inside of the hardware platform that [[OsmocomBB:]] is currently based on (mainly reverse engineered [[OsmocomBB:TI_Calypso_Chipset|Calypso]] based mobile phones). 

 The [[SDR PHY for OsmocomBB]] aims to replace these non-free parts through use Software Defined Radio devices and by creating missing software part for tasks such as scheduling, voice encoding/decoding, channel encoding/decoding, burst modulation/demodulation and controlling SDR hardware. In order to achieve this goal the [[SDR PHY for OsmocomBB]] brings together [[OsmocomBB:]] and [[gr-gsm:]] projects, where the role of [[gr-gsm:]] is to provide GSM bursts transmission and reception with everything starting from channel coding/decoding being done in [[OsmocomBB:]]. 

 Having support for general purpose SDR hardware has additional advantage of not being locked to a single and already obsolete hardware platform. Adding support for a new well documented SDR platform is significantly easier than reverse-engineering mobile phone's hardware and software. This could sustain [[OsmocomBB:]] project's life even in the absence of hacked mobile phones it is able to run on. 

 A comparison of [[OsmocomBB:TI_Calypso_Chipset|Calypso]] based and SDR based approaches can be found on [[SDR PHY vs Calypso]] subpage. 

 h2. Overview 
 * [[Installation]] 
 * [[Usage]] 

 h2. Supported SDR hardware 

 At the moment only USRP hardware is supported via UHD driver. This limitation is caused by the requirement for the stream tags support by a GNU Radio interface of the SDR device. Currently only UHD USRP source/sink blocks provide that. 

 The current implementation is known to work on the following devices: 

 * USRP B2X0, including 'mini' 
 * Fairwaves [[UmTRX:]] 

 Note: *LimeSDR is not (yet?) supported* exactly because the stream tags are not supported by "_gr-limesdr_":https://github.com/myriadrf/gr-limesdr. 

 h2. Project status 

 Known limitations (not implemented): 

 * Automatic PHY delay measurement 
 * AGC (Automatic Gain Control) 
 * Power measurement 

 Work in progress: 

 * Docker scripts (Dockerfiles) 
 * GAPK based audio back-end 
 * TCH/H implementation 
 * Frequency Hopping 

 Future plans: 

 * Extend supported hardware list (Soapy?) 
 * PC/SC physical SIM interface 
 * AMR (Adaptive Multi-Rate) 

 h2. Sponsors 

 The "project":https://nlnet.nl/project/sdr-phy/ has support of NLnet Foundation 

 !https://osmocom.org/attachments/download/3315/nlnet_logo_320x120.png(fsdafs)!:https://nlnet.nl. 
Add picture from clipboard (Maximum size: 48.8 MB)