Age | Commit message (Collapse) | Author | Files | Lines |
|
Be consistent and use everywhere uint64_t.
Change-Id: Id6b5df7f5045901109fe1007a5ad54e2f95b95f8
|
|
GSMTAP_CHANNEL_UNKNOWN
commit d211c490cad38f2009943121d57bdb7df8eee9b0 avoided sending
GSMTAP packets on the virtual Um interface with type
GSMTAP_CHANNEL_UNKNOWN by relying on gsmtap_makemsg returning NULL.
But that's not the corect approach since it's totally fine to be sending
GSMTAP_CHANNEL_UNKNOWN on some GSMTAP cases (for instance when the
program fails to infer the type when decoding a message), since then
this way one can study pcap files and find the offending encoded
messages which failed to be decoded.
This patch goes togehter with revert patch introduced in libosmocore as
explained in the commit referred above.
Change-Id: I233afd930d3e43f7b120d40192c7c192102e38d9
|
|
LOGPLCHAN() prepends the BTS/TRX/TS numbers itself.
Change-Id: I8a1dd7da7098fe8c8a015459608d9134821fb322
|
|
bts.h refers to struct gsm_bts object, but we still had a bunch of stuff
in bulky gsm_data.* from old days. Let's move stuff where it belongs to
start clean up of gsm_data.
Change-Id: I0a4219e3f64f625ee8b364bf408b8d2bcc8085c5
|
|
Change-Id: I57ea9c4ddbe5443b9b6afe3f8e6b38170d0e5a0e
|
|
Change-Id: I21fa1688a0c8a3788a5ecedd5912f596a69a1beb
|
|
Ramp down when BTS is administratevly locked, and ramp up when it
becomes unlocked again.
Af ramping down, bts_model_trx_deact_rf is called to make sure all
channels are released.
power_ramp_start() is dropped from inside bts_model_trx_deact_rf since
it's not the proper place. In there we simply want to instantaneously
drop RF.
Related: SYS#4920
Change-Id: Ib7a7b0a0c24779349f142215f0bb32b72c86ce70
|
|
Change-Id: I4b24faf3a8fe5846b9394fea8faf9d37cc0ac9ff
|
|
This change avoids waiting for full ramp down if TRXs are already non
operational.
Change-Id: Ie1c7c3a969e7968075b89edcd1ab2227b178a869
|
|
This should provide a quick way to check if the system is frequently
overloaded over time and hence downlink FNs are scheduled later than
expected.
Change-Id: I0051b9ab18ebc9f92db11374d856de94f155efa4
|
|
Change-Id: I4337cfdc393ec44df9bb9824ba4981eaf5b45f0b
|
|
I believe the modern compilers are smart enough to optimize the
outer (per-timeslot) loop of trx_sched_fn() in a way that TDMA
frame number is advanced after making sure that a transceiver
is powered on. However, it's still more perspicuous to check
availability of a given transceiver first.
Change-Id: I6a97000c1c84e36096e9ba378a489c82caa4cc5b
|
|
Change-Id: Ieac26c7aca118c16889cdde2565a514681dc137b
Related: OS#4546
|
|
Related: OS#4583
Change-Id: I88d59d47837105d52e2b4dfb819511cd360c50a1
|
|
According to 3GPP 45.002, section 5.2.4, a frequency correction
burst is basically a sequence of zeros. Since br->burst is already
zero-initialized, there is no need to maintain and memcpy() another
sequence of zeros into it. Just set the length.
Change-Id: Ic4f6d550010da5caf4bc471ff1e184c9fab30c6d
|
|
Change-Id: Id83fa562ba8496be8915573d2222dd64c7ca5eb9
|
|
This function never returns anything else than 0.
Change-Id: I119535fc09d611ef9f903f5d44aa21cecdce19a2
|
|
In trx_sched_fn() we schedule Downlink bursts in advance, in order
to give the transceiver some time to process them. This function
handles all timeslots of all transceivers in a loop. The problem
is that the given frame number is overwritten on each iteration.
Let's say we have 4 transceivers, each with default fn-advance 20.
The given frame number N will be advanced 4 times, so the resulting
frame number for 4-th transceiver would be (N + 4 * 20) instead of
(N + 20) as expected. Therefore, all additional transceivers would
be served more and more in the future (depending on their position).
Change-Id: Ie3ab544eac81a675266df09cd2b7740e4183188e
|
|
Depends: (libosmocore) Ic291fd3644f34964374227a191c7045d79d77e0d
Change-Id: I61c97a62bd5dbbb4a984921ebdfc10ad6ed00f2a
|
|
Change-Id: I4d4e7a5bfb899787605b3b25dcdc9e9470c438d9
|
|
Change-Id: I13221e5dffe3290fc791f8866f25141fcc0821ff
|
|
Change-Id: Idadb62ec25181b140d9061dc7470da00d47d8336
|
|
Change-Id: I8d92cfddaa5bbfa33e36f37b48033b468c7d72cf
|
|
There's a standarized way through OML's Administrate State to control
the status of TRX, so let's use and maintain that one rather than this
ad-hoc hack.
Related: SYS#4920
Change-Id: Ia7f190063c35e0ed8e2e734047b3aff608cd3ce3
|
|
Change-Id: Id37562652b1ebc27d808d83342e4961b936dbcad
|
|
Setting the phy link of a trx to SHUTDOWN sets operative state to
DISABLED, so we use operative state as a condition to know whether all
TRX are already powered off properly and we can exit.
Change-Id: I2bcd211d7edcc8486461a555d6c470a94b166ed7
|
|
Some backends like osmo-bts-trx require exchanging messages like
POWEROFF to close the TRX, and hence need some time. Switch the function
to expect result asynchronously by calling a callback.
This will be used later to wait until all TRX are really powered off
before exiting the process.
Change-Id: I7d76b600fc06e1114b35bf0c2d08eff5bbd1b69a
|
|
It makes more sense to first deactive RF on all TRX and finally close
them totally. This way we keep consistency between all TRXs and it's
easier for lower layers which may need to close them all at once. Also
in the event that we want to turn bts_model_trx_deact_rf to return
asynchronously.
Change-Id: Ib62358384e37a5cef692926439462042fab0138c
|
|
bts_model_trx_close is only called during bts_shutdown immediately after
bts_model_deact_rf, so its logic keeps being essentially the same after
this code movement.
On the other hand, bts_model_deact_rf is also called during RSL link
establishment if it failed for whatever reason in
bts.c:trx_link_estab(). In that case, we want to make sure the TRX is
not used so we need to implement bts_model_deact_rf.
Change-Id: Id4eae743da81773a04b82e7b454071b0cc66677a
|
|
Upon BTS shutdown (for instance because the Abis link against BSC was
lost), stop the operation in an ordered manner (cell soft lock). This
means slowly decrease tx power so that MS have time to handover to other
neighbour cells.
Related: SYS#4920
Change-Id: I70e34dda8974ebd94aea33bd9fb1d99f9063cc55
|
|
Using an FSM here will allow for more complex ordered shutdown
procedures, like power ramp down, waiting for TRX deact asyncrhonously,
etc.
Current commit leaves everything in place already prepared to implement
ramp down, which will be implemented in next commit in the series.
Related: SYS#4920
Change-Id: I8f48f17e61c3b9b86342eaf5b8a2b1ac9758bde5
|
|
Change-Id: Icedd533046853f67da5da84aae28b895a8cdb0bf
|
|
Change-Id: I44d079893d01946da703c4338a686795ced3cb00
|
|
Change-Id: Ib306a80bd8ea3434a49806ec73a1cfe9a82b9122
|
|
Change-Id: I72559a50570cf447b5930f8995b1f345baeb1ee5
|
|
supported
Using the VTY command will force that value and prevent osmo-bts-trx to
use/send NOMTXPOWER cmd over TRXC.
Change-Id: I496753bc74767a7e18b831768d9d422a738192b7
|
|
It will be used in forthcoming commits to feed FSM events once the
ramping process completes.
Change-Id: I778dc215cf6055b93658670cc12e78ad2e51f85e
|
|
Rename OCTPHY specific LOPGTRX macro to avoid redefine conflicts.
Change-Id: I02878611501aca51039e2ac7e35784ccb93b1db6
|
|
These will be required by compiler/linker after next changes.
Change-Id: Icd20d64cf973f4cf4425b46d4102747db53d8990
|
|
Change-Id: I1a9cf84ae0120c6ce9068efeb0e9824e4726564e
|
|
Change-Id: I16880fae32f60a83429cf5bbef796428c60a762c
|
|
Change-Id: I47755e354a8cbcf34406de8bfc3985c70076fbf2
|
|
Change-Id: I366f71474891d32e31dbba1a9fa1f9a510fa0952
|
|
Together with previous counter L1SCHED_TS_CTR_DL_LATE, it allows
understanding which dl blocks are really lost (never queued) and which
were simply queued too late.
Change-Id: I456d0cfbef1e03b147ce7d968a3ec42dd728fe74
|
|
Change-Id: I76c3dd4020c6d74192b03b1d42413ae536da5f05
|
|
Old _shared one comes from time where we shared header with other
componenets. It's no longer the case sine a logn time ago.
The gsm_data_shared.h is only being included by gsm_data.h nowadays, so
let's simply merge it to simplify header dependency and struct
definitions.
Similarly, gsm_data_shared.c is renamed to gsm_data.c
Change-Id: Id60e7582e3a32dbc5e3531b87b2b49f07aee734d
|
|
Change-Id: I58d86a8c2e8846f683d4414fcd2a3bf7f89049ce
|
|
Change-Id: I9c4d78fb80446fa4142950d947dad20856573275
|
|
Change-Id: Icf7414d9fb17bbc3eb384329f587b3042ba0fcd5
|
|
Change-Id: Ia0b1674ac3dfbe89c9eb0e6d6426848ec64320d9
|