aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-07-07Revert "LC15: Hardware changes:"neels/lc15_dyn_pdch_old_numberingNeels Hofmeyr17-296/+310
This reverts commit cbbce0be0965c3160c4916384c3d3d5303c57ae2.
2016-07-07sysmobts: Fix eeprom padding before gpg keyHolger Hans Peter Freyther2-1/+7
Correct the too short padding I introduced in the commit a55b166c6c7af79cbefe8e65fe77b2d61c634d2d. The result needs to be 121 and not 120. Add static asserts to make sure it does not happen again. Change-Id: I3da7f3b8d3c8e12deb8b805cd15ff52a103d4e56
2016-07-05Mark array as static constMax1-3/+3
Change-Id: Ia70519c8f10d55084b53acb68e57debc70549246
2016-06-27sysmobts: screnrc/systemd-service: Use osmo-bts-sysmo instead of sysmobtsHarald Welte2-2/+2
Back in January in commit 634c3e46484a0932f8a04b894be215b9288eecff we changed the executable name from 'sysmobts' to 'osmo-bts-sysmo', which is a change that has not been propagated to the contributed screenrc and systemd init files. Change-Id: I875a0ce4f470226e1b06ed1b7c74ca9471ebb574
2016-06-27TRX: add Uplink DTX support for FR/HRMax1-3/+13
* detect SID and set RTP Marker accordingly (emulate ONSET events) * set proper FN in TCH_IND * detect speech pause and do not send dummy 'bad' frames during that time Change-Id: Id518e5c667df7773c281effb9e75b66bf898f6fc Related: OS#1750
2016-06-24Remove duplicated nibble shift codeMax3-117/+0
Those functions are now part of libosmocore. Change-Id: Iab3206e3b41caff23f656a727605032df9798953
2016-06-23DTXu: move copy-pasted code to common partMax4-36/+20
Abstract code for checking/setting lchan's UL SID flag and RTP Marker into generic function and use it for LC15 and sysmoBTS. Change-Id: Ica5392e92bab29164711163e7b01adb174272883 Related: OS#1750
2016-06-23Make get_lchan_by_chan_nr globally availableMax6-42/+21
* Remove static qualifier * Remove duplicated code - use generic function instead Change-Id: I37a312648771f58d3087471083cfcebbd97ccf1d
2016-06-23fix compiler warning: remove unused variable 'i' in calib_verify()Neels Hofmeyr1-1/+1
Change-Id: Iea6bc47182d021523285aea8d3f6a93ee4eec0eb
2016-06-23fix compiler warning: remove useless 'static' storage class for struct declNeels Hofmeyr1-1/+1
Change-Id: I4d5d11dd89449e4c9315f963576265bccad7e68c
2016-06-23fix compiler warnings: include bts_model.h in phy_link.cNeels Hofmeyr1-0/+1
The file calls bts_model_* API which was yet undeclared. Change-Id: Ib6b30d125906c3abae518fb76da3a158885e3354
2016-06-22vty: install orphaned trx nominal power commandNeels Hofmeyr1-0/+2
The cfg_trx_nominal_power_cmd added 12 days ago in 58e4e18206501c3bffa65f0b876bbc5ebe175d6e was floating. Actually add it to the TRX_NODE. Change-Id: I89d638b2e2bb1fb9baeabe566035ff171f4bfad0
2016-06-22dyn PDCH: safeguard: exit if nothing pending in dyn_pdch_ts_disconnected()Neels Hofmeyr1-1/+3
The function would currently only be called in cases where one of the if branches catches on, but for safety's and clarity's sake, don't ts_connect using as_pchan if no reconnect is pending. Change-Id: I52c34065254e902bb80662fc04540901b36cb4c3
2016-06-22dyn PDCH: lc15: complete for litecell15-bts: implement bts_model_ts_*()Neels Hofmeyr1-2/+49
Analogous to 63b296bdd9a25134ee61ce6f269750e796a8bfca on osmo-bts-sysmo. Implement bts_model_ts_disconnect() by sending an MphDisconnect message to L1. Pass a disconnect callback to invoke dyn_pdch_ts_disconnected() in common/rsl.c. Implement bts_model_ts_connect() by calling ts_connect_as(). Pass a connect cb to invoke dyn_pdch_connected() in common/rsl.c. Change-Id: I8c8c3244c726fd6055cedb22ee11706994ff9cd4
2016-06-22dyn PDCH: lc15: handle TCH/F_PDCH init like TCH/FNeels Hofmeyr1-1/+2
Analogous to 57fc1124e1649fa2b08ef143697689aca4677625 on osmo-bts-sysmo. Change-Id: If65c5a86cbc1b5556b71de8a6744d92113fbbcba
2016-06-22dyn PDCH: lc15: add ts_connect_as(), absorbing ts_connect() gutsNeels Hofmeyr1-3/+10
Analogous to 294fbe104b9fb12f06f7cebe68a4b7a6ed28d5ef on osmo-bts-sysmo. For upcoming dyn PDCH switching, I want to be able to set the pchan dynamically upon ts_connect() and not continue with OPSTART ACK, but with the dyn PDCH. Thus recoin ts_connect(ts) to ts_connect_as(ts, pchan, cb) and leave ts_connect() as a thin wrapper to leave init code unchanged. Change-Id: I7a27193168f83e8c40b6e54d1842f4502d0475e5
2016-06-22dyn PDCH: lc15: chan_nr_by_sapi(): handle TCH/F_PDCH according to ts->flagsNeels Hofmeyr1-3/+15
Analogous to 0d10f0e482cdd50acc916e75a8b3ba1beb94227c on osmo-bts-sysmo. According to the PDCH Active flag, handle a TS as TCH/F or PDCH. Change-Id: I0c97b360136f76bdae8d70d06af9a31fdf75c1ba
2016-06-22lc15: add L3 handle to l1prim messagesNeels Hofmeyr2-11/+127
Analogous to 7158c2ed082eaca6063a501e490e8d3c3b181560 in osmo-bts-sysmo. Place a layer 3 handle into GSM L1 messages to better match up confirmations to respective requests. This handle is a uint32_t transparently returned in the confirmation messages, so a match-up is easy to add. So far, a GSM L1 confirmation message received for a preceding L1 Request was matched only by the prim_id. That meant that only one instance of the same primitive could be waiting for a confirmation at any given time, or the responses would get mixed up: the struct wait_l1_conf instances entered into the fl1h->wlc_list queue would be returned to a possibly mismatching confirmation handler. (Seen during testing of dyn pdch switching.) Send the hLayer3 handle out via prim_init(), using new static functions to produce handles on different scopes: * l1p_handle_for_trx() * l1p_handle_for_ts() * l1p_handle_for_lchan() (These could possibly move to a more general .h/.c file later.) Remember the hLayer3 handle in * struct wait_l1_conf. Match the incoming confirmations' and stored hLayer3 handles up in, and remove a now obsolete comment from: * is_prim_compat() Since the hLayer3 members are at different byte offsets in GsmL1_Prim_t.u.*, use large switch statements to set/get the value: * In prim_init(), extend existing switch statement to set in GsmL1_Prim_t. * Add l1p_get_hLayer3() to retrieve from GsmL1_Prim_t (could possibly move to a more general .h/.c file later). Note that some messages are already using the hLayer3 handle, and will overwrite it after calling prim_init(), so those are not affected. Change-Id: I17f95ba744c3e944a2241809106506f8dd1b24f0
2016-06-22fix lc15 build: put src/common/libbts.a left of -losmogsmNeels Hofmeyr1-1/+1
When switching to the gsm_chan_t_names string list from libosmogsm, libosmogsm actually became a dependency of the local libbts.a. The breaking change is in openbsc.git 29048b2a80b5865ffc41fa4401113c5826227e23 and came in here because gsm_data_shared.h is included from openbsc. Change-Id: I70e5735fc2a212305182d46a7e8485d0199ade7b
2016-06-22Clarify logging messageMax1-1/+1
Change-Id: I3c7be592f4cbdd553f07c4a7084478706a7bd644 Related: OS#1648
2016-06-21Use error values instead of number for RSL errorMax1-2/+2
Change-Id: I0aa695c42a4399828fb8e9c08c905870175b7149
2016-06-21Use libosmocodec functions for AMRMax4-107/+21
Switch to using libosmocodec functions as a preparation step for DTX support as they expose necessary bits. Change-Id: Ie7423032fd06779d78876182ee63538d98906328 Related: OS#1750
2016-06-18Move copy-pasted code into common partMax10-165/+94
Related: OS#1750 Change-Id: Ic4342eaf7e32a0e9a5f2b16dd196a1f5f03152a9
2016-06-18DTX: add support for AMR/HRMax2-2/+70
Change-Id: Id744b67904011eb328b24c46a645b3eb53525c04 Fixes: OS#1562
2016-06-17debug log: log TS pchan type on connectNeels Hofmeyr1-1/+5
A whitespace error is fixed along the way. Change-Id: Iff373ba934937435a175ed3a5d9cfb6f2514735d
2016-06-17debug log: log lchan state transitionsNeels Hofmeyr1-0/+6
Change-Id: Id20f61ef535f4ea049da6579e41eb98f31238d23
2016-06-17error log: two minor clarificationsNeels Hofmeyr2-3/+5
Change-Id: I95e4331f51f650d5077eb3a8f897f754d5d2b779
2016-06-17dyn PDCH: complete for sysmo-bts: implement bts_model_ts_*()Neels Hofmeyr1-2/+49
Implement bts_model_ts_disconnect() by sending an MphDisconnect message to L1. Pass a disconnect callback to invoke dyn_pdch_ts_disconnected() in common/rsl.c. Implement bts_model_ts_connect() by calling ts_connect_as(). Pass a connect cb to invoke dyn_pdch_connected() in common/rsl.c. Change-Id: I61709fdf6b093689a6d3a046f67db6d02f1296ae
2016-06-17dyn PDCH: sysmo: handle TCH/F_PDCH init like TCH/FNeels Hofmeyr1-1/+2
Change-Id: Ic62921e17c55aeb26235b70a8325d6fea1716cef
2016-06-17dyn PDCH: sysmo-bts/oml.c: add ts_connect_as(), absorbing ts_connect() gutsNeels Hofmeyr1-3/+10
For upcoming dyn PDCH switching, I want to be able to set the pchan dynamically upon ts_connect() and not continue with OPSTART ACK, but with the dyn PDCH. Thus recoin ts_connect(ts) to ts_connect_as(ts, pchan, cb) and leave ts_connect() as a thin wrapper to leave init code unchanged. Change-Id: I09cc794cb424e17411e608c65f2b68e2f2544e07
2016-06-17dyn PDCH: implement main dyn PDCH logic in common/Neels Hofmeyr3-0/+284
React on IPAC PDCH ACT and DEACT messages and invoke the PCU and bts_model_ts_* APIs to effect switchover. The dyn PDCH interaction is described in the comment to rsl_rx_dyn_pdch(), the main entry point for PDCH switchover. In case the bts_model_ts_* are not implemented (or return other errors), reply with an IPAC PDCH ACT/DEACT NACK. Add callbacks that mark steps in the PDCH switchover process, dyn_pdch_ts_disconnected(), dyn_pdch_ts_connected() and dyn_pdch_complete(). Add hooks in l1sap.c on channel activation and release confirmation, to call dyn PDCH callbacks. BTS dyn PDCH implementations should invoke dyn_pdch_ts_disconnected() and dyn_pdch_ts_connected() when bts_model_ts_disconnect() or bts_model_ts_connect() are called, respectively. (upcoming for sysmoBTS) Change-Id: Id2f5f77121a65d6c14eac127b3d4fb50e97a77ab
2016-06-17dyn PDCH: chan_nr_by_sapi(): handle TCH/F_PDCH according to ts->flagsNeels Hofmeyr1-3/+15
According to the PDCH Active flag, handle a TS as TCH/F or PDCH. Change-Id: I06ca26a99f052c6a2ae953fe355fd1196f66e501
2016-06-17dyn PDCH: pcu_tx_info_ind(): handle TCH/F_PDCH in PDCH modeNeels Hofmeyr1-1/+19
Introduce a static function to encapsulate the decision whether a TS is used for PDCH. Depending on the ts->flags, handle a TCH/F_PDCH TS exactly like a standard PDCH TS. Change-Id: Ic72fd06ecc99609823efa3edcf773007cc514b5b
2016-06-17dyn PDCH: conf_lchans_for_pchan(): handle TCH/F_PDCHNeels Hofmeyr1-3/+8
Depending on the PDCH active flag, handle a TCH/F_PDCH like TCH/F or PDCH. Change-Id: Ifc5561f8e2db172bb692ba26bdeae2fd675d6ec5
2016-06-17dyn PDCH: add bts_model_ts_connect() and _disconnect() stubsNeels Hofmeyr7-0/+56
Enhance bts_model_ API in preparation of dyn PDCH switching. These will be used to re-connect a TCH/F_PDCH TS in a different mode: either as TCH/F or as PDCH. All implementations so far return -ENOTSUP, and thus will cause a IPAC PDCH ACT or DEACT *NACK* to be sent to the BSC as soon as these messages are handled. Also add stubs in tests. Change-Id: I21e60c028a1333431c3ed000f788b654d1170b0d
2016-06-17fix two compiler warnings: add two opaque struct declarationsNeels Hofmeyr1-0/+3
Change-Id: Ie12eeff753e399b28a816893ac4d23e1cd391025
2016-06-17fix compiler warning: add missing case (PHY_LINK_CONNECTING)Neels Hofmeyr1-0/+3
Change-Id: I7979e10551023c1f52f04b4e93ea1706cf0bef39
2016-06-17fix compiler warning: printf format for sizeof()Neels Hofmeyr1-1/+1
Change-Id: Id600c5a34ab261736f7595ab2e36e3a30d434175
2016-06-17Add .gitreviewMax1-0/+3
Similar to other projects, add helper file for "git review" command. More information: https://www.mediawiki.org/wiki/Gerrit/git-review Change-Id: If3406fafa5778e94ab53e858ddda4a4d55651879
2016-06-17TRX: add configuration exampleMax1-0/+34
Related: OS#1648 Change-Id: Icc7d15eceee8ee667fd6a29e758a38668c4946ef
2016-06-17add missing DSUM entry to bts_log_info_catNeels Hofmeyr1-0/+6
This allows setting the 'sum' log level to debug in osmo-bts.cfg. Change-Id: I1fe1a483f07f0384815f01877f86ffc192052f72
2016-06-17doc: add ladder diagram on dynamic PDCH, add msc-READMENeels Hofmeyr3-0/+43
Adjust .gitignore for dyn_pdch.svg and .png. Change-Id: I532f896b1b528c4d1764bb5042a7f42c3c60f617
2016-06-17dyn PDCH: cosmetic: lchan_to_GsmL1_SubCh_t(): add case for TCH_F_PDCHNeels Hofmeyr1-0/+1
It is cosmetic since the 'default:' case already caught TCH_F_PDCH, but it's good to mention all expected pchans explicitly. Change-Id: I5aef84209e46c9288f6adf0730178fe08f26764f
2016-06-17dyn PDCH: rsl rx dchan: also log ip.access message namesNeels Hofmeyr1-2/+2
Before, only standard ABIS RSL message names were logged, add ip.access specific ones. The IPAC_PDCH_ACT and _DEACT msgs are received with an ABIS_RSL_MDISC_DED_CHAN discriminator, and not with _MDISC_IPACCESS like the others. Thus rsl_rx_dchan() should be able to log ip.access message types properly. Change-Id: I9db6826b515bf565fc7ae24fc0760b60928cc89f
2016-06-17oml, Set Chan Attr: treat unknown PCHAN types as errorNeels Hofmeyr1-3/+9
Change-Id: Id79585993df15362ba0e1271d03302597182ceff
2016-06-17fix typo in error message ('at lEast')Neels Hofmeyr1-1/+1
Change-Id: I6ac3606157dc6c81ed17cd6d26227da8ae26c49f
2016-06-17tests/stubs.c: remove unused stubsNeels Hofmeyr1-17/+0
Change-Id: I53a839a332980bca67ae0b7d3e36b97afe406e5b
2016-06-17pcu_sock: add pcu_connected() to query PCU availabilityNeels Hofmeyr2-0/+12
Will be used in upcoming dyn PDCH switching. Change-Id: I8031089ad5e9cb9690ca7e22facc53438f28e12a
2016-06-16TRX: Add vty command to power on/off transceiverMax2-3/+23
Add vty command (under "phy X instance Y" hierarchy) to manually send POWERON or POWEROFF command. It's useful for debugging issues related to BTS/TRX initialization. Change-Id: I6dfebaf118cdf5ad144516b2b839b17350a73ce4 Related: OS#1648
2016-06-16Fix OML activationMax3-4/+14
Previously software activation could have been reported multiple times which broke proper BTS init. Introduce guard variable to ensure reporting happens only once. Note: this is just minimal workaround - ideally proper OML state machine should be implemented. Change-Id: Ifffbdb756bc5d2864f985c01a3299b839c4de7af Related: OS#1648