Commit Graph

382 Commits

Author SHA1 Message Date
Thomas Tsou
969ed83431 Transceiver52M: Remove logging from signal processing core
The only logging outputs in the the signal processing library
are debug lines that generate copious amounts of output while
providing little useful information to the user. The relevant
information (time-of-arrival, channel gains, etc.) can and
should be logged from transceiver instance itself.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6730 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:18:00 +00:00
Thomas Tsou
c48eb33e78 Transceiver52M: Add destructors to correlation seqeunce objects
Add destructor calls so we can avoid the nested vector deallocations.
Also remove the unnecessary pointer NULL checks prior to destruction.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6729 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:57 +00:00
Thomas Tsou
20e44cb379 Transceiver52M: Make GSM pulse filter internal to implementation
There is no reason expose the pulse shaping filter outside of the
signal processing calls. The main transceiver object makes no use
of the filter and there's no reason to pass it around.

Initialize the pulse shape with the signal processing library, and
maintain an internal static member like many of the other library
variables. Similarly destroy the object when the library is closed.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6728 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:53 +00:00
Thomas Tsou
ecc81ab384 Transceiver52M: Rename samples-per-symbol variable names
Because repeatedly typing mSamplesPerSymbol is giving me
carpal tunnel syndrome. Replace with the much shorter,
easier to type, and just as clear name of 'sps'.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6727 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:50 +00:00
Thomas Tsou
98ebd4963d Transceiver52M: Verify global config sanity before using
The configuration table is instantiated as a global variable with
no means to check constructor status. This means various types
of database failure conditions (e.g. file existence, permissions,
etc.) are not reported. This patch performs a small number of
checks to make sure that the configuration is sane.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6726 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:45 +00:00
Thomas Tsou
b6168292a2 Transceiver52M: Remove unused test code from main
The commented out test code is not maintained and behaviour is
unknown. Remove for clarity.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6725 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:42 +00:00
Thomas Tsou
83d8630c1b Transceiver52M: Use exception blocks for rate changes
UHD will throw if something goes awry in these sensitive sections,
so we should catch and shutdown gracefully. There is no recovery
if we can't set rates.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6724 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:39 +00:00
Thomas Tsou
0e0c81de63 Transceiver52M: Set resampling option automatically based on device
Remove the built time resampling selection and link both options.
Move the normal push/pullBuffer() calls back to the base class and
overload them in the inherited resampling class.

USRP2/N2xx devices are the only devices that require resampling so
return that resampling is necessary on the device open(), which is
the point at which the device type will be known.

The GSM transceiver only operates at a whole number multiple of
the GSM rate and doesn't care about the actual device rate and
if resampling is used. Therefore GSM specific portion of the
transceiver should only need to submit the samples-per-symbol
value to the device interface.

Then, the device should be able to determine the appropriate
sample rate (400 ksps or 270.833 ksps) and if resampling is
appropriate.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6723 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:35 +00:00
Thomas Tsou
c9668c3d66 Transceiver52M: Remove and rename oversampling variables
The transceiver only uses a single integer oversampling value,
which is more simply referred to as samples-per-symbol.

mRadioOversampling --> mSPS
mTransceiverOversampling (removed)

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6722 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:30 +00:00
Thomas Tsou
d6515f2613 Transceiver52M: Remove periodic alignment update from UHD build
Periodic timing alignment should never be required for UHD devices,
though the mechanism was used as a fallback mechanism should UHD
not properly recover after an underrun - as may occur in old
003.003.000 based revisions. This issue is not a concern in more
recent UHD releases and deprecates this code for legacy USRP1
use only.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6721 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:27 +00:00
Thomas Tsou
2ac6abd3b6 Transceiver52M: Add device offset correction table
Previously, two timing correction values were used for UHD devices
depending on the sample rate of 270.833e3 or 400e3 for native GSM or
resampled device rate respectively. The correction values compensate
for residual timing effects due to analog component delays, filters
lag times, and general fudge factors. These values are device
specific and over-generalized by the two value configuration.

This patch adds the following struct to store these correction
values by device type and sample rate - through samples-per-symbol.

struct uhd_dev_offset {
        enum uhd_dev_type type;
        int sps;
        double offset;
};

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6720 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:23 +00:00
Thomas Tsou
c9c9000d07 Transceiver52M: Add UHD device type checking
UHD device type was previously detected, but only categorized in
terms of bus type, USB or Ethernet, and sample rate capability.
With the number of supported device increasing, we can no longer
easily group devices since we need to handle more and more
device-specific peculiarities. Some of these factors are managed
internally by the UHD driver, but other factors (e.g. timing
offsets) are specific to a single device.

Start by maintaining an enumerated list of relevant device types
that we can use for applying device specific operations. Also
rename the USB/Ethernet grouping to transmit window type because
that's what it is.

enum uhd_dev_type {
        USRP1,
        USRP2,
        B100,
        NUM_USRP_TYPES,
};

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6719 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:19 +00:00
Thomas Tsou
360ba2f1f8 Transceiver52M: Update to UHD streamer interface
This patch is long overdue and can now be merged after better understanding
of timestamp stability issues. UHD tick / timespec conversions were
generally used with the streamer interface, though these calls are actually
independent change sets. The combination would lead to internal rounding
errors and a timing drift most notably on B100 running at GSM symbol
rate multiples. There are no known issues, however, with the streamer code
itself.

The aforementioned issue was discovered in test code only, which was never
merged to mainline.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6718 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-17 06:17:14 +00:00
Kurtis Heimerl
b0ea928994 r6605 in private:
Dont POWERON the radio before it is inited.
Suppress some irrelevant gcc warnings.



git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6715 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-16 02:07:39 +00:00
Kurtis Heimerl
ff99b37721 Missed this path change
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6712 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-15 06:23:48 +00:00
Kurtis Heimerl
d4d880d4b0 Reverting libortp requirement until I can figure out how it maps to debian land
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6711 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-15 04:00:58 +00:00
Kurtis Heimerl
a09fa74532 should not install to a set home directory
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6710 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-15 02:48:38 +00:00
Kurtis Heimerl
e6ce2cfa55 Martin Hauke's build/typo bug fixes
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6698 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-11 19:47:27 +00:00
Kurtis Heimerl
ea6659c604 increasing watchdog timer range as a workaround
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6628 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-03 17:38:54 +00:00
Kurtis Heimerl
8006dd55ff Default to non-RAD1 setups.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6617 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-10-02 01:54:16 +00:00
Michael Iedema
7a5d549aa5 - reinstate runloop as quite a few installs might be depending on it
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6508 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-09-19 05:24:50 +00:00
Michael Iedema
ef1d68e0bb - add missing CLI script so debian packages build properly again
- ignore some stuff


git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6496 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-09-18 09:01:55 +00:00
Kurtis Heimerl
9757b7bc1e Missed some stuff. Suggested by Chris Newman
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6402 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-09-05 05:49:56 +00:00
Kurtis Heimerl
f610e7a270 removed /var/run/OpenBTS stuff
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6303 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-08-24 06:20:45 +00:00
Kurtis Heimerl
b288d5c7ff stepping down from alert to warning to reduce tension from users of UHD devices
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6192 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-08-15 23:32:59 +00:00
Kurtis Heimerl
6dfce1265c ortp 0.20 compat
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6191 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-08-15 23:23:42 +00:00
Kurtis Heimerl
cbd9157c38 missed the removal of old transceivers
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6169 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-08-14 00:54:30 +00:00
Kurtis Heimerl
5289a229d9 sync of openbts
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@6168 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-08-14 00:52:14 +00:00
Kurtis Heimerl
1baba59e14 added conflicts to control, do not install public/private concurrently!
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5905 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-07-09 07:29:50 +00:00
Kurtis Heimerl
2ada18a775 cleaned up makefiles, and now can is confflags="--with-uhd" dpkg-buildpackage -B to build the uhd version. There's still an issue with linking uhd though, I have to test on a real install.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5904 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-07-09 07:22:26 +00:00
Kurtis Heimerl
7466de849a OpenBTS working now
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5903 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-07-09 05:14:42 +00:00
Kurtis Heimerl
a737b586d3 fixed some compatibility issues
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5900 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-07-09 05:14:09 +00:00
Kurtis Heimerl
01b412379e smq debian packaging files
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5896 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-07-07 07:37:02 +00:00
Kurtis Heimerl
8f5c064961 First pass at adding debian package building scripts
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5895 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-07-07 07:36:54 +00:00
Kurtis Heimerl
826c4f655f removing extraneous sqlite3 calls
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5840 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-07-01 05:30:23 +00:00
Kurtis Heimerl
57dce4e397 adding WAL forcing and another missing config
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5704 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-06-13 00:24:22 +00:00
Kurtis Heimerl
f90cc4f4f4 missed a variable in sql
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5703 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-06-12 22:11:40 +00:00
Thomas Tsou
40f309ab3d Transceiver52M: Add more complete specification of GPRS types
Submitted by: Ivan Kluchnikov <kluchnikovi@gmail.com>
Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5690 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-06-09 22:38:18 +00:00
Thomas Tsou
eacdf11bfa Transceiver52M: Add GPRS combinations to correlation types
Submitted-by: Andreas Eversberg <jolly@eversberg.eu>
Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5677 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-06-06 04:36:45 +00:00
Kurtis Heimerl
bdf1aff128 Change to makefile.common to support git externals script
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5670 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-06-05 00:22:54 +00:00
Kurtis Heimerl
738cf3f77a openbts externals now finished. that was pretty easy actually
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5669 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-06-04 21:30:15 +00:00
Kurtis Heimerl
b660aa8900 svn externals for openbts
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5668 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-06-04 21:25:06 +00:00
Kurtis Heimerl
7178e8367e syncing commonlibs with Many thanks to Michael Iedema for these patches, makes config a lot better.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5655 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-05-31 21:47:25 +00:00
Kurtis Heimerl
40e14f52a3 r4677 in commercial:
syncing SR across trees. Will merge later.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5477 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-05-16 21:54:36 +00:00
Thomas Tsou
d21140203b Transceiver52M: Fix calculation of TS correlation for 2 sps and higher
The correlation starting point for normal burst training sequence
calculation should be a scaled value of the same symbol regardless
of the samples-per-symbol used. Use of 2 samples-per-symbols double
the index values, but yields the following outputs, which results
in a late time-of-arrival value at the output of the correlation.

This patch modifies the parameter calculation accordingly.

1 sps parameters

maxTOA = 3
spanTOA = 5;
startIx = 61;
endIx = 87;
windowLen = 26;
corrLen = 7;

2 sps parameters (errant case)

maxTOA = 6;
spanTOA = 10;
startIx = 112;
endIx = 184;
windowLen = 72;
corrLen =13;

2 sps parameters (corrected)

maxTOA = 6;
spanTOA = 10;
startIx = 122;
endIx = 174;
windowLen = 52;
corrLen =13;

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5183 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-04-04 23:35:08 +00:00
Kurtis Heimerl
f3e56825e1 r4974 in private:
Fix the SMS sporadic delivery failure problem.

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5170 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-03-28 01:06:51 +00:00
Thomas Tsou
f16b9a8e42 Transceiver52: allow for handling of TCH/H slots
Although currently unsupported in GSM core, enable TCH/H
support in Transceiver52M for testing and future availability.

Signed-off-by: Thomas Tsou <tom@tsou.cc>

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@5169 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-03-27 22:00:25 +00:00
Kurtis Heimerl
9c7ea38965 Roughly r4224 in private:
More reliable detection of busy condition on MTC.
Also adds new GSM state, "Busy Reject".

git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4920 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-02-16 13:03:08 +00:00
Kurtis Heimerl
d26fa0a4aa r4223 in Private: Clean up properly when we get the SIP 486 response.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4919 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-02-16 13:02:31 +00:00
Kurtis Heimerl
f7903a1623 r 4258 in private: Check for defunct transactions when handling Paging Respone.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@4918 19bc5d8c-e614-43d4-8b26-e1612bc8e597
2013-02-16 12:43:44 +00:00