Age | Commit message (Collapse) | Author | Files | Lines |
|
* Explicitly check for sqlite3 at configure stage, remove old include
dir, fix header inclusion.
* Use configure results for linking instead of hardcoded linker option
for sqlite.
* Add dependency on -dev package for .deb
Change-Id: I6d7f697d67651f02ceb77fc4da4317b64fa47f9e
Fixes: OS#1928
|
|
Previous patch switches to using system-wide sqlite3 so it's safe to
remove local copy now.
Change-Id: Ie8e751cc62132fe1f7748ccd78c5d48469027329
|
|
Change-Id: If5edadc04c3ff953b451676e55ad3d00d4e43c82
|
|
debian/control:
* restructure to make it easier to incorporate further changes
* update package descriptions
* update project URL
debian/rules:
* use proper hardening syntax
debian/copyright: update to match Debian format
Change-Id: I9a89e7311c8632ae26ac2e6c02d1e427d94b1608
Related: OS#1694
|
|
Make it simple to setup and use this repo with 'git review' command.
Change-Id: I6bbe65cc09e086685995f084a07a646a7d60b93c
|
|
Install missing development package to get osmo-trx to build.
Change-Id: Id80937724d5e4da4ed555cbabfcd3e2457cb2a19
|
|
This reverts commit 93ca09ea61d044e5f8662b28bf084c808cac4f2c.
Ettus Research recommends the use of 3.9 series of UHD releases,
but requiring this version has lead to issues with broken OBS and
packaged binaries by Debian, Ubuntu, and other distributions.
Change-Id: Ie6b175ac6d46d091937380c79fdd0125b16ec75f
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Previously only 4/1 and 1/1 configurations Tx/Tx samples-per-symbol
were supported.
Change-Id: I9153171fe3af95e1cb0d9d35a9287dfde155d184
|
|
The behaviour of a mismatched pair of allocation and deallocation is undefined
Also fixes a memory leak if malloc fails (which stops the application anyway)
Change-Id: I9c8bbade8531e8c9c02dcd43bac38cb954b3c89f
|
|
Versions of UHD prior to 3.9.0 are no longer supported.
Rather then backport and ifdef UHD version specific API and
behavioral changes, set minimum support to the current LTS
release, which is 3.9.0.
Change-Id: Id7d15b52cd4e45f1d856a6ef3a84832a28f2dd04
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Place conditional brackets on handover table reset. Reset table
only on successful start or restart.
Change-Id: I74032b49785bd68835a0a68cb0f14cdaab4fcd26
|
|
Only B210 timing was previously set in the timing table.
Change-Id: Idc8d1be8201ad086c57dd9b3d6d72d277306cd2b
|
|
Change-Id: If8887525b0062090e9445a35e32b03e3b8e7eede
|
|
Invert the initial and trailing diffential bits in the 4 sps
GMSK modulator to fix power-time mask irregularity at start
and end of burst. GSM tail bits are always zero, so we can
safely use fixed bit values.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
as empty file. As a result, the INSTALL file always shows as modified.
Instead, remove INSTALL from git and ignore it.
|
|
Requires changing the radioInterface API to pass in Rx side SPS
value. Update the (deprecated) diversity configuration to match
as well.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Agilent E4406A measurement of TSC synchronized RF envelope measurement.
showed failing power levels at the tail end of EDGE bursts. Regression
traced back to following commit.
Commit d2b070369dd5341ac42ec091370d8bcd5a8ac5ee
"uhd: Correct timing alignment in 8-PSK and GMSK downlink bursts"
In the patch, the EDGE burst was delayed one symbol, but erroneously
truncated at the tail end causing the failing RF envelope measurement.
The missing tail symbol did not appear to affect end-to-end EGPRS tests.
This patch corrects the truncation.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
The time-of-arrival (TOA) value out of sigProc is specified
in symbols or, equivalently, 1 sample per symbol and does
not need to be normalized.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Input burst construction was declared static causing the first
downlink burst from upstream to determine subsequent burst size
and modulation. Consequently, fixed sequence EGPRS tests would
pass, however, switching between 8-PSK and GMSK bursts would
fail with only one modulation type being transmitted.
Internally generated test sequences '-r' option were not affected
because the bursts are not received through the socket interface.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Unlike earlier versions of UHD, the current release (3.9.2)
does not automatically select on-board GPSDO as the reference
source. Modify the command line settings to allow explicit
selection of GPS in addition to the external setting.
Simultaneous GPS and external reference settingis disallowed.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Only EDGE mode is currently supported. Traditional 1 SPS Rx / 4 SPS Tx
mode requires different sampling rates which is not currently working.
RF performance is also sub-optimal and requires more tuning.
|
|
Discrete RF multi-channel was using hard coded buffer index
on the channel iteration for transmit sample conversion. End
result was segmentation fault on dual RF channel devices with
both channels active (Ettus B210 and UmTRX).
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Previous checks on multi-channel TSC and ARFCN settings would fail
if channels were initialized out of order. Namely, if channel 0
was not configured first, osmo-trx would error on the control
interface leading osmo-bts to fail.
Allow global TSC setting on all channels with added logging notice.
Notify if channel frequency is unexpected - which may happen if
channels are setup out of order - but do no report as error.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
These warnings simply echo the socket command arguments with no
indication of any unexpected or improper operation.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
|
|
|
|
The command line EDGE option will enable 8-PSK burst
detection on any slot where a normal burst is expected.
The burst search order is 8-PSK first followed by GMSK.
EDGE will force 4 SPS sampling on Tx and Rx. Along with
twice the search correlation from 8-PSK and GMSK, EDGE
will increase CPU utilization. Whether the increase is
notable or not is dependent on the particular machine.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Allow EGPRS 8-PSK length bit vectors of length 444 (148 * 3)
to pass in through the Tx socket interface. Length is the sole
factor in determining whether to modulate a bit vector using
GMSK or 8-PSK.
Tested with 8-PSK training sequences with random payload
originating from osmo-bts. Output verified with Agilent E4406A.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Reduce the burst detection threshold to pass more bursts to upper
layers, but force stricter requirements on the computation itself.
For the latter, we now require at least 5 samples (rather than 2)
to compute a peak-to-average value.
End result is increased burst detection at low SNR conditions with
a small increase in false positive bursts when no signal is present.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Add new radio interface "radioInterfaceMulti" for multi-carrier
support.
Only USRP B200/B210 devices are supported because of sample
rate requirements (3.2 Msps).
Only 4 SPS operation Tx/RX is supported.
8-PSK is supported.
Other options may be added at a later time
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Introduce polyphase channelizer (Rx) and synthesis (Tx) filterbanks,
which serve as the signal processing backend for multi-carrier GSM.
Fast Fourier Transform (FFT) is used internally. FFTW is added as
a new build dependency.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Two buffers, inner and outer, are used in the transceiver
implementation. The outer buffer interfaces with the device receive
interface to guarantee timestamp aligned and contiguously allocated
sample buffers. The inner buffer absorbs vector size differences between
GSM bursts (156 or 157 samples) and the resampler interface (typically
fixed multiples of 65).
Reimplement the inner buffer with a ring buffer that allows fixed size
segments on the outer (resampler) portion and variable lengths (GSM
side) on the inner side. Compared to the previous stack-like version,
this implementation removes unnecessary copying of buffer contents.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Rather than a simple bool type, convert the diversity switch
to the device interface specifer:
enum InterfaceType {
NORMAL,
RESAMP_64M,
RESAMP_100M,
DIVERSITY,
};
The more general specifier allows passing in special cases
other then selection diversity such as multi-ARFCN support.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Previous approach was to enable 4 SPS on the receive path only
for EDGE use, which is not a requirement for 4 SPS operation.
Make the 4 SPS configuration setting directly settable.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
OsmoTRX does not support the use of multiple TSC settings per
internal TRX instance. There should not be an error to modifiy
the TSC value after POWERON. Setting TSC value on TRX channels
other then 0 is a NOP operation that should only error if the
requested TSC differs from that of TRX channel 0.
Reported-by: Max <msuraev@sysmocom.de>
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Right now if you forget to send "POWER" control command, osmo-trx
will transmitt zeros. This is counter-intuitive and I've spent several
hours debugging this "issue". The issue may happen easily, because
osmo-bts doesn't send "POWER" command if there is no "power" setting
in the configuration file. Given that "POWER" command actually sets
attenuation, it's percieved as optional and in absence of it should
default to "POWER 0" (no attenuation), which translates to power
scale being 1.0.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
It's osmo-trx, not OpenBTS anymore.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
So we had the following define:
#define GSMRATE 1625e3/6
Now, I wanted to use it in the following expression:
3.0/GSMRATE
which turns into:
3.0/1625e3/6
while what I really wanted is:
3.0/(1625e3/6) = 3.0/1625e3*6
To avoid this, all macros with calculations must be enclosed in parentheses.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
When you build from an external path, compiler can't find convert.h
include, because it was specified relative to the current directory.
Change this to specify the include dit relative to the Makefile
location.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Slightly widen the search range to accommodate timing jitter
on certain classes of devices. The expanded range minimizes
the possibility of missing bursts that arrive too early or
too late due to timing error.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Create runtime version check for minimum supported UHD driver
when using USRP E3XX devices. The minimum version, 3.9.0, matches
supported version on current E3XX release images.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Removes extra arguments and a static call.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
The majority of GSM host platforms are capable of operating with
the 4x oversampled modulator, which justifies the new default
setting. The small number exceptions (e.g. Raspberry Pi) can still
use the lower complexity 1 sps modulator with the '-s 1' command
line option if required.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Tune timing values after testing on UHD 003.009.002 for E3XX.
Table value for 1 sps was off by 10 samples causing improper
operation. Table value for 4 sps was shifted by 1 sample for
more accurate timing.
Also update E3XX description string detection.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Current UDP receive reads up to MAX_UDP_LENGTH bytes into the
passed in buffer, which may lead to buffer overflow if the
write buffer is of insufficient size.
Add mandatory length argument to UDP socket receive calls.
Reported-by: Simone Margaritelli <simone@zimperium.com>
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Reported security vulnerability where control and data UDP
packets can be injected into the transceiver externally due
to socket binding to all interfaces using INADDR_ANY.
Existing socket interface does not allow specifying local
address; only the local port and remote address/port are
arguments.
Restrict socket bind to localhost with INADDR_LOOPBACK. If
external interfaces do need to be used, the API should be
modified to allow specifying the local socket address.
Reported-by: Simone Margaritelli <simone@zimperium.com>
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
EDGE 8-PSK soft slicer was receiving input from the output of the
downsampler. Equalization and derotation were missing causing the
soft symbol output to be invalid.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Delay the EDGE downlink bursts by one symbol in order to match GMSK
pulse shaping group delay. The difference in group delay arises from
the dual pulse filter combination of the GMSK Laurent represenation
whereas 8-PSK uses a single pulse linear filter.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|