Pau Espin
e95ad79d6c
It was detected that under some conditions, osmo-trx (with limesdr) may take a long time to answer to CMDs, which means trx_ctrl_timer will trigger re-transmitting the last sent but yet unacked CMD. Due to the high latency in osmo-trx, the original AND the rentrasnmited CMD are handled after a while and RSP messages are sent for both. When osmo-bts-trx receives the first RSP, it was marking the CMD as acked and carried on with next one. Then, when the RSP from the retransmited CMD arrives, it already lost state and doesn't know where does that come from. As a result, osmo-bts-trx shutdowns. The issue can be seen in the following truncated log from osmo-bts-trx with TRX category enabled: 20180117135228175 Enqueuing TRX control command 'CMD RXTUNE 1782000' 20180117135228175 Enqueuing TRX control command 'CMD TXTUNE 1877000' 20180117135228175 Enqueuing TRX control command 'CMD SETTSC 7' 20180117135228175 Enqueuing TRX control command 'CMD POWERON' 20180117135228175 Enqueuing TRX control command 'CMD SETRXGAIN 1' 20180117135228175 Enqueuing TRX control command 'CMD SETPOWER 20' 20180117135228175 Enqueuing TRX control command 'CMD SETSLOT 0 5' ... 20180117135249829 Response message: 'RSP POWEROFF 0' 20180117135249855 Response message: 'RSP RXTUNE 0 1782000' 20180117135249876 Response message: 'RSP TXTUNE 0 1877000' 20180117135249876 Response message: 'RSP SETTSC 0 7' 20180117135250648 Response message: 'RSP POWERON 0' 20180117135251150 Response message: 'RSP SETRXGAIN 0 0' 20180117135253151 No response from transceiver for phy0.0 (CMD SETPOWER 20) 20180117135253777 Response message: 'RSP SETPOWER 0 20' 20180117135254535 Clock indication: fn=2018878 20180117135255777 No response from transceiver for phy0.0 (CMD SETSLOT 0 5) ... 20180117135256858 Response message: 'RSP SETPOWER 0 20' 20180117135256858 Discarding duplicated RSP from old CMD 'RSP SETPOWER 0 20' 20180117135256858 Response message: 'RSP SETSLOT 0 0 5' 20180117135256858 Response message: 'RSP SETSLOT 0 0 5' 20180117135256858 Discarding duplicated RSP from old CMD 'RSP SETSLOT 0 0 5' Change-Id: I3633cba212edde878f83ed36aef922aaca6f503a |
||
---|---|---|
contrib | ||
debian | ||
doc | ||
include | ||
src | ||
tests | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
COPYING | ||
Makefile.am | ||
README.md | ||
configure.ac | ||
git-version-gen |
README.md
osmo-bts - Osmocom BTS Implementation
This repository contains a C-language implementation of a GSM Base Transceiver Station (BTS). It is part of the Osmocom Open Source Mobile Communications project.
This code implements Layer 2 and higher of a more or less conventional GSM BTS (Base Transceiver Station) - however, using an Abis/IP interface, rather than the old-fashioned E1/T1.
Specifically, this includes
- BTS-side implementation of TS 08.58 (RSL) and TS 12.21 (OML)
- BTS-side implementation of LAPDm (using libosmocore/libosmogsm)
- A somewhat separated interface between those higher layer parts and the Layer1 interface.
Several kinds of BTS hardware are supported:
- sysmocom sysmoBTS
- Octasic octphy
- Nutaq litecell 1.5
- software-defined radio based osmo-bts-trx (e.g. USRP B210, UmTRX)
Homepage
The official homepage of the project is https://osmocom.org/projects/osmobts/wiki
GIT Repository
You can clone from the official osmo-bts.git repository using
git clone git://git.osmocom.org/osmo-bts.git
There is a cgit interface at http://git.osmocom.org/osmo-bts/
Documentation
We provide a User Manual as well as a VTY Reference Manual and a Abis refrence MAnual describing the OsmoBTS specific A-bis dialect.
Mailing List
Discussions related to osmo-bts are happening on the openbsc@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc for subscription options and the list archive.
Please observe the Osmocom Mailing List Rules when posting.
Contributing
Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards
We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details
The current patch queue for osmo-bts can be seen at https://gerrit.osmocom.org/#/q/project:osmo-bts+status:open
Known Limitations
As of March 17, 2017, the following known limitations exist in this implementation:
Common Core
- No Extended BCCH support
- System Information limited to 1,2,2bis,2ter,2quater,3,4,5,6,9,13
- No RATSCCH in AMR
- Will reject TS 12.21 STARTING TIME in SET BTS ATTR / SET CHAN ATTR
- No support for frequency hopping
- No reporting of interference levels as part of TS 08.58 RF RES IND
- No error reporting in case PAGING COMMAND fails due to queue overflow
- No use of TS 08.58 BS Power and MS Power parameters
- No support of TS 08.58 MultiRate Control
- No support of TS 08.58 Supported Codec Types
- No support of Bter frame / ENHANCED MEASUREMENT REPORT
osmo-bts-sysmo
- No CSD / ECSD support (not planned)
- GSM-R frequency band supported, but no NCH/ASCI/SoLSA
- All timeslots on one TRX have to use same training sequence (TSC)
- No multi-TRX support yet, though hardware+L1 support stacking
- Makes no use of 12.21 Intave Parameters and Interference Level Boundaries
- MphConfig.CNF can be returned to the wrong callback. E.g. with Tx Power and ciphering. The dispatch should take a look at the hLayer3.
osmo-bts-octphy
- No support of EFR, HR voice codec (lack of PHY support?)
- No re-transmission of PHY primitives in case of time-out
- Link Quality / Measurement processing incomplete
- impossible to modify encryption parameters using RSL MODE MODIFY
- no clear indication of nominal transmit power, various power related computations are likely off
- no OML attribute validation during bts_model_check_oml()
osmo-bts-trx
- TCH/F_PDCH cannel not working as voice (https://osmocom.org/issues/1865)
- No BER value delivered to OsmoPCU (https://osmocom.org/issues/1855)
- No 11bit RACH support (https://osmocom.org/issues/1854)
- No CBCH support (https://osmocom.org/issues/1617)