aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* tests: use 'check_PROGRAMS' instead of 'noinst_PROGRAMS'2022q2Vadim Yanitskiy2022-04-132-3/+3
| | | | | | | | When using 'check_PROGRAMS', autoconf/automake generates smarter Makefiles, so that the test programs are not being compiled during the normal 'make all', but only during 'make check'. Change-Id: I816689e2aeac9decbc44ba210956a929cc7a3169
* treewide: remove FSF address2022q12021q4Oliver Smith2021-12-1425-100/+0
| | | | | | | | | Remove the paragraph about writing to the Free Software Foundation's mailing address. The FSF has changed addresses in the past, and may do so again. In 2021 this is not useful, let's rather have a bit less boilerplate at the start of source files. Change-Id: I8ba71ab9ccde4ba25151ecbeb2a323f706b57d43
* Bump version: 1.3.1.28-019d-dirty → 1.4.01.4.0Pau Espin Pedrol2021-11-165-10/+49
| | | | Change-Id: Ie675909593b0c383b59b7b4a4edd46cd93283622
* LMSDevice: LMS_GetDeviceList() may return a negative numberVadim Yanitskiy2021-10-251-3/+4
| | | | | Change-Id: I855bd8ea6d9cb0f285f4dbbf3bcd09bff4e71044 Fixes: CID#240718
* IPCDevice: check value returned from select()Vadim Yanitskiy2021-10-251-1/+6
| | | | | Change-Id: I1c823317659547bb2391c57ac4d7931de1a383e3 Fxies: CID#240744
* IPCDevice: use thread safe strerror_r() instead of strerror()Vadim Yanitskiy2021-10-251-3/+7
| | | | Change-Id: Ia51ffa51ec7729572faca0282ae41c1e4968049f
* trx_rate_ctr: use thread safe strerror() in device_sig_cb()Vadim Yanitskiy2021-10-251-2/+5
| | | | Change-Id: Ibd52af22bbe99652f402ada87410de167a124b73
* lms,uhd: Allow changing band between poweroff & poweronPau Espin Pedrol2021-09-214-7/+16
| | | | | | | | | | Before this patch, reconnecting to osmo-trx and attempting to configure it for another band is not going to work without restarting the process. The new variable is added in order to still allow POWEROFF followed by a POWERON without need to reconfigure the device. In that case, previous configuration is kept. Change-Id: I43e5e1e4dcb36be605c6bd25dd6a5f3649e244e7
* lms,uhd: Skip re-assigning same bandPau Espin Pedrol2021-09-212-4/+8
| | | | | | | There's no need to spend time looking up again the same band description. Change-Id: I6f5631c9e64b9c261d52a856d757d08d2f336947
* lms,uhd: Validate band of RxFreq tooPau Espin Pedrol2021-09-212-0/+34
| | | | | | | So far the validation is only done on TxFreq for all TRX. Let's also do it for RxFreq. Change-Id: I30eef2727ee96b1344aa1416edd66e2302b88964
* lms: Drop duplicated checkPau Espin Pedrol2021-09-211-6/+0
| | | | | | Same check is already done by set_band(). Change-Id: I48d14f35e83fa17d1a8f4154479f0a5cee0f816d
* computeCI: Document hardcoded multiplierPau Espin Pedrol2021-09-031-1/+7
| | | | | | | Logarithm change of base rule is used. Document it so it's clear where it comes from. Change-Id: Ia588e8dafda4e1abe0721f12491661949339a1ba
* d/patches/build-for-debian8.patch: removeOliver Smith2021-09-033-66/+0
| | | | | | | | Remove this workaround, as we are not building for debian 8 anymore. Related: OS#5223 Depends: osmo-ci Ibe7ba124557969df62798ba49c4489e9606c2341 Change-Id: I5519075a7f95fa61b0b5f1825e4e9324b9eede76
* cosmetic: Fix typo in commentPau Espin Pedrol2021-09-011-1/+1
| | | | Change-Id: I33f4253cecab8d92eec75af49e1671874b8cc111
* detectGeneralBurst(): Increase log level about clipping to INFOPau Espin Pedrol2021-09-011-1/+1
| | | | | | | | | | There's another related logging line also at INFO level in the caller path in Transceiver.cpp, but it only prints if detectBurst() failed. Let's print this one as INFO too, which proved to be a good logging level. This way user also notices gain is too high despite osmo-trx is still able to decode bursts. Change-Id: Ieca4f19ae1099a430e9b838f8b6780b1c61a87a9
* computeCI(): Constify read-only variablePau Espin Pedrol2021-09-011-3/+1
| | | | Change-Id: Ia157b970db92eef252c3657b35607307b7ebf988
* computeCI(): Rename verbose repeated getter to constantPau Espin Pedrol2021-09-011-4/+5
| | | | Change-Id: I9b426d01a282f572c0b915c5666642dce4c60475
* computeCI(): Constify param and pass it as referencePau Espin Pedrol2021-09-011-1/+1
| | | | Change-Id: Icba5fce57c858bd16196ae3012c100c7e4134335
* detectBurst(): constify parameterPau Espin Pedrol2021-09-011-2/+2
| | | | Change-Id: I3d8738b492a175f2ef0c570579e335e7b7695694
* detectBurst(): Clear downsampling code pathPau Espin Pedrol2021-09-011-8/+12
| | | | | | | downsampleBurst() and the Resampler below it clearly only support or are confgiured for 1<->4 setup currently. Change-Id: Iebaff7a34bd24e56627f148182859918accbfa82
* lms: init bandEric2021-07-111-1/+3
| | | | | | | | Gain setting without a band was apparently led to a very low output level, thanks to defog for pointing this out. Change-Id: I8b59d38dd7b0781776c9e61226185879541fdc53 Related: OS#3342
* vty: printing fn offset should be signedEric2021-06-161-1/+1
| | | | | | ...because it is usually negative Change-Id: I8297dbb0fec25720e73d59fd8e38834029154405
* Use new stat item/ctr getter APIsPau Espin Pedrol2021-06-042-15/+16
| | | | Change-Id: I1fdfdae2810c3c82ff62fe725ffa364df4ebeff5
* uhd: ensure configured clock source is actually usedEric2021-05-291-0/+14
| | | | | | | We wouldn't want to get caught running with unlocked external clock sources, right?! Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf
* ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statementVadim Yanitskiy2021-05-271-1/+1
| | | | Change-Id: I3c69d64dfe79dcc815e1d412569ed4e9ed428c52
* add hidden fn adjustment commandEric2021-05-053-1/+19
| | | | | | | | This is only useful if the rf path delays the signal by at least one frame, and therefore a fairly experimental command that might be removed or reworked in the future and should not be relied upon. Change-Id: I29964acffad5bad4f5bcad7f631e435a72979c46
* gitignore: remove non-existing 'doc/manuals/osmomsc-usermanual.xml'2021q1Vadim Yanitskiy2021-04-161-1/+0
| | | | Change-Id: If0fef3f12f15780ed3a3e33db25cd29082ff142a
* ipc: Makefile.am: Clean LDADD variablePau Espin Pedrol2021-03-011-1/+2
| | | | Change-Id: I26c942496ab12883a4a1e0d549cb462642570636
* Threads: Avoid printing pthread_self()Pau Espin Pedrol2021-03-011-2/+2
| | | | | | | | | The type used to represent a thread ID is implementation specific, and may be an opaqe structure, making it unsuitable to be printed by standard means. Let's use osmo_gettid() instead. Change-Id: Iaa4d0eaf52b901fff06cc67f8dd8b61ac6084911 Related: OS#5032
* Drop logging pthread IDPau Espin Pedrol2021-03-012-11/+6
| | | | | | | | | | | | | | new libosmocore osmo-trx already depends on does support printing thread ID as prefix to all messages (confgiurable through VTY), so there's no use in printing it in osmo-trx unconditionally. Moreover, The type used to represent a thread ID is implementation specific, and may be an opaqe structure, making it unsuitable to be printed by standard means, so in any case we should be better printing system's TID instead. Related: OS#5032 Change-Id: Ie98a21246230c946afc47f4f5b9c6618eefde494
* Threads.cpp: Fix missing extern C around libosmocore includePau Espin Pedrol2021-03-011-0/+2
| | | | Change-Id: I76975ed71382ff2afa8cfaff2950e23ff750201e
* Bump version: 1.3.0.1-e2404 → 1.3.11.3.1Harald Welte2021-02-281-0/+6
| | | | Change-Id: I559b8d8608b3e492ae1ba0d5a54e226ab424b23b
* mark uhddev_ipc.cpp as BUILT_SOURCESHarald Welte2021-02-281-2/+3
| | | | | | | fixes "make dist-bzip2" on a clean checkout Closes: OS#5052 Change-Id: Ieb4cefb16c8f43e708a96353c13342fe40ffdb54
* Bump version: 1.2.0.132-3b8f-dirty → 1.3.01.3.0Pau Espin Pedrol2021-02-236-14/+164
| | | | Change-Id: I92b99ebab1d54e9cbdc8469d76105c55bcb03f36
* Add a (hidden) VTY parameter for Rx/Tx freq. shiftingVadim Yanitskiy2021-02-214-3/+22
| | | | | Change-Id: I360e8ba91471757210c7f096c04928a6fbb91c61 Related: SYS#4454
* tests: Replace deprecated API log_set_print_filenamePau Espin Pedrol2021-02-191-1/+1
| | | | Change-Id: I3cc0a92da39ab2594b3a7cefb314e2f2ecb628e2
* tests: Explicitly drop category from logPau Espin Pedrol2021-02-191-0/+2
| | | | | | | | | | | Let's disable category here since we don't care about its formatting here. In any case, every test relying on logging output validation should always explicitly state the config to avoid issues in the future if default values change. Change-Id: Iaa77f8a7d3f752173507afd988bd76a8aa632082 Related: OS#5034
* Replace my_gettid with libosmocore osmo_gettid APIPau Espin Pedrol2021-02-175-39/+7
| | | | | | | | | The API was moved to libosmocore, let's use it instead of defining our own here with all the complexity in build system involved. Depends: libosmocore.git Change-Id Id7534beeb22fcd50813dab76dd68818e2ff87ec2 Related: OS#5027 Change-Id: I19e32fbc47bd88a668e0c912e89b001b0f8831dd
* Threads.cpp: Use already existing gettid wrapper functionPau Espin Pedrol2021-02-171-7/+1
| | | | | | | | A wrapper function with better support already exists in debug.c and announced in debug.h. Let's use that one instead. Related: OS#5027 Change-Id: I2ccf94f95a531d5873da2a4681cf89cbc5b31422
* sigProcLib: fix C/I computation for 8-PSK modulated burstsSylvain Munaut2021-02-043-17/+38
| | | | | | Change-Id: I860af60bc0fbd36dfb38316fad65ddd3a5827a8f Related: Ib4ceec553f2e5f77bf3f6777724968456a180f5e Related: OS#4006, OS#4373
* configure.ac: set -std=gnu11Oliver Smith2021-01-281-0/+2
| | | | Change-Id: Ie95876d1d2ebf31ff588999d85584f6981522fa8
* Transceiver: use proper factor for amplitude scalingVadim Yanitskiy2021-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | In Transceiver::addRadioVector() we scale the I/Q samples by scaling the output voltage of the DAC. A relative factor/divisor/ration in the voltage domain cannot be used 1:1 in the power domain. There exist two similar formulas: a) X_dB = 10 * log10(X_lin / X_ref) b) Y_db = 20 * log10(Y_lin / Y_ref) both of them are correct, and according to [1]: a) If you convert a quantity X that relates to power or energy, => the factor is 10. b) If you convert a quantity Y that relates to amplitude, => the factor is 20. Therefore we should be using 20 instead of 10. This change makes osmo-trx apply per-lchan attenuation values correctly. Otherwise it would double the values indicated in TRXD messages. [1] https://dspillustrations.com/pages/posts/misc/decibel-conversion-factor-10-or-factor-20.html Change-Id: I98bc00bd25df4913d45e55eb008d715aca76fc7c Related: SYS#4918
* Transceiver: fix integer division in addRadioVector()Vadim Yanitskiy2021-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | By default, C/C++ compiler does assume integer division. The lack of explicit cast to 'double' causes the transceiver to ignore non-decimal attenuation values (x % 10 > 0): txFullScale * 10 ^ ( -3 / 10) == txFullScale * 10 ^ 0 == txFullScale * 1.0 txFullScale * 10 ^ ( -8 / 10) == txFullScale * 10 ^ 0 == txFullScale * 1.0 txFullScale * 10 ^ (-10 / 10) == txFullScale * 10 ^ -1 == txFullScale * 0.1 txFullScale * 10 ^ (-18 / 10) == txFullScale * 10 ^ -1 == txFullScale * 0.1 Change-Id: I85b1063f57f630d90c6da32827bec4a05afc6514 Related: SYS#4918
* ChannelizerBase: Fix memory leakPau Espin Pedrol2021-01-181-0/+1
| | | | | | | | | | | | | | | | The memory leak was reported by ASan: Direct leak of 32 byte(s) in 1 object(s) allocated from: #0 0x7f23b488e459 in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:145 #1 0x558e83e39e3c in ChannelizerBase::initFilters() /osmo-trx/Transceiver52M/ChannelizerBase.cpp:84 #2 0x558e83e3a8a0 in ChannelizerBase::init() /osmo-trx/Transceiver52M/ChannelizerBase.cpp:188 #3 0x558e83e2d263 in RadioInterfaceMulti::init(int) /osmo-trx/Transceiver52M/radioInterfaceMulti.cpp:197 #4 0x558e83de76d2 in makeRadioInterface(trx_ctx*, RadioDevice*, int) /osmo-trx/Transceiver52M/osmo-trx.cpp:115 #5 0x558e83dea663 in trx_start /osmo-trx/Transceiver52M/osmo-trx.cpp:600 #6 0x558e83dead6f in main /osmo-trx/Transceiver52M/osmo-trx.cpp:695 #7 0x7f23b2576151 in __libc_start_main (/usr/lib/libc.so.6+0x28151) Change-Id: Ibc4c7edeb9bba517db08fce152d863e6cc0c7bbb
* radioInterfaceMulti: Fix memory leak upon close()Pau Espin Pedrol2021-01-171-0/+4
| | | | | | | | | | | | | | The leak was reported by ASan. Direct leak of 48 byte(s) in 1 object(s) allocated from: #0 0x7fd9c9c29f41 in operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cpp:99 #1 0x55bd63ae2364 in RadioInterfaceMulti::init(int) /git/osmo-trx/Transceiver52M/radioInterfaceMulti.cpp:209 #2 0x55bd63a9c6d2 in makeRadioInterface(trx_ctx*, RadioDevice*, int) /git/osmo-trx/Transceiver52M/osmo-trx.cpp:115 #3 0x55bd63a9f663 in trx_start /git/osmo-trx/Transceiver52M/osmo-trx.cpp:600 #4 0x55bd63a9fd6f in main /git/osmo-trx/Transceiver52M/osmo-trx.cpp:695 #5 0x7fd9c7910151 in __libc_start_main (/usr/lib/libc.so.6+0x28151) Change-Id: Ia4f9d4e47caa86ada98054763573e652d281992c
* contrib/jenkins: don't build osmo-gsm-manualsOliver Smith2021-01-131-1/+0
| | | | | Related: OS#4912 Change-Id: Ibacb11da37acfd324cee37068099627136717781
* osmo-trx.spec: move ipc-driver-test into package ipc-testAlexander Couzens2021-01-081-1/+13
| | | | | | | | Allow to drop the uhd runtime dependency of osmo-trx-ipc. uhd is only required for the driver-test utility. Related: SYS#5266 Change-Id: Iff91e09684167247c9c7de0141451a5b9344aa0d
* manual: Fix typo OsmTRX -> OsmoTRXHarald Welte2021-01-071-1/+1
| | | | Change-Id: I4b3a76e41d4abbb08046a241ae9b7c079ce990ae
* README updateHarald Welte2021-01-061-10/+8
| | | | | | | | * use https for hyperlinks * explicitly mention the primary use case with OsmoBTS * fix spelling in title Change-Id: I4f20ad8666dcc6bbc23d78b40b7c73ddd7e6eacc
* ipc-driver-test: Allow setting dir prefix for UD socketPau Espin Pedrol2020-12-102-10/+23
| | | | Change-Id: I35282b38a1d560fb3440fe0aa9a27808d9d116cc