aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-03-14Check for suitable lchan type when detecting HOMax2-2/+12
Log error when handover RACH is detected on wrong channel: according to 3GPP TS 44.018 it can only be seen on SACCH and DCCH. Change-Id: Iacbcc8441d6cfbb8f808948a8baddde1ebca488a Related: OS#1898
2017-03-14Handle ctrl cmd allocation failuresMax1-18/+19
Check that ctrl command was successfully allocated before using it. Fixes: CID163884 Change-Id: Id19e1ce5fae6f936c9ed93f9a6317b57d28d7311
2017-03-07Remove code duplicationMax1-18/+4
Use gsm_bts_trx_num() from OpenBSC instead of static function. Change-Id: Iba80e7a12c85976981a49a9424db069fc4110373
2017-02-24Use oml-alert CTRL command for temp reportMax4-13/+65
Send temperature reports via OML alert facility exposed by CTRL protocol. Change-Id: If29fbd0ab01fefc76e87b90cf1fbc81b2089ba76 Related: OS#1615
2017-02-22octphy: Fix VTY commandsPhilipp Maier3-45/+139
The VTY commands show phy 0 rf-port-stats and show phy 0 clk-sync-stats do not output their results on the VTY console. If one of those commands is entered the user is prompted to view the logtext, which is an uncomfortable solution. This commit adds the missing functionality to print the information in the VTY as well. octphy_hw_api.c contains two value_string structs (radio_std_vals and clocksync_state_vals) which are now exported in octphy_hw_api.h in order to access them from octphy_vty.c Change-Id: Iae5aa91fe2ebba7c2874eed88b15ed66e8c9cd61
2017-02-20oml: Fix incorrect usage of const variable abis_nm_att_tlvdef_ipaIvan Kluchnikov1-2/+5
This bug was introduced during moving oml definitions from osmo-bts to libosmocore in libosmocore 0bee65c0d89f81a4b90aa3d484016d9ba680dd46 and osmo-bts 2cf6b73a4278627331bdbbb4addf1a8bc1d964ce: The type of abis_nm_att_tlvdef_ipa was changed from struct tlv_definition to const struct tlv_definition, so: * create static abis_nm_att_tlvdef_ipa_local variable for oml attribute definitions * copy abis_nm_att_tlvdef_ipa to abis_nm_att_tlvdef_ipa_local * merge abis_nm_att_tlvdef with abis_nm_att_tlvdef_ipa_local * use abis_nm_att_tlvdef_ipa_local in oml_tlv_parse function Change-Id: Ia9f3c94ab247adeecb26a01c3ccd6f3a8c17ba1c
2017-02-19osmo-trx-bts: Fix incorrect bts shutdown procedure in case of clock loss ↵Ivan Klyuchnikov1-13/+1
from osmo-trx This issue occurs in case of osmo-trx restart which leads to losing clock from osmo-trx. Function bts_shutdown from common/bts.c should be used in this case for proper bts shutdown. Change-Id: Ie65cf2e8f98cb8bf3314a00048aa53c1f8cd4c25
2017-02-14sysmobts: fully support trx_power_paramsHarald Welte4-32/+44
The simplistic approach of sysmobts_get_nominal_power() is insufficient to cope for devices that have an internal PA. The Actual transceiver board is driven to a certain level (0..23 dBm typically), and the external PA must be handled independent of that. Increasing the return value of sysmobts_get_nominal_power() would result in the sysmoBTS mainboard attempting to reach a higher power, which is wrong. This change affects sysmoBTS 1020 and 1100. It causes power-ramping to be used by default. For 1002 and 2050, no behavior change is expected. Change-Id: Ieff75d5becaa80a2097b6e744c75c2d16259c9a4
2017-02-14osmo-trx-bts: Fix incorrect bts shutdown procedure in case of abis ↵Ivan Klyuchnikov1-4/+1
connection closure This issue occurs in case of osmo-nitb restart which leads to abis connection closure. Function bts_shutdown from common/bts.c should be used in this case for proper bts shutdown. Change-Id: Id025e703dd5c91896d450d200e88e46552f178f0
2017-02-10Fix typo in TCH/H interleaving tableMax2-2/+2
According to Table 4 in 3GPP TS 45.003 j=11, b=3 case corresponds to k=91 and not j=12 as was previously used. Change-Id: Iad3cf545b2f7e16276466cc37dd7a1e7858467e5
2017-02-10osmo-trx-bts: Fix osmo-bts-trx crash on startup during reading phy instance ↵Ivan Klyuchnikov2-2/+5
parameters from config file pinst->u.osmotrx.hdl should be allocated before reading phy_instance parameters from config file and applying them. So allocation of pinst->u.osmotrx.hdl should be moved from l1if_open function to bts_model_phy_instance_set_defaults function, which is proper place for this allocation according to start-up procedure of osmo-bts. Change-Id: I6e23f92644400acb268818c9373a8fb10c003da1
2017-02-10osmo-trx-bts: Fix incorrect setting of RXGAIN and POWER parameters on second ↵Ivan Klyuchnikov5-83/+83
channel (TRX1) of osmo-trx Move rxgain and tx-attenuation (power) parameters from phy_link layer to phy_inst layer. Rxgain and tx-attenuation parameters should be set for each phy_inst and send for each osmo-trx channel accordingly via control commands. Change-Id: I4861a59d10d1ef91954e0c6ea265e66dec08844f
2017-02-10rsl: Output RTP stats before closing the socket.Alexander Chemeris1-0/+4
It's useful to know RTP statistics (number of packets lost, jitter, etc) when looking at voice call quality issues. Right now this information is not avialable anywhere and this looks like the best place to start. Change-Id: Ife9f27c43157b4a1bf71aba41cd7b0f5f41ac99f
2017-02-10cosmetic: lchan_sacch_get: early-exit instead of nested-ifNeels Hofmeyr1-4/+4
Change-Id: I1fbf7d7f619cc8194c8094cf4a1826b6114f0e11
2017-02-10all models: fix vty write: bts_model_config_write_phyNeels Hofmeyr4-21/+19
The vty write for phy/inst is broken, leading to a written-out config being unparsable; fix all of these: - in common/vty.c, actually call bts_model_config_write_phy_inst(). - in sysmo and lc15 write the phy instance elements in bts_model_config_write_phy_inst() and not in bts_model_config_write_phy(), which lead to writing the members above their parent 'instance'. - sysmo, lc15 and oct omit the bts_model_config_write_phy_inst() implementation. This did not cause a compilation problem because it was in fact never called. - sysmo writes 'clock-source None' when clk_src is zero, leading to unparsable config (related: OS#1944). Instead omit the 'clock-source' when zero. - osmo-bts-trx seems to be the only part that lacks nothing, yet it also didn't work properly because bts_model_config_write_phy_inst() was never called. This problem existed since commit d784e50747b8cf0ce505489e1451f75be5ccbd4b "Introduce new phy_link and phy_instance abstraction" Change-Id: Icc54fa70045c8fa58e78cf9f788c21a437edfbd4
2017-02-08SACCH SI: assert that SI enum vals fit in bit maskNeels Hofmeyr1-0/+3
In case our SI enums ever move past 31, this static assert will warn us to enlarge osmo_si_shifted. Change-Id: I4185d7de590329ff5f523b241721c586ffdbcd8b
2017-02-08SACCH: fix sending of SI with an enum value > 7Neels Hofmeyr1-2/+2
In copy_sacch_si_to_lchan(), the variable to hold the bit mask for SI-is-valid was chosen as uint8_t, and as a result none of the SIs with an enum value >= 8 would ever be sent. Use int for enum value and uint32_t for the bit mask. Fixes: #1945 Change-Id: I85fa9a50691601bcd103845c6811caa061a39824
2017-02-08fix missing ~ in bit logic for lchan->si.valid in rsl_rx_sacch_inf_mod()Neels Hofmeyr1-1/+1
Upon rx of a SACCH INFO Modify for an lchan that has no L3 INFO IE, clear only the si.valid bit in question, instead of clearing all but the one in question. BTW, It first looked like it could be, but is *not* the cause for OS#1945 (SI5ter never sent to MS). Change-Id: I0df20b6643b0bfd219ce1df594075838d8406719
2017-02-07Add new unit-test for transmit power computation codeHarald Welte8-1/+318
This tests the computations of the tx_power.c code using sysmoBTS 1002, 1020, 1100 and 2050 values, as well as the power ramping code. Change-Id: I1cc88d4c6edff326e2e67d4f869aa02c9b2b1ac5
2017-02-07tx_power: Change PA calibration tables to use delta valesHarald Welte2-3/+3
It seems more user friendly to look at a calibration table in terms of the delta (positive or negative) compared to the nominal gain value, rather than a collection of absolute gain values. It has the added benefit that the (API/data model) user doesn't have to specify a gain value for each ARFCN, but rather can rely on the default nominal gain in absence of a calibration table for this specific unit. Change-Id: I7311815902a88d2fc9d211cf4c62fa6fdc5e86ad
2017-02-07tx_power: various cosmetic fixes in commentsHarald Welte1-5/+5
Change-Id: I542b74d79bc8ffedd7c435b41b042edd5152f61c
2017-02-07Revert "sysmobts: Add correct nominal transmit power for sysmoBTS 1020"Harald Welte1-2/+0
This reverts commit 1965b0d88082e427930f95071e992f0d9be79047, which was a premature change. The 10dB gain are not the power of the TRX board, but are due to an internal, factory mounted PA, i.e. the trx_power_params.pa. This will be introduced after adding a set of tx_power.c unit tests. Change-Id: I524b63c51fb0fe1f90ced28486a8e712f2dc50ae
2017-02-03Fix SACCH channel release indication not sent to BSC after location update.Jean-Francois Dionne1-1/+2
Based on GSM 04.08 3.4.13 RR connection release procedure, after the network sends a deactivate SACCH it receives DISC from MS which cause BTS to send RLL release indication to BSC in order to stop T3109 timer. It has been found that after a location update BSC never receives RLL release indication which causes a T3109 timeout because no TCH is currently allocated. This fix ensures RLL release indication to be sent to BSC when no TCH is allocated in the particular case of a location update. Change-Id: Ibe2a365641eb8c9a7f0a462b7393ec3fd28cc366
2017-02-02sysmobts_eeprom.h: Fix/extend model number definitionsHarald Welte1-1/+2
Fix the model number definition for the 1020 and add the one for 1002. Change-Id: Iba4cfbbda1000d7e34eca614b3a6165d2feb65e1
2017-02-02sysmobts: Add correct nominal transmit power for sysmoBTS 1020Harald Welte1-0/+2
The sysmoBTS 1020 is a 2W BTS, hence its nominal transmit powre is 33dBm. We must handle this correctly based on the model-nr in the EEPROM. As a result, proper power ramping will be made during start of the unit by default. Change-Id: I91a78dadfd7d2e1bc74c8086808c55effdcdd132
2017-02-01octphy: Improve OML ADM state handlingPhilipp2-2/+61
Improve state handling for for lock/unlock of OC_RADIO_CARRIER obj class. in bts_model_chg_adm_state() Change-Id: I034114beca95210169429d8ac1eb8648df12fc6c
2017-02-01Fix AMR HR DTX FSM logic.Jean-Francois Dionne8-73/+195
Fix SID_FIRST_INH detection during speech and when SID_FIRST is interrupted by FACCH. Fix SID_UPDATE_INH detection during silence and when SID_UPDATE is interrupted by FACCH. Add a delay for SID_FIRST to appear at the right time after FACCH. Fix extra byte sent in downlink for SID_FIRST and SID_UPDATE. Change-Id: Ia811305e15541f2376005df736bd610e8b0d2f69
2017-02-01rsl: Fix dropping of LAPDm UA message.Minh-Quang Nguyen2-0/+28
In some cases, when successive mobile originated calls are made, the LAPDm UA message gets lost because the channel is relased to early. Too overcome the problem we do not send relase indications immediately. Instead a flag will be set and the message stored and sent on the next TCH-RTS-IND. This commit adds the functionality to store the release indication msg, to rsl.c. It also addes the mechanism to forward the release indication to l1sap.c See also coresponding change in openbsc.git: Change-Id I15fc1ef8e9e83f009bde96de9a8e95702cffbce6 This patch is is a slightly improved/reformatted version of: https://gitlab.com/nrw_noa/osmo-bts/commit/95d1f15ad108c1c1869c1965144acd64c1395d8c Change-Id: Ie4f70c75f0137b4bd72d579b3a32575bac2fca38
2017-02-01DTX: fix "unexpected burst" errorJean-Francois Dionne2-0/+2
Fix error during FACCH interruption of DTX for AMR HR. Max's note: added fix for sysmobts. Change-Id: Ib064952331b4f89676ee68a3d8078b1d9debe570 Related: OS#1801
2017-01-31cosmetic: remove stray newline in octphy's l1_oml.cPhilipp Maier1-2/+1
Change-Id: I6b60e5ee03b9afe6595bf44c4a963d23d03a4eb7
2017-01-31sysmo,lc15: fix memory leak at each call placedJean-Francois Dionne2-2/+6
Max's note: added same fix for default case and ported it to sysmobts. Change-Id: Ife1293e3238cfda16eac9c28e7e81ffe5595e031
2017-01-31cosmetic: Remove stray newlines in octphy_vty.cPhilipp Maier1-5/+0
Change-Id: I33f5c4a3f40c0299a7cdb9c62094f0f914edfc98
2017-01-31octphy VTY: fix vty write output for octphy's phy sectionPhilipp Maier1-7/+7
Fix invalid configuration generated by VTY 'write' command for the 'phy' section of osmo-bts-octphy. The problem was introduced during refactoring commit d784e50747b8cf0ce505489e1451f75be5ccbd4b (Sat Jan 9 13:13:37 2016 +0100, "Introduce new phy_link and phy_instance abstraction") Change-Id: Ib018e07e332aa8a6144fb2d87889032bd5fc2533
2017-01-25Add ctrl command to send OML alertMax1-0/+15
Change-Id: I228cb71ab945e19e3747843469a52f577ee32f97 Related: OS#1615
2017-01-25OML: internalize failure reportingMax8-58/+83
* make oml_tx_failure_event_rep() static and use osmo_signal_dispatch() wrapped into oml_fail_rep() to trigger event reports outside of oml.c instead of directly calling into OML layer * remove unnecessary formatting from text messages Related: OS#1615 Change-Id: I738555c547926e97b325ab53763c0076c42309bc
2017-01-24build: Do not require more headers from OpenBSCHolger Hans Peter Freyther1-1/+0
There should be no other OpenBSC headers included and nobody is using bsc_controlif_setup. Remove the include. This was introduced in 4723a195081f0f9ff561e360620ee0ade50a2b39. Change-Id: I581f938e8fe9161b1d7076cedd74ff192cea86b2
2017-01-24debian: Use the header files installed by openbsc-devHolger Hans Peter Freyther1-1/+1
Use --with-openbsc= to pick up gsm_data_shared.h coming from the openbsc-dev package. With the revert of the change Iec6b0f0eb0b7fffaa814c9769c0ee777d641a07f, packaging could work now. Change-Id: Ie0a005315454a6450205ce6fd76242b85405de8d
2017-01-24Revert "deb: use gsm_data_shared.* from openbsc-dev"Holger Freyther3-21/+1
As the Osmocom project is providing packages and we build them directly from git we should have native packages. openbsc-dev should provide files in the same directory structure as the git repository and then --with-openbsc=/usr/src/osmocom/openbsc/openbsc/include/openbsc can be used. Follow up patches are coming. This reverts commit 70b71507c27f8967b0aa31cad0b3070c6780f3b4. Change-Id: I8bc3a5c2b9446d9e94e362ed5d85a61e3a727f8b
2017-01-23octphy: set tx attenuation via VTYPhilipp3-7/+30
add code to configure the transmision power via VTY Change-Id: I76bb8660eb1d8baeb6b8f69da4a6ba9ab7319981
2017-01-20deb: use gsm_data_shared.* from openbsc-devMax3-1/+21
Use gsm_data-shared.* from absolute path where it's installed by openbsc-dev package instead of relative path to fix OBS package building. Change-Id: Iec6b0f0eb0b7fffaa814c9769c0ee777d641a07f Related: OS#1860
2017-01-16l1sap: fix missing 'else's causing wrong rach frame expiry countsPhilipp1-2/+2
This bug was introduced in the recently merged commit 1e399f888e4e1c93e0e5b7fd69fce09a2587fb87 aka change-id I87f40f5f160a4f6750c4f3d06997fc4f24049303 Fixes: coverity-scan CID#160156 and CID#160155 Change-Id: I88ed1b3e59213acdf97f88eda097b8172b952a5e
2017-01-12l1sap: Fix expired rach slot countingPhilipp1-16/+56
The counting of the expired rach slots in l1sap.c is not correctly implemented. This commit fixes the implementation. The expired rach slots are now conted correctly according to the configured channel combination. If a CCCH and SDCCH are combined, only the frames related to rach slots are counted. Change-Id: I87f40f5f160a4f6750c4f3d06997fc4f24049303
2017-01-12lc15,sysmobts l1_if: fix memleak in handle_mph_time_ind()Jean-Francois Dionne2-0/+2
Change-Id: I3061060235a488b114b636b3af9a2253a94de1e8
2017-01-10scheduler: log lchan on which prim error occuredMax2-4/+53
Log both lchan and trx_chan_type (using introduced value_string). Change-Id: I80c581b54eeee371ee524a75a400d1e9ece16c68
2017-01-10DTX: fix SID-FIRST detectionJean-Francois Dionne2-2/+2
Max's note: made similar modification to osmo-bts-sysmo/tch.c Change-Id: I76e62783b73803dfc0d32693a68020a9d89878b8 Related: OS#1801
2017-01-10Remove obsolete define TLVP_PRES_LENMax1-5/+0
The libosmocore version required by configure.ac already has TLVP_PRES_LEN anyway. Change-Id: I3e33d9d1a6160ea17ab0a875c65a98129e3d19c1
2017-01-10CTRL: make the CTRL-Interface IP address configurablePhilipp3-4/+12
Currently the IP address where the control interface is bound to is hardcoded to 127.0.0.1. This leads to problems with multiple instances on one and the same machine. This commit integrates the ctrl interface bind option into the VTY, so that we can bind the ctrl interface to any IP address, just like we do it with the VTY already. Change-Id: If51e0c645c0789a4f4a8c51737fb81fb12f80829
2017-01-10OML: fix possible segfault: add NULL check in oml_ipa_set_attr()Philipp1-0/+2
oml_ipa_set_attr() is using gsm_objclass2mo() to determine the *mo object. However, it is possible that gsm_objclass2mo() returns a null-pointer. The code following up is using *mo without checking. Reject instead of dereferencing a NULL *mo. Fixes: coverity scan CID#159533 Change-Id: Ia2cc9bc504c46ca3843c43d712cd8649bfae9526
2017-01-10RSL: add assertions to check args of public APIPhilipp1-3/+22
The public functions in rsl.c do not check for null pointers, add assertions to catch null pointers early. Change-Id: I63f127ce70a4127180f90238f564b63e355216ec
2017-01-10RSL: drop obsolete NULL checkPhilipp1-1/+1
rsl_rx_paging_cmd() checks if the pointer *trx is NULL, this check does not make much sense since *trx has already been dereferenced without checking earlier in the code. Furthermore *trx is also a mandatory parameter which must not be NULL. Fixes: coverity scan CID#159534 Change-Id: I17dfb42ff404b2a1e18354fb7a7278089b407a79