modem, osmocom-bb/src/host/layer23/src/modem/
osmo-trx-ms-blade, osmo-trx/Transceiver52M/ms/
osmo_gprs_<layer>_init(cfg)
osmo_gprs_<layer>_set_log_cat(enum logc, int num)
struct osmo_gprs_<layer>_<if>_prim: Holds all primitives for each interface
struct osmo_gprs_<layer>_prim: osmo_prim_hdr + struct osmo_gprs_<layer>_<if>_prim
osmo_gprs_<layer>_prim_alloc()
osmo_gprs_<layer>_prim_set_{up,down}_cb()
osmo_gprs_<layer>_{upper_down,lower_up}()
RACH.req (Access Burst)
CCCH_DATA.ind (DL CCCH/BCCH blocks)
PDCH_{ESTABLISH,RELEASE.req (PDCH activation/deactivation)
CFG_{UL,DL}_TBF.req (UL/DL TBF configuration in a PDCH)
PDCH_DATA.{ind,cnf}, Tx PDCH_DATA.req (PDCH blocks)
modem ApplicationSMREG and GMMREG primitive interfaces
trxcon + osmo-trx-ms-blade)
modem establishing a PDP ContextProject info
grgsm_trx, GNU Radio gr-gsm based transceiver
ttcn3-bts-test (conformance/regression tests for osmo-bts)
commit 8975b437ed476a1655e19b68d113bc93c468b087
Author: Vadim Yanitskiy <axilirator@gmail.com>
Date: Thu Jun 30 00:41:58 2016 +0600
host/trxcon: introduce a new 'trxcon' application
Project architecture (before GPRS MS)
L1CTL and TRXC/TRXD interfaces
Project architecture (after GPRS MS)
libtrxcon, libl1sched, l1gprs
trxcon_fsm - the "heart" and the "brain"
libgprs: GPRS support!
Event flow
Event flow
Event flow
Performance requirements
UL BLOCK.req must be sent at specific Tn/Fn, not earlier or later
DL BLOCK.ind and prepare UL BLOCK.req
l1gprs
The l1gprs library
virtphy app (might be broken, though)
layer1 firmware for Calypso
libosmocore.git is a blocker (see OS#2378)
src/shared/l1gprs.c and include/l1gprs.h
libosmocore and libosmogsm
New L1CTL messages
L1CTL_GPRS_{UL,DL}_TBF_CFG_REQ - UL/DL TBF configuration Req
L1CTL_GPRS_{UL,DL}_BLOCK_{REQ,IND} - UL/DL PDTCH block Req/Ind
L1CTL_GPRS_RTS_IND - Ready-to-Send Ind (from PHY)
L1CTL_GPRS_UL_BLOCK_CNF - UL PDTCH block Confirmation
API
l1gprs_logging_init(logc)
l1gprs_state_alloc() / l1gprs_state_free()
l1gprs_handle_{ul,dl}_tbf_cfg_req()
l1gprs_handle_ul_block_{req,cnf}()
l1gprs_handle_dl_block_ind()
l1gprs_handle_rts_ind()
Event flow
The MS side transceiver
osmo-trx was so far the BTS side transceiver
ms branch: early/unfinished work by Tom Tsou (2014)
osmo-trx-ms the MS side transceiver by @Hoernchen
libtrxcon + libl1sched + libl1gprs
Limitations
-blade variant only, -uhd is untested (likely broken)
How to build?
$ git clone https://git.osmocom.org/osmo-trx $ git submodule init # <1> $ git submodule update # <1> $ autoreconf -fi $ ./configure --with-mstrx --with-bladerf
Fetch the osmocom-bb git submodule
Debian package(s)
$ apt install osmo-trx-ms-blade
pespin/libosmo-gprs)