aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2017-07-10Move dump_gsmtime to libosmocore as osmo_dump_gsmtimePau Espin Pedrol1-13/+4
Internal l1sap dump_gsmtime has been moved to libosmocore as osmo_dump_gsmtime. Remove use of internal function and replace with the libosmocore version. Depends on libosmocore Ib5452e2c20f53006c0f6d197fb055728947125d8 Change-Id: Ia2f89965d970ed5bbb8c0d4f591a043e58c4bd66
2017-07-10l1sap.c: fn_ms_adj: Add err logging and always return GSM_RTP_DURATIONPau Espin Pedrol1-5/+6
After latest changes, l2 expects to receive an event for every TCH frame, that is, no TCH frame event should be lost on that layer. We should now then be safe returning always GSM_RTP_DURATION. The code which used to calculate the variable duration is left there to assert that indeed we are not longer having this kind of issues. Change-Id: I9d112c6db142be138e71393e77129e6d069d9973
2017-07-10l1sap.c: Avoid sending RTP frame with empty payloadPau Espin Pedrol1-14/+26
Depends on libosmo-abis Id6099372b6231c0a4b6ea0716f46f5daee7049e1 Change-Id: Ie9053674aa4f43aac20dbd5c865d70317360abbc
2017-07-10Allow passing low link quality buffers to upper layersPau Espin Pedrol8-33/+47
We want to always call l1if_tch_rx and l1sap_up in order to avoid losing triggering events on the upper layer. With this change, the upper layer will increase correctly seq + ts for RTP. It will then send an RTP packet with only the header and no payload, which is not correct but at least we avoid drifting the RTP clock. Upcoming patch in the series solves this issue. This patch assumes that we are not lossing data events from the physical layer and that we receive an event every 20ms, even if the MS is not transmitting due to DTX. Depends on libosmocore If4ae20c22b881e94585dad710f17b9e37f77bf82 Change-Id: If5df8940fab833eb4e3ed851880b66987d356031
2017-07-05sysmo: Remove non longer valid -p option from helpPau Espin Pedrol1-1/+0
The dsp-trace-flags command line argument was removed in 9684099ae905e6e61cbc326035d0b37c480f6172 Change-Id: I8dbcdc7080ca3f7d7968aeef24422faa75d925fe
2017-07-04sysmo, litecell15: Make sure all TCH events are triggeredPau Espin Pedrol2-0/+10
Change-Id: Ie674c7ec40838af36308c6998f227fa452ace4b4
2017-07-04Fix annoying trailing whitespacePau Espin Pedrol5-17/+16
This whitespace keeps being automatically fixed by editor, polluting my patches. Change-Id: If0ba1321ed326c1498e3f60b611bd962f2a9484a
2017-07-04Use L1P instead of L1C for TCH logging and allocationPau Espin Pedrol3-34/+34
L1C is for L1-Control primitives, while TCH channels are L1 Data channels. Change-Id: I07ea3a7326bfcb62271d58deb0743311f6d97c8b
2017-07-04octphy: complete value strings (octphy_cid_vals)Philipp Maier2-2/+5
The value string table octphy_cid_vals lacks the strings for cOCTVC1_MAIN_MSG_APPLICATION_INFO_CID and cOCTVC1_MAIN_MSG_APPLICATION_INFO_CID (Patch by Octasic Inc.) Change-Id: I9843137b55534a29938d5c2308244a6950de788f
2017-07-04Revert "osmo-bts-sysmo: Include frame number in MEAS IND"Philipp Maier1-7/+2
This reverts commit 3f97e4b1fcdc788345ab7740bd4fb8a3d73f5526. Change-Id: Ib50c813c470bf6ea740fe6667431eaa1a23fdd8d
2017-07-02TRX: permit transmission of all-zero loopback framesHarald Welte1-30/+5
For some reason, osmo-bts-trx attempted to interpret/validate the contents of the downlink TCH block that it was about to transmit. If such checks are made, they should clearly be in the common part above L1SAP, and not in the bts-model specific part. Also, having the checks in place didn't allow us to send an all-zero downlink block, as is required for detection of uplink FER in a loopback testing setup, e.g. with CMU-300. Change-Id: I6388de98e4a7e20843a1be88a58bba8d2c9aa0d5
2017-07-01l1sap: Don't enqueue PTCCH blocks for loopbackHarald Welte1-1/+1
When we're in loopback testing mode for PDTCH, we must make sure to avoid adding PTCCH blocks to the queue. Only PDTCH blocks must be enqueued. For the transmit (downlink) side, we already had the PTCCH check in place. Change-Id: I7ef40d9bdf74a99375bc6568ed9483499664bf6f
2017-07-01TRX: don't free l1h in trx_phy_inst_close()Harald Welte1-1/+0
l1h is allocated in bts_model_phy_instance_set_defaults() and not in trx_phy_inst_open(). Hence, trx_phy_inst_close() should not free() it! Change-Id: I0ac4e57a882e5a31143499c1662d8d8e52320938
2017-07-01TRX: merge/simplify l1_if and trx_if codeHarald Welte4-103/+92
Related code / function structure still dates back to the pre-phy_link days. Let's clean this up to make things less convoluted and reduce the number of non-static symbols needed between code split over two files. Change-Id: I1f30ae1f547a5c01c516d4a05032193294c25f2d
2017-07-01TRX: Rename trx_if_data() -> trx_if_send_burst()Harald Welte3-3/+3
The new name makes it clear what the function actually does: Send burst data via the trx interface. Change-Id: I5031541d4ae4244a62a18acf71139db2874927fa
2017-07-01trx_if: Improve error handlingHarald Welte1-3/+8
There ware some error conditions that the previous code didn't catch and/or report, such as unparseable TRX control strings, non-terminated buffers, ... Change-Id: I354d0c121880553ce1bd59b7394d52b104b7d6da
2017-07-01TRX: trx_if: Improve code description / commentsHarald Welte1-13/+54
Change-Id: I4e19d68782a12e52ba1d3ba2665060275d04866c
2017-06-30litecell15/tch.c: Clean up use of empty bufferPau Espin Pedrol1-3/+4
Make code easier to read and avoid reading first byte of the buffer if size is 0. Change-Id: Ib9ee967c0f42098b3a0569e9d84f23832eb4f2d5
2017-06-30sysmo/tch.c: Clean up use of empty bufferPau Espin Pedrol1-3/+4
Make code easier to read and avoid reading first byte of the buffer if size is 0. Change-Id: I5ecfc4df5a3fcad3d3ad50bf3dd3db65b694481a
2017-06-29osmo-bts-litecell15: Fix missing frame number in MEAS INDPhilipp Maier1-2/+3
The layer 1 interface (l1_if.c) for osmo-bts-litecell15 does not include the frame number into the measurement indications it forwards to higher layers. The frame number is required to properly detect the end of a measurement period. change process_meas_res() to properly include the frame number into the l1sap primitive (struct osmo_phsap_prim *l1sap) Change-Id: Iee9c8f88b05cd5dba9920bb08e079a643e713237
2017-06-29osmo-bts-trx: fix missing frame number in MEAS INDPhilipp Maier2-3/+4
The layer 1 interface (l1_if.c) for osmo-bts-trx does not include the frame number into the measurement indications it forwards to higher layers. The frame number is required to properly detect the end of a measurement period. Change-Id: Ife3c791ff50e8a866a97b9783ac7ef3ef2402a70
2017-06-29Revert "sysmobts: normalize frame number in measurement indication"Philipp Maier1-10/+2
This reverts commit 88b2cc30a6a7253c2c4c76178e5727fad48556ca. Change-Id: I30f37a9feef24a45e254377502615d717dba9765
2017-06-28Add loopback support for PDTCHHarald Welte1-27/+89
This add support for BTS-side lookback of PDTCH channels. If lchan-loopback is enabled, We take the uplink frames as received in PH-DATA.ind and put them into the dl_tch_queue for that lchan. When we receive PH-RTS.ind, we dequeue frames from that queue and transmit them in downlink. If no frame is found in queue, we transmit an empty (all-zero) frame of 23 bytes (CS-1). Change-Id: Idd07a3f4a88c38398d3e844333c0104e2de23864
2017-06-28TRX: Use timerfd and CLOCK_MONOTONIC for GSM frame timerHarald Welte2-87/+246
using gettimeofday() is not suitable for the GSM frame timer, as it relies on the normal 'wall clock' system time, which may be adjusted by ntp, gps or other means at runtime. Switching to a different clock source means we cannot use osmo_timer_list anymore, but timerfd integrates just fine with our libosmocore select() loop handling. Change-Id: I51b19adde14ebb7ef3bb863d45e06243c323e22e Closes: #2325
2017-06-28octphy: remove log outputPhilipp Maier1-2/+0
When handle_ph_data_ind() runs BER and RSSI is logged. Remove this log output by removing the call to dump_meas_res (Patch by Octasic Inc.) Change-Id: I5e755465daa3daec2e2b4f61bc8d779c49196e9a
2017-06-28octphy: initalize nmsg only when neededPhilipp Maier1-5/+6
nmsg is initalized every time the function runs, even when it is not needed. Move the initalization into the if (msg) body so that nmsg is only initalized when we really need it. (Patch by Octasic Inc.) Change-Id: If51dc50a9f4bdb4aba62c0ae5fbfac552806f0c0
2017-06-28octphy: initalize l1msg and only when neededPhilipp Maier1-1/+9
l1msg is initalized when the variable is declared. This means the allocation always runs right on the beginning. Even when the buffer is not needed at all. do a prober l1msg initalization only when needed and check the return code. (Patch by Octasic Inc.) Change-Id: Ia71d49b9cc109af53d997a687a7fb1b5ed062d1c
2017-06-28octphy: improve log outputPhilipp Maier1-1/+1
Printing the RX payload size is strictly informative, so the loglevel LOGL_ERROR is wrong. This commit changes it to LOGL_DEBUG (Patch by Octasic Inc.) Change-Id: I712cdd79cbba93f457705d38871bd8d4b7f4e897
2017-06-28RSL: receive and send multiple SI2q messagesMax2-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-26measurement: improve log outputPhilipp Maier1-4/+7
The code that receives the uplink measurement data from L1 does not print the number of already received uplink measurements. Since this is a valuable information when debugging the log output will now print this information as well. (Patch by Octasic Inc.) Change-Id: I79926f25de088571fcc2c14388c72fc968c2d382
2017-06-26Add missing include for abis.h header fileMax1-0/+1
This fixes compilation warning: implicit declaration of function ‘abis_bts_rsl_sendmsg’ Change-Id: I956561b2f953c7d380a26442fad84bc8262ea129
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 Welte1-37/+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-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-sysmoMax2-6/+6
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-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-18OML Add osmocom-specific way to deactivate radio link timeoutHarald Welte2-5/+19
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 Yanitskiy2-5/+5
Change-Id: Ib9172735bc7a05d9d7425a0e66dd90ff2569ee05
2017-06-15Cleanup SI schedulingMax1-20/+12
* 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-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