aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-06-26RSL: receive and send multiple SI2q messagesuser/max/si2q-testMax2-14/+41
* change BCCH Info handler to explicitly support multiple SI2quater messages sent from BSC * change SI scheduler to send SI2q in round-robin way That's resubmission of 340cff51f49f6e798cb5fb6d1b9febdd09902906 and 186c6bac0758b6f94aa101e151664b0dea5d8975 with memory initialization order change to fix the issue detected by osmo-gsm-tester - see OS#2338. Change-Id: Ib595733cde108387bc7ee76b1b11ada6a235f13c Related: OS#1660, OS#2338
2017-06-24LC15: properly handle BS-AG-BLKS-RES as received from BSCMinh-Quang Nguyen1-1/+1
Closes: OS#2014 Change-Id: Icf437e621d1991f6185e31a0953773309e2bf5ac
2017-06-24l1sap: if lchan is in loopback, don't accept incoming RTPHarald Welte1-0/+5
When the lchan is in loopback mode, we loop back all uplink blocks into downlink blocks. We do not processs any RTP frames for that lchan anymore. Rather, we discard those RTP frames to avoid mixing looped-back samples with those received from remote. Change-Id: I29ef4963e9c491c94c413cbc10436a2388c04d9b
2017-06-24osmo-bts-sysmo/l1_if.c: PH-DATA.ind belongs to L1P, not L1CHarald Welte1-1/+1
L1C is control, while L1P is data primitive. Change-Id: I5a0ef08df96a67cd25b11eb23c60934011b01c29
2017-06-24l1sap.c: Factor out function to limit message queueHarald Welte1-21/+18
Change-Id: I0fe0fc6b17cefdbf6b2d9f30ed08306998d30687
2017-06-24measurement: Remove dead codeHarald Welte2-39/+0
We used to have trx_meas_check_compute() and call that from the bts-specific code in order to iterate over all timeslots and all lchans in the timeslots if we have to send measurement reports. This was executed once per frame, and created unequal CPU load over time, which in turn might increase different per-ts jitter. Since 2f028c4e2c29f63df9926435466aa35377947767 in April 2017 we have lchan_meas_check_compute(), which performs this on a per-lchan basis, and hence CPU load is distributed over all active timeslots. Change-Id: I6308cefe4a51e55719ea4ed4d613d3782b805c08
2017-06-24Revert "RSL: receive and send multiple SI2q messages"Neels Hofmeyr2-49/+28
This reverts commit 340cff51f49f6e798cb5fb6d1b9febdd09902906. osmo-gsm-tester detected a regression due to this commit, when running osmo-bts-trx. The modems timed out when waiting for them to register with the osmo-bts-trx network. osmo-bts-sysmo is apparently not affected. No further details on the failure cause are known yet. The failure is shown for example by http://jenkins.osmocom.org/jenkins/view/osmo-gsm-tester/job/osmo-gsm-tester_run/868/ Change-Id: I15bca30ddc09a7a3044096626016f6130d07636c
2017-06-24Revert "RSL: check for abnormal SI2q values"Neels Hofmeyr1-6/+0
This reverts commit 186c6bac0758b6f94aa101e151664b0dea5d8975. osmo-gsm-tester detected a regression due to commit 340cff51f49f6e798cb5fb6d1b9febdd09902906, which above commit apparently depends on. Revert this along to avoid conflicts. Change-Id: I456e9add788393ca781213cef31b5bc3d48fd531
2017-06-22lc15: fix jenkins buildMax1-3/+3
* use proper fw headers include path * do not quote $PARALLEL_MAKE variable Change-Id: Ib67305ae858ce322f7ea4ac6c6ce5007ce8e7ab9 Related: SYS#3682
2017-06-22lc15: make jenkins helper executableMax1-0/+0
Change-Id: Icf06040d77180fb9d877ca52e00171b21b634ef8 Related: SYS#3682
2017-06-22OML: move BTS number check into separate functionMax1-16/+34
* move code which checks for BTS number (obtained via OML) validity into separate function * adjust log messages to match the check * add spec reference and comments Change-Id: Id5714fbed910696d30e18d1f20f4c9fced4b9230 Related: OS#2317
2017-06-22Copy sysmobts.service to osmo-bts-sysmoMax5-7/+28
This way the name of systemd service file will match the name of the binary similar to lc15. Add aliases so the user can use both old and new names regardless of which file is installed. Once the corresponding changes to OE recipes are applied old file can be removed. Based on work by Pau Espin Pedrol <pespin@sysmocom.de> Change-Id: I08615eb625d488603aeb5962ad9f30869c0e77c5
2017-06-21Use generic L1 headers helperMax4-55/+10
Change-Id: I2253df3509595d7393ec6631ef846dbebae73ca4
2017-06-21lc15: add jenkins helperMax2-0/+41
Add jenkins build helper for lc15 and separate header with BTS-agnostic functions. Change-Id: Ib47f5a6cc88e784c5662b0dab4ddc03ce9a35132 Related: SYS#3682
2017-06-21Move common steps into common jenkins helperMax5-69/+36
Move value_string termination check and OpenBSC headers checkout into shared jenkins helper from BTS' model-specific helpers to get rid of copy-pasted code. While at it - also remove unnecessary bash dependency. Change-Id: Ic48b1f75179b9008d65219dd5a47c1ab3b886408
2017-06-19Move parameter file opening into separate functionMax5-61/+52
* use talloc for file path allocation * print detailed error on failures This simplifies troubleshooting of lc15bts-mgr failures. Change-Id: I86c93a2a4f080e8ac1517be93f58f6ffd00d248c Related: SYS#3686
2017-06-19lc15bts-mgr: use extended config file exampleMax1-1/+41
Change-Id: I0ef9d00a031b7d7e59150a28a6972c620ff19e92 Related: SYS#3686
2017-06-18OML Add osmocom-specific way to deactivate radio link timeoutHarald Welte3-6/+22
In some situations (e.g. when trying to do measurements/testing on the BTS receiver / uplink) it is useful to have a way to disable the radio link timeout and keep any channel open until deactivated, irrespective of whether (valid) data is received or not. This adds a related feature that can be activated by using an osmocom-specific value of 0xff for the TS 12.21 Connection Failure Criterion (9.4.14). Change-Id: I736f21f6528db5c16fa80cdb905af20673797be5
2017-06-16RSL: check for abnormal SI2q valuesMax1-0/+6
Check for impossible index and count values of SI2q messages. The limit is defined in 3GPP TS 44.018 Table 10.5.2.33b.1 Change-Id: I351f8e8641a1cb9548154803da70bfde46ee180d Fixes: CID 170749
2017-06-15RSL: receive and send multiple SI2q messagesMax2-28/+49
* change BCCH Info handler to explicitly support multiple SI2quater messages sent from BSC * change SI scheduler to send SI2q in round-robin way Change-Id: I3aeb90804edab1b0325c3eb7347526ae995dbf51 Related: OS#1660
2017-06-15scheduler_trx.c: strip unused variableVadim Yanitskiy1-2/+0
Change-Id: I870dad2a00f68cca1c31a719221fc30a07b30c20
2017-06-15cosmetic: fix some typosVadim Yanitskiy4-8/+8
Change-Id: Ib9172735bc7a05d9d7425a0e66dd90ff2569ee05
2017-06-15Cleanup SI schedulingMax2-21/+13
* use GSM_BTS_HAS_SI() from OpenBSC instead of local copy * arrange GSM_BTS_HAS_SI() checks to improve readability * constify SI scheduler parameters Change-Id: If74bc536fe7d2bfbc976c07d882151873ecda4f2 Related: OS#1660
2017-06-15Set and report BTS featuresMax5-0/+24
Set (possibly incomplete) list of BTS model-specific features and report them in response to attribute request via OML. Change-Id: I5f8a6681c3562ec261441e84dde6e085b516d92f Related: OS#1614
2017-06-15Extend Get Attribute responderMax1-43/+85
* detect if attributes are requested for BTS or TRX and act accordingly * report TRX phy version Change-Id: I9f72305bbf1ab74745bffac1bee9f539f5a6de32 Related: OS#1614
2017-06-14lc15: add example systemd service fileMax1-0/+20
Change-Id: I923b4220f98bb7bd9ec78a6804bdfa9ad988f473 Related: SYS#3686
2017-06-14Place *-mgr config examples according to BTS modelMax2-0/+48
* copy sysmobts-mgr.cfg to sysmo/ directory * add lc15bts-mgr.cfg The configuration is BTS-specific so it should be located inside appropriate subdirs. Note: the old copy of sysmobts-mgr.cfg can be removed once the image build recipes are adjusted. Change-Id: Ic81197464809ba508b2572e86dd978a994f4b116 Related: SYS#3686
2017-06-14Use systemd template specifiersMax1-2/+2
Use systemd template specifier for config name instead of hardcoding it. This will allow to specify different config file name depending on the name of the service file. By default sysmobts-mgr.cfg will be used preserving compatibilty with existing installations but if the unit is named lc15bts-mgr.service than lc15bts-mgr.cfg will be used. This gives us necessary flexibility to use BTS-specific configuration. Change-Id: I475df6a06691390120eea0bd8a61fa469df2bd2d Related: SYS#3686
2017-06-13measurement: Improve log outputPhilipp Maier2-12/+36
The debug log does not print much information about the measured rxlev and rxqual values. This commit adds debug output to make measurement debugging simpler Change-Id: Ic871eed6dcbc7d10aca6cd11dbc803b3e6da449f
2017-06-09cosmetic: remove unused variablePhilipp Maier1-1/+0
Tha variable ms_timing_offset in lchan_meas_check_compute is not used anymore. Change-Id: I40c393f6864fe72b88a70da265b7775da8fb469c
2017-06-09sysmobts: normalize frame number in measurement indicationPhilipp Maier1-2/+10
The higher layers relay on a normalized version of frame number in order to detect the end of a measurement period. The frame number on which the measurement reports are sent may depend on the phy, so we need to normalize the frame number before we report it to the higher layers. Change-Id: I90bd01479e41f04a6b0aefe3845d071e3148d0c6
2017-06-09Revert "measurement: exclude idle channels from uplink measurement"Philipp Maier1-29/+24
The offsets used in the lookup tables may be phy dependand. So we will have to do the alignment in the layer 1 interface of the phy dependand code before we report the frame number up to the higher layers. This reverts commit e0fb3ae52d747b26b6487ec67c79eceaf37a125c. Change-Id: I8acab50cc1bb1cb133831c6a145f4d790e99176c
2017-06-09octphy: fix segfaultPhilipp Maier1-5/+6
The priv pointer of the callback function app_info_compl_cb() is set to null by the pointer. It should be set to pinst instead. Besides of that there is a memory violation while accessing the local variable ver_hdr using osmo_strlcpy(). Both is fixed with this commit. Change-Id: I558d78ef29e9a4d8f45f4142611f11289d3ed806
2017-06-09Re-add version to phy_instanceMax3-3/+8
This is resubmission of 9eeb0b1a136fc8c24a86cb4d832c264674c10db0 with errorneous use of talloc_asprintf() removed which should fix OS#2316. Change-Id: I02ae6fffdc808c1ea14185dbb4a720d27a62d4bb Related: OS#1614
2017-06-09measurement: fix measurement computationPhilipp Maier3-1/+56
Timing advance is currently not taken into account when computing the measurement results, this commit fixes that Change-Id: I2e0dfd13b53e8aa2822985f12bf2985e683ab553
2017-06-06trx: Save osmotrx base-port vty propertiesPau Espin Pedrol1-0/+7
Change-Id: I0898a8c4eb3899fc1c0f6b17da33b8c7851b90d6
2017-06-06trx: Allow BTS and TRX to be on different IPsPau Espin Pedrol6-43/+49
Depends on libosmocore I3c655a4af64fb80497a5aaa811cce8005dba9cd9 Change-Id: I0bd34b7b02c1a9b0c6f6f89f327b486e5620c8d5
2017-06-02Revert "Add version to phy_instance"Neels Hofmeyr3-8/+3
This reverts commit 9eeb0b1a136fc8c24a86cb4d832c264674c10db0. This commit caused osmo-gsm-tester test runs for the sysmoBTS to fail with SIGABRT consistently. See below redmine issues. In osmo-bts-sysmo/l1_if.c, it uses talloc_asprintf to write to the char version[MAX_VERSION_LENGTH]; talloc_asprintf() however is intended to work on string buffers allocated by talloc, and attempts to reallocate version[]. Furthermore, it is not clear why the patch passes a 'data' arg to app_info_sys_compl_cb() that is not used. Hence I will revert this instead of trying to fix. Please resolve issues and re-submit. Related: OS#2316 OS#1614 Change-Id: I2c9fd5e6739c1750365c0241476ce4b1aa2df3d4
2017-05-29OML: fix Coverity-reported issuesMax1-2/+6
* CID 169803: Null pointer dereferences * CID 169802: Incorrect expression Change-Id: Ib3f91be97c8bf81a87681814bf81d3a5a9950e54 Related: OS#1614
2017-05-29Add version to phy_instanceMax3-3/+8
Change-Id: I5b2352b8d15e9b0d8616fcd526b4902d247e4693 Related: OS#1614
2017-05-29sysmobts: Re-order the bit-endianness of every HR codec parameterHarald Welte3-6/+57
The so-called "RTP mode" of the DSP contains a bug on all firmware versions < 5.3.3 which causes the bit-order within each of the non-aligned codec parameters to be wrong. Introduce a function originally written by Sylvain Munaut during 32C3 in http://git.osmocom.org/openbsc/commit/?h=sylvain/32c3_codec&id=5b4a16bbe93a7b1ace65cc23d6cce56ecf4f1275 to bring the bits into [the correct] order. This has never been seen in a "pure sysmoBTS" setup, as all BTSs would use the same (wrong) bit-ordering and thus interoperate. This patch now checks for an affected DSP firmware version and then jumbles (old DSP firmware version) or does nothing (new DSP firmware version). Change-Id: Ia0eee4f514fb8fd81c052bb44a4facba898d6afb Closes: SYS#2452
2017-05-29l1_if: Add inline functions to check dsp/fgpa version at runtimeHarald Welte1-0/+15
Change-Id: Iddae9c8de33aca6663dca77908fa4852ad704ce9
2017-05-29vty: Remove command for manual channel activation/deactivationHarald Welte1-60/+0
OsmoBTS won't run without being connected to a BSC. The BTS wouldn't start to transmit if the BSC doesn't properly initialize it. So if we want to activate some channels manually for testing, we should do so from the BSC, and not inside the BTS code. Doing this in the BTS means that the BSC is not aware of it and might want to use that channel for something else meanwhile. Osmo{BSC,NITB} has gained ability to manually activate a channel from the VTY in Change-Id I44fc3904678eb48bd3ab1a3da8c0c265fa082e0d as can be seen at https://gerrit.osmocom.org/2759 So let's remove the old/obsoleted code here. Change-Id: I7ba0301b55cc283aa6a441899f84357e28a97321
2017-05-29osmo-bts-trx: Remove duplicate parsing of NM_ATT_CONN_FAIL_CRITHarald Welte1-5/+0
For some reason, osmo-bts-trx did another take at parsing NM_ATT_CONN_FAIL_CRIT and storing the second octet in btsb->radio_link_timeout, just like the generic code already does in oml_rx_set_bts_attr(), but without proper checking and any error message. Let's remove it. Change-Id: Idb0179e1443c0b5a97e59919dba684a001e90192
2017-05-29l1sap.c: Add spec reference to link timeout implementationHarald Welte1-1/+3
Change-Id: Ia95635a4350624b30f2b352e30ee39f856945670
2017-05-29Consistently check for minimum attribute/TLV length in RSL and OMLHarald Welte5-34/+32
Make more use of TLVP_PRES_LEN() instead of plain TLVP_PRESENT() and implicitly assuming a certain length of the information element. What this obviously doesn't introduce is some kind of error generation/reporting in case the minimum length is not fulfilled. An IE that's too small is silently ignored by TLVP_PRES_LEN() and treated as if the IE wouldn't exist in the first place. Change-Id: If5c4eee65711c49bc8ba4675221b1d5fd16198e9
2017-05-29osmo-bts-sysmo: Include frame number in MEAS INDPhilipp Maier1-2/+7
l1_if.c does not generate struct osmo_phsap_prim l1sap properly. The (logical) frame number is not included in this struct. This renders the logic that processes the reported measurements non functional, since the logic (see measurement.c) is no longer able to detect the end of the measurement period. This commit fixes the problem by adding the missing frame number to the l1sap structure. Change-Id: I2bab40c30d727395eb3096026810917407419cd7
2017-05-29octphy: remove old event control codePhilipp Maier1-83/+1
Event handling is done internally in the Octasic BTS. When the TRX is opened, events are enabled automatically and when TRX is closed events are disabled. The change is valid for the recent firmware version and for the last couple of previous releases. Change-Id: I0652627495f6a9bcb0da2431b8beb839bc22062b
2017-05-29octphy: integrate channel measurement handlingPhilipp Maier2-15/+50
recent octphy firmware versions do support proper channel measurement handling. The new implementation replaces the old, and for osmo-bts non functional implementation. This commit introduces the necessary adjustments. Older firmeware releses will still work. However, the measurement computation results will still be wrong. Change-Id: I0f053bb10b1cb112a8814ee591969d607888e686
2017-05-27rx_tchh_fn(): Avoid copy+pasting formula to determine odd-ness of fnHarald Welte1-4/+7
Change-Id: Ic2a0bdaa70cc28c1ce8237351b0a0c6b998cf0a3