aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M
AgeCommit message (Collapse)AuthorFilesLines
2018-04-28osmo-trx: s/GSM Core Address/GSM BTS Address/Harald Welte1-1/+1
The TRX connects to the BTS, not to the "Core". The Core network is miles away... Change-Id: I6de2f708fc7a7df7dea16314b7dfa4ab82f15b2c
2018-04-28build: More OBS build failure fixesPau Espin Pedrol1-4/+4
It seems the order in which static code and -lfoo is passed to the linker matters. Change-Id: I3b25be0154053ae8eb5f0a24c39fb9a229130fcf
2018-04-27build: Fix make distcheckPau Espin Pedrol3-4/+7
Change-Id: I1fa5e34b44331cd56408ea7ad4483dcf6443b259
2018-04-25Transceiver: log timing info of stale burstsPau Espin Pedrol1-1/+2
Change-Id: I043fd8199253bdf3912c7aec2ccf98f8cbe54251
2018-04-24Build one osmo-trx binary for each device support enabledPau Espin Pedrol2-11/+18
Same way as we do in osmo-bts. After this commit, osmo-trx no longer exists. Instead, osmo-trx-uhd and osmo-trx-usrp1 are generated based on configure flags enabled. A new flag --with(out)-uhd has been added to enable/disable build of osmo-trx with UHD backend. It is left enabled by default to keep compatibility with older build scripts. Binary with USRP1 backend must still be manually enabled with --with-usrp1 flag. Change-Id: Iea8c0d7434762713a53440d29bf3ebd84accb262
2018-04-24Transceiver: Move device specific code to radioDevice classPau Espin Pedrol6-7/+26
Change-Id: Ibcf258d8bf8595e286682e0bc59391b239ea7642
2018-04-24Move device specific code out of radioInterfacePau Espin Pedrol6-28/+36
This way code of radioInterface is independent of the device and doesn't need to be rebuild for each device. Change-Id: Id104e1edef02f863b6465ced5b4241050dc188f9
2018-04-24Change configure define USRP1 to DEVICE_USRP1Pau Espin Pedrol4-6/+6
Similar as we do for ARCH_*, it's easier to find those are related to device support features. Change-Id: Iba238bff689b8f944af76120402c0fa2e29a70de
2018-04-24Move device specific files to device subdirPau Espin Pedrol8-21/+48
Change-Id: Ib42fef14bf4c7b779f44d99711a35c18b32a4c21
2018-04-24Move arch specific fiels to arch subdirPau Espin Pedrol32-15/+18
Take the chance to update some includes using files available in that subdir to have them ina more uniform way. Change-Id: Ibda3c54fd4dc3f6b845cc373f1a1e6b758c1ea82
2018-04-16use osmo_init_logging2()Pau Espin Pedrol1-1/+1
Change-Id: I2c28e6e6e3eb9f587680b34330e03408e32c2b94
2018-03-14Transceiver.cpp: prevent out-of-range array accessVadim Yanitskiy1-8/+16
There was no a simple range check for both (NO)HANDOVER commands, so an out-of-range access was possible. For example, a command: CMD HANDOVER 0 -3 might enable EDGE at run-time, because: a[i] == *(a + i) Let's fix this. Change-Id: I24a5f70e8e8097f218d7cbdef8cb10df2c35416f
2018-03-14Transceiver.cpp: fix incorrect format string for SETTSCVadim Yanitskiy1-1/+1
Change-Id: If69a478121a31aa7df945548cc17271c476d6a6b
2018-03-14Transceiver.cpp: use pointer arithmetics for CMD parsingVadim Yanitskiy1-51/+64
It looks like the author of control command parsing code was not familar with simple pointer arithmetics, so excessive amount of memory and useless memcopying was used to parse a single command. Let's introduce two pointers, one of which will point to the beginning of a command, another to the beginning of its arguments. Also, let's simplify the command matching by using a separate function called 'MATCH_CMD'. Change-Id: I226ca0771e63228cf5e04ef9766057d4107fdd11
2018-03-14Transceiver.cpp: properly zero-terminate received commandsVadim Yanitskiy1-9/+9
Previously it was assumed that a sender should zero-terminate each command being sent. Otherwise, this could cause to printing garbage. Let's do this manually, using the length of received data as a position for '\0'. Change-Id: I69f413f33156c38a853efc5a8cdc66fbfb0ca6af
2018-03-14Transceiver.cpp: use a define for the MAX_PACKET_LENGTHVadim Yanitskiy1-2/+2
No need to keep this value on stack. Change-Id: If9ffb03b9e7b642f45732ba5938977bca271f1c7
2018-03-08Build Transceiver52M/common as an .la libPau Espin Pedrol4-14/+23
Stop picking files from that directory on different places as it causes dependency issues during make distclean/maintainer-clean. Fixes: OS#3029 Change-Id: I81bb4251d18fce978d27849b621b20f541caab0b
2018-03-07Makefile.am: Avoid using subdir if arch is not requiredPau Espin Pedrol3-5/+5
There's no need in going a level deeper if we already know nothing's going to be done. This way we also get cleaner make outputs. Reference: https://www.gnu.org/software/automake/manual/html_node/Conditional-Subdirectories.html#Conditional-Subdirectories Related: OS#3029 Change-Id: I3ff57ab14edc575904e8137929a0ef02c95e03af
2018-03-06osmo-trx: Re-introduce -l cmd line parameterPau Espin Pedrol1-1/+6
Parameter -l to set the terminal logging levle was removed in 3da1f8352e337fb032bf7a58c2909d3ba918e237, but afterwards it was decided to keep the cmd line options for a bit more to easy migration to VTY cfg. The command line no longer accepts keywords ("DEBUG", "INFO", etc.) but log level numbers, due to libosmocore APIs log_parse_level and log_level_str being marked as deprecated and for internal use only. Keep in mind the log level is overridden by VTY cfg if any line sets log levels for log stderr in there. Explicit cast to unsigned int for loglvel is issued to avoid iostream printing it as a char. Change-Id: I91c35ecded177b7976045d9b693855adb9e18f8a
2018-03-05osmo-trx: Use VTY cfg structures while still allowing cmd line optionsPau Espin Pedrol1-269/+187
Existing cmd line options are kept for a while to give people some time to move to use VTY cfg. All new cfg options should be set only through VTY. VTY options take preference (override) over cmd line options. Deprecated options are removed from help message to dissuade users from keep using them. Steps to drop cmd line options in the future: - Drop comma_delimited_to_vector, print_deprecated - Drop all options in handle_options marked with print_deprecated. - Set "-c" param to do the same as "-C", to keep compatibility with old param and still use same naming as all other osmocom projects. - Remove the hack in main() to set 1 channel implicitly by default. Change-Id: Ib8de1a5da4b3c0b6a49e00033f616e1d66656adf
2018-03-05vty: Implement VTY cfg parsing for current parametersPau Espin Pedrol1-1/+1
At this stage, osmo-trx still uses the cmdline parameters top run the device, but it is already able to parse all the same parameters from a cfg file through the VTY and filling a trx_ctx structure which will be later used to drive the device. Device config can be printed in the VTY with "show trx". Change-Id: Ie084c1b30b63f91c6e7640832ec1797d9e813832
2018-03-05Move enums required by VTY to a separate headerPau Espin Pedrol4-40/+34
This patch is a preparation for next patches, which add full VTY cfg support. Change-Id: I3d5b0576aa96869756f1629a40306c0043b6304b
2018-03-05osmo-trx.cpp: Move trx start and stop to helper functionsPau Espin Pedrol1-52/+66
Make main() smaller, and make it easier to replace cmdline parameters in following commits. Change-Id: I10eaaafe38ace2b7bb095a0ad1db70d6c06ee03b
2018-02-27Fix USRP1 build with support for setting Rx/TxAntennaAlexander Huemer1-0/+1
The USRP1 build was broken by commit 77ce99ac6720896f504a0581a5c57b2929a13cef. Commit 77ce99ac6720896f504a0581a5c57b2929a13cef broke the USRP1 build Change-Id: I28585947d5662cdd580a814cce54a5d9aa30eeb8
2018-02-27Logger: Use libosmocore logging systemPau Espin Pedrol1-12/+3
We still need an intermediate class Logger due to osmo-trx being multi-threaded and requiring to have a lock to use libosmocore, which is not thread safe. Change-Id: I30baac89f53e927f8699d0586b43cccf88ecd493
2018-02-27Add initial support for logging, vty, ctrlPau Espin Pedrol2-4/+58
Up to this point, the logging system, vty and ctrl are initialized and can be used fine, though they don't have a lot of use yet. Depends on libosmocore Change-Id Ib79cdb62d45d8c78445c7b064e58eb7e9faeccf9 Related: OS#2184 Change-Id: I08982c37b4f873966304b3cfb38a10ee86eb3dad
2018-02-22osmo-trx: Set up talloc ctxPau Espin Pedrol1-0/+14
Change-Id: I67f1980fc615ab74371cbe1c4f83e987381299bc
2018-02-22osmo-trx: set up signals using libosmocore helpersPau Espin Pedrol1-12/+20
Change-Id: I86e78cd6054d0deff1b1aa061299d9f307e2a352
2018-02-22Depend on libosmocorePau Espin Pedrol1-2/+3
Change-Id: If345c89293fcd7d1ad4f17214eea339951f25a5d
2018-02-20Logger: Drop syslog supportPau Espin Pedrol1-1/+1
This feature is currently not being used, so let's drop it to make it easier to integrate into libosmocore logging system in the future. Change-Id: I8282745ef0282d41599eaf94fe460a1d29b18e2a
2018-02-09UHDDevice: Initialize async_event_thrd in constructorPau Espin Pedrol1-1/+1
Fixes coverity CID 182757. It's actually a false warning because "async_event_thrd" member is protected by other member "started", so in practice it's never going to be used before being initialized in start(). Change-Id: I5d5739bc9d08fe533e4d44c3992005a14e568a4f
2018-02-07Add support to set Rx/TxAntennaPau Espin Pedrol5-10/+253
Some devices have different Rx or Tx ports with different RF characteristics. For instance LimeSDR has H (High), L (Low) and W (Wide) band Rx ports, each of one being more suitable to a specific range of frequencies. In case one wants to support several GSM bands, the best option is to use the WideBand port and connect the antenna physically to that port in the board. Then the firmware must be instructed ro read from that port. Support for Rx/Tx port configuration is already in there for all the layers (Limesuite, SoapySDR, SoapyUHD, UHD), but we are missing the required bits in osmo-trx to make use of the available UHD API. This commit addresses it. Before this patch, the Rx/Tx paths configured could be changed by means of the LimeSuiteGUI app, but after running osmo-trx, the values were changed to the default ones. One can now start using osmo-trx with 1 channel and specific Rx/Tx ports by using for instance: osmo-trx -c 1 -y BAND1 -z LNAW Default behaviour if no specific path or an empry path is passed ("") is to do the same as preiously, ie. nothing by not calling the set{T,R}xAntenna APIs. One can also configure only specific channels, for instance to configure only the first Tx channel and the second Rx channel: osmo-trx -c 2 -y BAND1, -z ,LNAW Change-Id: I1735e6ab05a05b0312d6d679b16ebd4a2260fa23
2018-02-05Fix whitespacePau Espin Pedrol3-48/+47
Change-Id: Icda84caa998614ce6c15d5118f8c5c1568ba9a79
2018-01-23Remove unneeded libdl dependencyPau Espin Pedrol1-1/+1
Closes: OS#1929 Change-Id: I0caea2a2a8e6bd07432fd73bae72b42b1ce022cd
2018-01-20Unbreak `./configure --with-usrp1` buildAlexander Huemer2-3/+5
Change-Id: I49b385594271ae64a48d4d39ee9fe26d7c95bd30
2018-01-11arm/convert.c: Add missing convert_init implementationPau Espin Pedrol1-0/+3
osmo-trx.cpp calls convert_init, which in case of building using --with-neon is not implemented and the compiler stops with an error. Error was introduced in 7e07cf23464532ca156fe4ea4430928da2cbbff1. Related: OS#2720 Change-Id: I9840d374d13b525b97f978ea0c5ed9e8421072a0
2018-01-11arm/convert.c: Fix compilation errorPau Espin Pedrol1-1/+0
Commit fe9769833fa74ea841f78c0e931130a70fc3aca9 aiming at cleaning stuff introduced a compilation error. Related: OS#2720 Change-Id: I6ce6e5ec3fdb1e3e8818e2cb674470ad54e38afb
2018-01-10Move ARCH_LA to Makefile.commonPau Espin Pedrol1-6/+0
It will later be used by other directories too (tests/Transceiver52M). Change-Id: I0ca9b7fc5e1377db971cb7da0b3496ba8d61c716
2018-01-09Remove Configuration module and libsqlite dependencyPau Espin Pedrol1-1/+1
Change-Id: I823aea91367d586507bbf352f1b6f25bdd635baa
2018-01-09Drop use of ConfigurationTable gConfigPau Espin Pedrol1-3/+0
After latest changes, it is not being used anymore. Change-Id: I43a49aee94e3239194ad9742fb6374324acac0de
2018-01-09cosmetic: Remove trailing whitespacePau Espin Pedrol1-2/+2
Change-Id: I64c8dbad3fc42bcb8dd4ac9b16bbd9c59a0cf5d5
2018-01-04Remove unused headersMax3-4/+1
Change-Id: Idadb17aeb85b011d114ffc1d81c920544bac1989
2017-12-04UHDDevice.cpp: add USRP B205mini supportPiotr Krysik1-0/+1
The B205mini is similar to the B200mini and runs OsmoTRX just fine, so let's make OsmoTRX recogonize and support it too. Change-Id: Iee575121248ea541f7abc49055e49ec2d30904c0
2017-08-16Add -j option to bind to specific addressPau Espin Pedrol3-15/+27
Before this patch, the binding of the listening sockets was hardcoded to a local IP. Change-Id: I9ba184a1251c823e413a9230943ed263e52142ec
2017-07-20Add '-t' command line option to enable SCHED_RRHarald Welte1-2/+29
SCHED_RR allows us to operate osmo-trx reliable even under exceptionally high system load, as the realtime scheduler priority will have higher priority than the other "regular" tasks on the system. Change-Id: Ia2452b9763960b2be37fbeee9d832554da68a53f Closes: OS#2344
2017-07-10LimeSDR: Fix sample value rangeignasj1-2/+1
when "sc16" stream arg is passed to SoapyUHD sample value range is -32768 to 32767 Change-Id: I58b8b6b71648bd9cbc105ddaaa9a7cf0a31b3d47
2017-07-10LimeSDR: change tx window type to TX_WINDOW_FIXEDignasj1-1/+1
It seems that TX_WINDOW_USRP1 is for devices that do not support tx sync to timestamp. LimeSDR supports it. Changing to TX_WINDOW_FIXED greatly reduces number of "dumping stale buffer" messages Modified to match current master by Harald Welte. Change-Id: I8de5b165ccd72a62b0f16655618e24ca740d9637
2017-07-10LimeSDR: Change device detection to work with USB and PCIe versionsignasj1-1/+1
Modified to match current master by Harald Welte. Change-Id: Ie43610de0b2196d84caf09717ec8c8ca75ab926d
2017-07-04transceiver: Avoid sending clock indications when trx is not powered onPau Espin Pedrol2-8/+6
Stop calling writeClockInterface() when receiving commands in Transceiver::driveControl, otherwise it fools osmo-bts-trx clock skew check because it is always sending a clock indication with the same fn when it issues any commands during the time in between CMD POWEROFF and RSP POWERON, because fn is not increased during that period. Also use mForceClockInterface flag to delay delivery of first IND CLOCK until we start serving frames, otherwise the first one is sent and only after a long period of time the next clock indications are sent, when the radio starts to process bursts. That makes osmo-bts-trx unhappy because it expects to receive an IND CLOCK aprox at least every 400 frames. This way also we send the first IND CLOCK after the RSP POWERON 0 response. Change-Id: I91b81a4d7627cec39c1814a39ed4be306681b874
2017-07-04cosmetic: transciever: Remove trailing whitespacesPau Espin Pedrol2-12/+11
Change-Id: Ib3fbe768048b2a34a75ace9688e306720e67019a