Age | Commit message (Collapse) | Author | Files | Lines |
|
The TRX connects to the BTS, not to the "Core". The Core network
is miles away...
Change-Id: I6de2f708fc7a7df7dea16314b7dfa4ab82f15b2c
|
|
It seems the order in which static code and -lfoo is passed to the
linker matters.
Change-Id: I3b25be0154053ae8eb5f0a24c39fb9a229130fcf
|
|
Change-Id: I1fa5e34b44331cd56408ea7ad4483dcf6443b259
|
|
Change-Id: I043fd8199253bdf3912c7aec2ccf98f8cbe54251
|
|
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
|
|
Change-Id: Ibcf258d8bf8595e286682e0bc59391b239ea7642
|
|
This way code of radioInterface is independent of the device and doesn't
need to be rebuild for each device.
Change-Id: Id104e1edef02f863b6465ced5b4241050dc188f9
|
|
Similar as we do for ARCH_*, it's easier to find those are related to
device support features.
Change-Id: Iba238bff689b8f944af76120402c0fa2e29a70de
|
|
Change-Id: Ib42fef14bf4c7b779f44d99711a35c18b32a4c21
|
|
Take the chance to update some includes using files available in that
subdir to have them ina more uniform way.
Change-Id: Ibda3c54fd4dc3f6b845cc373f1a1e6b758c1ea82
|
|
Change-Id: I2c28e6e6e3eb9f587680b34330e03408e32c2b94
|
|
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
|
|
Change-Id: If69a478121a31aa7df945548cc17271c476d6a6b
|
|
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
|
|
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
|
|
No need to keep this value on stack.
Change-Id: If9ffb03b9e7b642f45732ba5938977bca271f1c7
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
This patch is a preparation for next patches, which add full VTY cfg
support.
Change-Id: I3d5b0576aa96869756f1629a40306c0043b6304b
|
|
Make main() smaller, and make it easier to replace cmdline parameters in
following commits.
Change-Id: I10eaaafe38ace2b7bb095a0ad1db70d6c06ee03b
|
|
The USRP1 build was broken by commit 77ce99ac6720896f504a0581a5c57b2929a13cef.
Commit 77ce99ac6720896f504a0581a5c57b2929a13cef broke the USRP1 build
Change-Id: I28585947d5662cdd580a814cce54a5d9aa30eeb8
|
|
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
|
|
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
|
|
Change-Id: I67f1980fc615ab74371cbe1c4f83e987381299bc
|
|
Change-Id: I86e78cd6054d0deff1b1aa061299d9f307e2a352
|
|
Change-Id: If345c89293fcd7d1ad4f17214eea339951f25a5d
|
|
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
|
|
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
|
|
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
|
|
Change-Id: Icda84caa998614ce6c15d5118f8c5c1568ba9a79
|
|
Closes: OS#1929
Change-Id: I0caea2a2a8e6bd07432fd73bae72b42b1ce022cd
|
|
Change-Id: I49b385594271ae64a48d4d39ee9fe26d7c95bd30
|
|
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
|
|
Commit fe9769833fa74ea841f78c0e931130a70fc3aca9 aiming at cleaning stuff
introduced a compilation error.
Related: OS#2720
Change-Id: I6ce6e5ec3fdb1e3e8818e2cb674470ad54e38afb
|
|
It will later be used by other directories too (tests/Transceiver52M).
Change-Id: I0ca9b7fc5e1377db971cb7da0b3496ba8d61c716
|
|
Change-Id: I823aea91367d586507bbf352f1b6f25bdd635baa
|
|
After latest changes, it is not being used anymore.
Change-Id: I43a49aee94e3239194ad9742fb6374324acac0de
|
|
Change-Id: I64c8dbad3fc42bcb8dd4ac9b16bbd9c59a0cf5d5
|
|
Change-Id: Idadb17aeb85b011d114ffc1d81c920544bac1989
|
|
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
|
|
Before this patch, the binding of the listening sockets was hardcoded to
a local IP.
Change-Id: I9ba184a1251c823e413a9230943ed263e52142ec
|
|
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
|
|
when "sc16" stream arg is passed to SoapyUHD sample value range is -32768 to 32767
Change-Id: I58b8b6b71648bd9cbc105ddaaa9a7cf0a31b3d47
|
|
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
|
|
Modified to match current master by Harald Welte.
Change-Id: Ie43610de0b2196d84caf09717ec8c8ca75ab926d
|
|
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
|
|
Change-Id: Ib3fbe768048b2a34a75ace9688e306720e67019a
|