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
)