AgeCommit message (Collapse)AuthorFilesLines
2019-09-06Transceiver: Don't stop TRX if pulling from OFF timeslotpespin/masterPau Espin Pedrol2-22/+31
BTS may have any timeslot disabled, or may have not yet sent initial SETSLOT cmd to properly configure the timeslot. Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f
2019-09-06Transceiver: Log error condition no burst in pullRadioVector()Pau Espin Pedrol1-1/+3
Change-Id: I4f180cc852582b131ba28a8139215335f7ba567d
2019-09-06Transceiver: Use LOGCHAN in logRxBurst to unify log formatPau Espin Pedrol1-2/+1
Change-Id: Iec33ab73a9bf90fd0bff9ba453c32ea11bf0670e
2019-09-06Transceiver: Fix logging TN and versionPau Espin Pedrol1-4/+4
Since tn is declared as uint8_t, it's actually a char, and by default c++'s ostream& operator<<(ostream&, unsigned char) tries to print chars with its ASCII visible character instead of numeric value. Change-Id: I534158e8e1719ad19a9cde7c747a8f8ad5a01a2b
2019-08-26device: Use LOGCHAN in set_antennas()Pau Espin Pedrol1-4/+4
Change-Id: I3099498e3a3f26b53d55a96a36cc056f7b25b27a
2019-08-26lms: Log available antennas if requested antenna failsPau Espin Pedrol2-2/+23
Related: OS#3343 Change-Id: Icd328e85b0a75ef67f371a7ed72638053b1854f9
2019-08-26Transceiver: Enable EDGE detection only on PDCH timeslotsPau Espin Pedrol1-6/+2
Related: OS#3664 Change-Id: Id16248a1c03f9bc9f323c707857cdf3bf34c4e3e
2019-08-26Transceiver: exit process when BTS drops connectionPau Espin Pedrol2-30/+53
We don't want to keep osmo-trx running in a started state once the BTS controlling it becomes unavailable. If a socket towards the BTS fails, it means the BTS is gone and the best thing to do is to stop the process (alternatively we could go back to stopped state instead, and wait for BTS to re-connect, fur so far this action is good enough). Related: OS#4170 Change-Id: I2ccbe3c17b39fb792ea7810f840235c348054d66
2019-08-26Transceiver: Fix idle ul burst indications being droppedPau Espin Pedrol1-1/+2
pullRadioVector() should return true on idle frames because those indications may be handled by upper layers (TRXDv1). Clarify return code in function documentation. Change-Id: If592ed1c04cf7e995f656b313f60edd4d40d1bfd
2019-08-26Transceiver: Clean up receival of downlink burstsPau Espin Pedrol2-25/+31
Use a packed structure to clearly indicate what is contained in the received buffer. Change-Id: I4d8c0e3c0c717699889f79e50c778d14b6058f2d
2019-08-26Transceiver: Check return value when binding IP addr for clock socketPau Espin Pedrol1-0/+2
No need to continue further since anyway we'll end up exiting. Change-Id: Id8b38b40df5744beb705d560defb06532cf0fd44
2019-08-26Transceiver: fix segfault during init if IP addr binding failsPau Espin Pedrol1-3/+5
If osmo-trx is started and IP addr binding fails (ie because the IP address is not assigned in the system), it will try to access a heap-allocated Thread instance which was not initialized (because init() function returned earlier). Fixes: OS#4147 Change-Id: I19f9745cd026c0ff6581895a66bf91b40113b07d
2019-08-21Drop old setPriority related codePau Espin Pedrol8-32/+0
This code is not needed anymore since we are setting SCHED_RR scheduler with a real time priority in main thread during startup, so all threads will inherit same rt priority, which should be enough to keep the process working reliably even on high system loads (from non rt processes). osmo-trx was tested to be reliable during test with stress-ng as explained in related ticket below. Related: OS#2344 Change-Id: I3a88946dd71e9aeeaac9d19d396e2236c302b608
2019-08-14osmo-trx: log to stderr on signal receivedPau Espin Pedrol1-2/+2
Since osmo-trx it's a big multithreaded process and shutdown sequence can be complex, better use stderr to log signal received events to make sure log is outputted straigh away and not buffered. In general stdout is usually line-buffered, but buffering strategy can be more conservative if output is for instance redirected to a file. Change-Id: I70ba86919d1f7df41ef3db4916317d27697a025c
2019-08-08Bump version: 1.1.0-dirty → Espin Pedrol2-1/+7
Patch release to have debian/patches/build-for-debian8.patch applying correctly again. Change-Id: I27caf077abc400e9661549886bb8f7827dd299bb
2019-08-07Bump version: → Espin Pedrol1-0/+126
Change-Id: Ifd5abfb03015e9233814eb9d843ce2e218987283
2019-08-07Require newer version of libosmocore to avoid build failurePau Espin Pedrol2-4/+4
Older commit started using osmo_timerd_* APIs which are only available starting libosmocore 0.12.0, but configure.ac still states 0.11.0 is accepted, which is incorrect. Fixes: 4456b6f132437a95833e3a3d3353836331b9c8a0 Change-Id: I71743b8a10edb10af51ad8e9289c53e432199b97
2019-08-07Transceiver: Add missing include netinet/in.hPau Espin Pedrol1-0/+1
Previous commit started using IPPROTO_UDP without including required include. Newer versions of libosmocore's osmocom/core/socket.h include that header so the define is present, but older versions of libosmocore (such as 0.12.0) don't, so let's include it explicitly (the correct thing to do). Fixes: b9d2515704ac83cacd88d0a73ecba30323df0b2d Change-Id: I67ddf550f3a7fc6a650e1e1d9bde0bbb28785104
2019-08-01Drop old README information, provide new updated READMEPau Espin Pedrol4-137/+67
Previous content in README file is actually a description of the TRXD and TRXC protocols, and it has already been moved to the User Manual some time ago. INSTALLATION contained README related information, but it was really out of date. So this commit basically drops those two files and provides a new README.md with content taken from Osmocom's OsmoTRX project wiki page. Change-Id: I3df00799ce80aa4af43225e69a408ba2cbc444db
2019-08-01Move std_inband.rbf under device/usrp1/ dirPau Espin Pedrol4-7/+7
This file is only used by USRP1, so let's move it there and avoid processing it in Makefiles if build for USRP1 is not requested at configure time. Change-Id: Ibb40ba487581e76d2ae3e8a420d631670f876cf0
2019-08-01Move README.DFEsymbolspaced to utils/matlabPau Espin Pedrol1-0/+0
Change-Id: Icccc18688ee54e669cf3452b08747b3509042fa2
2019-08-01Move Transceiver52/README to UserManualPau Espin Pedrol3-37/+27
Change-Id: Ib5a56cfe0c27d027bc0c60abda89e646a80849de
2019-08-01Move matlab files under utils/matlabPau Espin Pedrol2-0/+0
Change-Id: I15b687fbf436d662b264cb00f72b367ccd64b962
2019-08-01Move inband-signaling-usb documentation to UserManualPau Espin Pedrol3-314/+305
Change-Id: I4d6ef1f54f3d6c5a73ce00dc4640bd698f96842b
2019-08-01lms: Drop rx_underruns rate ctr, add tx_drop_* rate ctrPau Espin Pedrol8-53/+104
After discussion in [1] and further look at the code, it became obvios rx_underrun events are not happening in general for any SDR (don't exist), so let's drop that counter. Instead, add Tx Dropped Packet counters, which were not accounted prior to this commit. [1] https://github.com/osmocom/osmo-trx/commit/bde55afd29fc9aae10eb11f6515821afa39b772d Change-Id: Iff1535c219a4695a511d383d7c4b06ef6eff959d
2019-07-30jenkins.sh: Workaround libusrp build race conditonPau Espin Pedrol1-1/+1
When submitting patches to osmo-trx in gerrit, sometimes the jenkins job fails due to libusrp failing to build. I never have this issue in on my workstation. Let's disable parallel make and see if we can avoid it for now. Related: OS#3970 Change-Id: I24bc54f5872e8edb9fab5b88055a00cebe1a6911
2019-07-29usrp1: don't check for non-null underrun pointerPau Espin Pedrol1-2/+2
The pointer can't never be null, so avoid checking it. Change-Id: I12e14641713a6494bc89570f02cecfc6f8fd4b5e
2019-07-29radioInterface: Clarify how underruns are handled driving a radioDevicePau Espin Pedrol1-1/+3
The underrun parameter in radioDevice's readSamples() is not a "Rx Underrun" event, but rather it's used to retrieve a "Tx Underrun" which on some SDRs (like USRP1) seems to be (so far) available only at readSamples() times. Thus, underrun parameter for both readSamples() and writeSamples() is actually flagging the same event, and should be ORed in pushBuffer() as it's already done in pullBuffer(). Otherwise if implementation is setting the underrun pointer to false, it could erase the flag being marked by the counterpart function before isUnderrun() is called (which is the one responsible to clear the flag). Change-Id: Id549489fc1485e0d762818c8e682aaddd5041f1c
2019-07-29Remove unused autogen.shPau Espin Pedrol3-1585/+1
autoreconf is used instead, as done in all of the osmocom projects. Change-Id: I87676cdf6818b4250f478962baf96ad5f28564d5
2019-07-29Remove empty ChangeLog fnd NEWS filesPau Espin Pedrol2-0/+0
We already have debian/changelog for same purpose. This file is empty and doesn't exist on other osmocom projects. Change-Id: I5a90107476ca116bebc8569f4eb1db0fa25807a6
2019-07-24manuals/configuration.adoc: fix copy-paste error in config exampleVadim Yanitskiy1-1/+1
Change-Id: If9de32eed8170038c8c177c8996c78846dddb624
2019-07-23Transceiver: Clean up code passing parameters to threadsPau Espin Pedrol2-45/+37
TransceiverChannel naming was misleading there. It's simply a data type used to pass 2 parameters through the void* of the thread entry function, so let's clearly specify is a storage for thread params. Furthermore, we don't need a full C++ class for that, let's simply use a struct. Change-Id: I6e3898a8a66520cc5b2a7df9b9ae01b0b272387f
2019-07-23Transceiver: Store TRXD version per channelPau Espin Pedrol2-8/+9
The setting is negotiatied by osmo-bts-trx on each channel, so let's keep and use state per channel instead of overwriting the state from different channels. Take the chance to change related log lines to also print the channel number. Change-Id: If9cf95e89d38d0155ab48b8c0977ca5f381c2aad
2019-07-22Bind CTRL port to IP addr specified in VTY configPau Espin Pedrol1-1/+1
Before this commit, osmo-trx was always setting its CTRL socket to listen on Change-Id: I61a06c1b9c20a906e7030f824a93370d041be7b9
2019-07-22Add SPDX annotationPau Espin Pedrol61-3/+139
Related: OS#3515 Change-Id: I3719bd8dc015569ecd81928fc079e27593cdca09
2019-07-22cosmetic: Fix trailing whitespace in several filesPau Espin Pedrol13-41/+40
Change-Id: Ifafb68353960fc5046661854ccfb8d783b0efb14
2019-07-22debian/copyright: Add missing file Utils.* to LGPL-2.1+ listPau Espin Pedrol1-0/+2
Change-Id: I36b8b8be48ae8676688786f39008d08b61011ede
2019-07-22debian/copyright: Update wrong paths in license listPau Espin Pedrol1-3/+3
Those paths were moved into a subdir a while ago, but this file was not updated at the time. Change-Id: I1857338b7a19e2a37f62386ceb4a1fad988272ba
2019-07-22debian/copyright: Remove non existent radioInterfaceDiversity.cpp from listPau Espin Pedrol1-1/+0
Change-Id: I5cfbbafd411e580421f86df6817f91261aceda7e
2019-07-21radioInterface.cpp: Fix missing member initialization of RadioInterface()Harald Welte1-1/+2
Change-Id: I7264ef35dbe6d3522858eae5b47d150aa1ffe334 Closes: CID#169594
2019-07-21CorrelationSequence: fix initialization of class membersHarald Welte1-1/+1
Change-Id: Ia72395f8805e9e2cd700ad1e559a8aa62124aaec Closes: CID#149371
2019-07-21ChannelizerBase: fix initialization of class membersHarald Welte1-1/+2
Change-Id: I8c047c8f98e928a62dca1d7b8c003502727c086e Closes: CID#149374
2019-07-21Timeval: Restore output stream flags after changing themHarald Welte1-1/+2
Change-Id: I866505f29ed56d8f3ba3aaba70c0d82479987c64 Closes: CID#149361
2019-07-20trxd_fill_common(): fix TRXD header version codingVadim Yanitskiy1-1/+1
The header version field is 4 bit long, so the mask 0x07 == 0b111 is wrong, it should actually be 0x0f == 0b1111. Change-Id: I290931559ce01cf6e43470b18855c46808d6c2a5
2019-07-20proto_trxd.c: Use bit-wise AND, not boolean ANDHarald Welte1-1/+1
Change-Id: I974c91be7cc119b44c2fb0c53d08009c87de7bf1 Related: CID#202038
2019-07-19Transceiver: Initialize mExtRACH in constructorPau Espin Pedrol1-1/+2
Doing so should make Coverity happy: >>> CID 200212: Uninitialized members (UNINIT_CTOR) >>> Non-static class member "mExtRACH" is not initialized in this constructor nor in any functions that it calls. The current status is actually harmless since the field will be set during init() time, and the variable is never used before init() is called. Fixes: Coverity CID#200212 Change-Id: I17286570a9a6db695a75147e5cbb18c9da7d0fe6
2019-07-19driveTxPriorityQueue(): enrich logging messageVadim Yanitskiy1-1/+3
Change-Id: If25c2171f7d1ab98d65f0dbf93d0d8a5a635caf7
2019-07-19driveTxPriorityQueue(): check if message header format is supportedVadim Yanitskiy1-0/+12
Change-Id: I17abf95f5e23236abccc50476cd59931580f5cd3
2019-07-19driveTxPriorityQueue(): use trxd_hdr_common for message parsingVadim Yanitskiy1-6/+10
Change-Id: If6a93e2b7fc9ada55edbdd16352cd4f7040e3d2a
2019-07-19driveTxPriorityQueue(): cosmetic: use proper type for TDMA TNVadim Yanitskiy1-1/+1
Change-Id: I8396004616754f84fb465c972fde9e91b18cc49b