aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-09-21lms,uhd: Validate band of RxFreq tooPau Espin Pedrol2-0/+34
So far the validation is only done on TxFreq for all TRX. Let's also do it for RxFreq. Change-Id: I30eef2727ee96b1344aa1416edd66e2302b88964
2021-09-21lms: Drop duplicated checkPau Espin Pedrol1-6/+0
Same check is already done by set_band(). Change-Id: I48d14f35e83fa17d1a8f4154479f0a5cee0f816d
2021-09-03computeCI: Document hardcoded multiplierPau Espin Pedrol1-1/+7
Logarithm change of base rule is used. Document it so it's clear where it comes from. Change-Id: Ia588e8dafda4e1abe0721f12491661949339a1ba
2021-09-03d/patches/build-for-debian8.patch: removeOliver Smith3-66/+0
Remove this workaround, as we are not building for debian 8 anymore. Related: OS#5223 Depends: osmo-ci Ibe7ba124557969df62798ba49c4489e9606c2341 Change-Id: I5519075a7f95fa61b0b5f1825e4e9324b9eede76
2021-09-01cosmetic: Fix typo in commentPau Espin Pedrol1-1/+1
Change-Id: I33f4253cecab8d92eec75af49e1671874b8cc111
2021-09-01detectGeneralBurst(): Increase log level about clipping to INFOPau Espin Pedrol1-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
2021-09-01computeCI(): Constify read-only variablePau Espin Pedrol1-3/+1
Change-Id: Ia157b970db92eef252c3657b35607307b7ebf988
2021-09-01computeCI(): Rename verbose repeated getter to constantPau Espin Pedrol1-4/+5
Change-Id: I9b426d01a282f572c0b915c5666642dce4c60475
2021-09-01computeCI(): Constify param and pass it as referencePau Espin Pedrol1-1/+1
Change-Id: Icba5fce57c858bd16196ae3012c100c7e4134335
2021-09-01detectBurst(): constify parameterPau Espin Pedrol1-2/+2
Change-Id: I3d8738b492a175f2ef0c570579e335e7b7695694
2021-09-01detectBurst(): Clear downsampling code pathPau Espin Pedrol1-8/+12
downsampleBurst() and the Resampler below it clearly only support or are confgiured for 1<->4 setup currently. Change-Id: Iebaff7a34bd24e56627f148182859918accbfa82
2021-07-11lms: init bandEric1-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
2021-06-16vty: printing fn offset should be signedEric1-1/+1
...because it is usually negative Change-Id: I8297dbb0fec25720e73d59fd8e38834029154405
2021-06-04Use new stat item/ctr getter APIsPau Espin Pedrol2-15/+16
Change-Id: I1fdfdae2810c3c82ff62fe725ffa364df4ebeff5
2021-05-29uhd: ensure configured clock source is actually usedEric1-0/+14
We wouldn't want to get caught running with unlocked external clock sources, right?! Change-Id: Ie38d85617f46eb5ab7d9527ddf6aaab4d3edf6bf
2021-05-27ctrl_sock_handle_rx(): fix missing space in LOGCHAN() statementVadim Yanitskiy1-1/+1
Change-Id: I3c69d64dfe79dcc815e1d412569ed4e9ed428c52
2021-05-05add hidden fn adjustment commandEric3-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
2021-04-16gitignore: remove non-existing 'doc/manuals/osmomsc-usermanual.xml'2021q1Vadim Yanitskiy1-1/+0
Change-Id: If0fef3f12f15780ed3a3e33db25cd29082ff142a
2021-03-01ipc: Makefile.am: Clean LDADD variablePau Espin Pedrol1-1/+2
Change-Id: I26c942496ab12883a4a1e0d549cb462642570636
2021-03-01Threads: Avoid printing pthread_self()Pau Espin Pedrol1-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
2021-03-01Drop logging pthread IDPau Espin Pedrol2-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
2021-03-01Threads.cpp: Fix missing extern C around libosmocore includePau Espin Pedrol1-0/+2
Change-Id: I76975ed71382ff2afa8cfaff2950e23ff750201e
2021-02-28Bump version: 1.3.0.1-e2404 → 1.3.11.3.1Harald Welte1-0/+6
Change-Id: I559b8d8608b3e492ae1ba0d5a54e226ab424b23b
2021-02-28mark uhddev_ipc.cpp as BUILT_SOURCESHarald Welte1-2/+3
fixes "make dist-bzip2" on a clean checkout Closes: OS#5052 Change-Id: Ieb4cefb16c8f43e708a96353c13342fe40ffdb54
2021-02-23Bump version: 1.2.0.132-3b8f-dirty → 1.3.01.3.0Pau Espin Pedrol6-14/+164
Change-Id: I92b99ebab1d54e9cbdc8469d76105c55bcb03f36
2021-02-21Add a (hidden) VTY parameter for Rx/Tx freq. shiftingVadim Yanitskiy4-3/+22
Change-Id: I360e8ba91471757210c7f096c04928a6fbb91c61 Related: SYS#4454
2021-02-19tests: Replace deprecated API log_set_print_filenamePau Espin Pedrol1-1/+1
Change-Id: I3cc0a92da39ab2594b3a7cefb314e2f2ecb628e2
2021-02-19tests: Explicitly drop category from logPau Espin Pedrol1-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
2021-02-17Replace my_gettid with libosmocore osmo_gettid APIPau Espin Pedrol5-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
2021-02-17Threads.cpp: Use already existing gettid wrapper functionPau Espin Pedrol1-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
2021-02-04sigProcLib: fix C/I computation for 8-PSK modulated burstsSylvain Munaut3-17/+38
Change-Id: I860af60bc0fbd36dfb38316fad65ddd3a5827a8f Related: Ib4ceec553f2e5f77bf3f6777724968456a180f5e Related: OS#4006, OS#4373
2021-01-28configure.ac: set -std=gnu11Oliver Smith1-0/+2
Change-Id: Ie95876d1d2ebf31ff588999d85584f6981522fa8
2021-01-27Transceiver: use proper factor for amplitude scalingVadim Yanitskiy1-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
2021-01-21Transceiver: fix integer division in addRadioVector()Vadim Yanitskiy1-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
2021-01-18ChannelizerBase: Fix memory leakPau Espin Pedrol1-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
2021-01-17radioInterfaceMulti: Fix memory leak upon close()Pau Espin Pedrol1-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
2021-01-13contrib/jenkins: don't build osmo-gsm-manualsOliver Smith1-1/+0
Related: OS#4912 Change-Id: Ibacb11da37acfd324cee37068099627136717781
2021-01-08osmo-trx.spec: move ipc-driver-test into package ipc-testAlexander Couzens1-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
2021-01-07manual: Fix typo OsmTRX -> OsmoTRXHarald Welte1-1/+1
Change-Id: I4b3a76e41d4abbb08046a241ae9b7c079ce990ae
2021-01-06README updateHarald Welte1-10/+8
* use https for hyperlinks * explicitly mention the primary use case with OsmoBTS * fix spelling in title Change-Id: I4f20ad8666dcc6bbc23d78b40b7c73ddd7e6eacc
2020-12-10ipc-driver-test: Allow setting dir prefix for UD socketPau Espin Pedrol2-10/+23
Change-Id: I35282b38a1d560fb3440fe0aa9a27808d9d116cc
2020-12-08vty: fix swapped documentation for 'filler type' commandVadim Yanitskiy1-1/+1
vty_cmd_string_from_valstr() expands the given 'struct value_string' sequentionally, so the order of entries in both filler_{types,docs} shall match (regardless of the value assigned). Change-Id: Ieb3bbc4fb30f303c47555ca77d03a9e965bc72b5
2020-12-07ipc: Fix wrong reference to BTS in log linePau Espin Pedrol1-1/+1
Change-Id: Idd272959e335c46ca88e348dd792e15ddb317d61
2020-11-25main: generate coredump and exit upon SIGABRT receivedPau Espin Pedrol1-0/+11
Previous code relied on abort() switching sigaction to SIG_FDL + retriggering SIGABRT in case the signal handler returns, which would then generate the coredump + terminate the process. However, if a SIGABRT is received from somewhere else (kill -SIGABRT), then the process would print the talloc report and continue running, which is not desired. Change-Id: I3a3ff56cb2d740a33731ecfdf76aa32606872883 Fixes: OS#4865
2020-11-11Use osmo_fd_*_{disable,enable}Harald Welte5-17/+18
Change-Id: Ic8c8c418e123fbdff625556a900b19650deefe0b Depends: libosmocore.git Idb89ba7bc7c129a6304a76900d17f47daf54d17d
2020-11-04doc/manuals: generate XML VTY reference at build-timeVadim Yanitskiy6-1413/+70
Unfortunately, we cannot re-use the existing Makefile rules from: $(OSMO_GSM_MANUALS_DIR)/build/Makefile.vty-reference.inc because they do not allow to generate the list of $(DOCBOOKS) from a template, and require the project to store everything in separate folders with specific names. Also, those rules expect that the target PDFs contain only a single word in their names (for example, 'osmoapp-vty-reference', not 'osmo-app-vty-reference'), while in a project with multiple similarly named targets this would reduce readability (imagine 'osmotrxuhd-vty-reference'). Change-Id: I798ea3b7417b8ca3e9c7d50911158c5413526237 Depends: I6aac73d998c5937894233631e654a160d5623198 Related: SYS#4937, SYS#4910
2020-11-04main: use logging API to print SIMD info instead of printf()Vadim Yanitskiy1-29/+33
Otherwise these logging lines end up in the automatically generated XML VTY reference (stdout), so this breaks further XML processing. Change-Id: I8e0fd728d406e2452c9c0ddad5bce5f6b17fab42 Related: SYS#4937, SYS#4910
2020-11-04vty: fix documentation for 'ext-rach (disable|enable)'Vadim Yanitskiy1-1/+3
Do not use 'extended' because it's not the same 11-bit Access Burst, as it was assumed before. Add missing docs for 'enable'/'disable'. Change-Id: I80b5a584e554eb7cc2416017b10fee032202b372
2020-11-02vty: auto-generate cmd and doc strings for cfg_filler_type_cmdVadim Yanitskiy1-14/+21
Change-Id: I7fb228c63f3246f443ece67106abba0432b1659e
2020-11-02vty: remove groundless statement about filler type 'dummy'Vadim Yanitskiy1-2/+1
Dummy bursts have nothing to do with A5/x encryption, and I see no reason why (and how?!?) would using that filler type break encryption in osmo-bts-trx. I asked the author of this code back in August 2020 [1], and so far didn't get any response. [1] https://lists.osmocom.org/pipermail/openbsc/2020-August/013208.html Change-Id: Iae513d7acbb8ef682e1744ac8726cbd6ece8bd87