osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/34680?usp=email )
Change subject: l1sap: l1sap_tch_ind(): fix segfault on stale TCH.ind
......................................................................
l1sap: l1sap_tch_ind(): fix segfault on stale TCH.ind
It was reported that osmo-bts-sysmo is crashing due to a TCH.ind
primitive being received by l1sap_tch_ind() for an lchan, which
is operating neither in speech nor data, but in signalling mode.
It's not clear which scenario is causing this situation. My best
guess is that one or more TCH.ind primitive(s) remain waiting in
the lower layers and bob up right after the channel mode change.
This can happen, for instance, when a dynamic timeslot gets
switched from TCH/F or TCH/H to PDCH or SDCCH/8.
Change-Id: I2d270ab654fdd9d19d1708ff6c4b4e902bd5d0a3
Fixes: d1f8f3429 "l1sap: proper rate adaptation for CSD"
Closes: OS#6180
(cherry picked from commit aa06f9732672098eb58cb11ec388f3ea932fbd5b)
---
M src/common/l1sap.c
1 file changed, 24 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/80/34680/1
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 13d271e..9814f86 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1979,6 +1979,7 @@
send_ul_rtp_packet_data(lchan, fn, msg->data, msg->len);
break;
case RSL_CMOD_SPD_SIGN:
+ return 0; /* drop stale TCH.ind */
default: /* shall not happen */
OSMO_ASSERT(0);
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/34680?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: osmith/1.7.1
Gerrit-Change-Id: I2d270ab654fdd9d19d1708ff6c4b4e902bd5d0a3
Gerrit-Change-Number: 34680
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/34681?usp=email )
Change subject: systemd: remove RestartPreventExitStatus=1
......................................................................
systemd: remove RestartPreventExitStatus=1
Fix OsmoBTS not restarting if e.g. an external gsmtap IP is configured
that is currently not available. Also make the service files more
consistent with other Osmocom projects.
Partial revert of ae2473c2 ("systemd: Do not restart with a broken
config file or such").
Related: SYS#6581
Change-Id: Ieeed858c159839ebaa27b2be35a597fb86874c4b
(cherry picked from commit 188f76275a2b0d64a4b1beaceb73ad89c837a607)
---
M contrib/systemd/osmo-bts-lc15.service
M contrib/systemd/osmo-bts-oc2g.service
M contrib/systemd/osmo-bts-sysmo.service
3 files changed, 18 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/81/34681/1
diff --git a/contrib/systemd/osmo-bts-lc15.service b/contrib/systemd/osmo-bts-lc15.service
index fd0760a..03341bd 100644
--- a/contrib/systemd/osmo-bts-lc15.service
+++ b/contrib/systemd/osmo-bts-lc15.service
@@ -11,7 +11,6 @@
RuntimeDirectory=osmo-bts
Restart=always
RestartSec=2
-RestartPreventExitStatus=1
# CPU scheduling policy:
CPUSchedulingPolicy=rr
diff --git a/contrib/systemd/osmo-bts-oc2g.service b/contrib/systemd/osmo-bts-oc2g.service
index dabb002..bc64a54 100644
--- a/contrib/systemd/osmo-bts-oc2g.service
+++ b/contrib/systemd/osmo-bts-oc2g.service
@@ -11,7 +11,6 @@
RuntimeDirectory=osmo-bts
Restart=always
RestartSec=2
-RestartPreventExitStatus=1
# CPU scheduling policy:
CPUSchedulingPolicy=rr
diff --git a/contrib/systemd/osmo-bts-sysmo.service b/contrib/systemd/osmo-bts-sysmo.service
index 09880a8..09e91de 100644
--- a/contrib/systemd/osmo-bts-sysmo.service
+++ b/contrib/systemd/osmo-bts-sysmo.service
@@ -13,7 +13,6 @@
WorkingDirectory=%S/osmocom
Restart=always
RestartSec=2
-RestartPreventExitStatus=1
# CPU scheduling policy:
CPUSchedulingPolicy=rr
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/34681?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: osmith/1.7.1
Gerrit-Change-Id: Ieeed858c159839ebaa27b2be35a597fb86874c4b
Gerrit-Change-Number: 34681
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newchange
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/34682?usp=email )
Change subject: ASCI: Ignore LAPD frames from MS, while the uplink is not active
......................................................................
ASCI: Ignore LAPD frames from MS, while the uplink is not active
Do not forward any message that is received on the uplink to LAPD while
the uplink is not active. If the MS did not recognize (fast enough) that
the uplink is free, it may continue to transmit LAPD messages. A
response by LAPD to these messages is not desired and not required. If
LAPD would respond, it would cause stopping transmission of UPLINK FREE
messages. No MS could access the uplink anymore.
Note: UPLINK FREE messages are repeated automatically until a different
message is transmitted.
Related: OS#5781
Change-Id: I5075115123055b2997481f56ddf473430a1dc9e3
(cherry picked from commit f5c1cd3889bb52b1166066885e2d65b87692a37e)
---
M src/common/l1sap.c
1 file changed, 35 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/82/34682/1
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 9814f86..844fdad 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -1810,9 +1810,20 @@
if (lchan->ho.active == HANDOVER_WAIT_FRAME)
handover_frame(lchan);
- /* report first valid received frame to VGCS talker process */
- if (rsl_chan_rt_is_asci(lchan->rsl_chan_rt) && lchan->asci.talker_active == VGCS_TALKER_WAIT_FRAME)
- vgcs_talker_frame(lchan);
+ if (rsl_chan_rt_is_asci(lchan->rsl_chan_rt)) {
+ /* report first valid received frame to VGCS talker process */
+ if (lchan->asci.talker_active == VGCS_TALKER_WAIT_FRAME)
+ vgcs_talker_frame(lchan);
+ /* Do not forward any message that is received on the uplink to LAPD while
+ * the uplink is not active. If the MS did not recognize (fast enough) that
+ * the uplink is free, it may continue to transmit LAPD messages. A
+ * response by LAPD to these messages is not desired and not required. If
+ * LAPD would respond, it would cause stopping transmission of UPLINK FREE
+ * messages. No MS could access the uplink anymore.
+ */
+ if (lchan->asci.talker_active != VGCS_TALKER_ACTIVE)
+ return 0;
+ }
if (L1SAP_IS_LINK_SACCH(link_id))
le = &lchan->lapdm_ch.lapdm_acch;
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/34682?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: osmith/1.7.1
Gerrit-Change-Id: I5075115123055b2997481f56ddf473430a1dc9e3
Gerrit-Change-Number: 34682
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-CC: jolly <andreas(a)eversberg.eu>
Gerrit-MessageType: newchange
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/34684?usp=email )
Change subject: Increase RR scheduler priority to 20, to avoid dropped bursts
......................................................................
Increase RR scheduler priority to 20, to avoid dropped bursts
If frames are not deliverd fast enough to the DSP, bursts will get
dropped. The osmo-bts-sysmo process must have priority over other
processes, so it can deliver frames fast enough.
Related: OS#6199
Change-Id: I2394e6bbc00a1d47987dbe7b70f4b5cbedf69b10
(cherry picked from commit d265ce68b24b1c3ed95f328f9fe8bec6e5396c5a)
---
M contrib/systemd/osmo-bts-sysmo.service
1 file changed, 16 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/84/34684/1
diff --git a/contrib/systemd/osmo-bts-sysmo.service b/contrib/systemd/osmo-bts-sysmo.service
index 09e91de..3d99655 100644
--- a/contrib/systemd/osmo-bts-sysmo.service
+++ b/contrib/systemd/osmo-bts-sysmo.service
@@ -17,7 +17,7 @@
# CPU scheduling policy:
CPUSchedulingPolicy=rr
# For real-time scheduling policies an integer between 1 (lowest priority) and 99 (highest priority):
-CPUSchedulingPriority=11
+CPUSchedulingPriority=20
# See sched(7) for further details on real-time policies and priorities
[Install]
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/34684?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: osmith/1.7.1
Gerrit-Change-Id: I2394e6bbc00a1d47987dbe7b70f4b5cbedf69b10
Gerrit-Change-Number: 34684
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-CC: jolly <andreas(a)eversberg.eu>
Gerrit-MessageType: newchange
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/34683?usp=email )
Change subject: Do not prefix UI header to System Information Type 10
......................................................................
Do not prefix UI header to System Information Type 10
System Information Type 10 uses short L2 header that is transmitted as
Bter UI frame. The complete frame is sent by BSC, including short L2
header. Only the SACCH layer 1 header is added by the BTS.
A switch() statement is used, so other System Information with short L2
header can be added in the future.
Change-Id: Ifede42bfd84ea5914b559a20ae68f594d2ee1a5c
(cherry picked from commit ddc15996ddecfdb533d77ae45fa33587c51bb223)
---
M src/common/rsl.c
1 file changed, 26 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/83/34683/1
diff --git a/src/common/rsl.c b/src/common/rsl.c
index 5231765..fdb9899 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -993,6 +993,15 @@
* \param[in] len length of \a current in octets */
static inline void lapdm_ui_prefix(uint8_t *buf, uint32_t *valid, const uint8_t *current, uint8_t osmo_si, uint16_t len)
{
+ /* Special case for short header SI. Do not pre-fix the two-byte UI header. */
+ switch (osmo_si) {
+ case SYSINFO_TYPE_10:
+ (*valid) |= (1 << osmo_si);
+ memset(buf, GSM_MACBLOCK_PADDING, sizeof(sysinfo_buf_t));
+ memcpy(buf, current, len);
+ return;
+ }
+
/* We have to pre-fix with the two-byte LAPDM UI header */
if (len > sizeof(sysinfo_buf_t) - 2) {
LOGP(DRSL, LOGL_ERROR, "Truncating received SI%s (%u -> %zu) to prepend LAPDM UI header (2 bytes)\n",
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/34683?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: osmith/1.7.1
Gerrit-Change-Id: Ifede42bfd84ea5914b559a20ae68f594d2ee1a5c
Gerrit-Change-Number: 34683
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-CC: jolly <andreas(a)eversberg.eu>
Gerrit-MessageType: newchange
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/34581?usp=email )
Change subject: Increase RR scheduler priority to 20, to avoid dropped bursts
......................................................................
Increase RR scheduler priority to 20, to avoid dropped bursts
If frames are not deliverd fast enough to the DSP, bursts will get
dropped. The osmo-bts-sysmo process must have priority over other
processes, so it can deliver frames fast enough.
Related: OS#6199
Change-Id: I2394e6bbc00a1d47987dbe7b70f4b5cbedf69b10
---
M contrib/systemd/osmo-bts-sysmo.service
1 file changed, 15 insertions(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, approved
osmith: Looks good to me, but someone else must approve
fixeria: Looks good to me, but someone else must approve
diff --git a/contrib/systemd/osmo-bts-sysmo.service b/contrib/systemd/osmo-bts-sysmo.service
index 09e91de..3d99655 100644
--- a/contrib/systemd/osmo-bts-sysmo.service
+++ b/contrib/systemd/osmo-bts-sysmo.service
@@ -17,7 +17,7 @@
# CPU scheduling policy:
CPUSchedulingPolicy=rr
# For real-time scheduling policies an integer between 1 (lowest priority) and 99 (highest priority):
-CPUSchedulingPriority=11
+CPUSchedulingPriority=20
# See sched(7) for further details on real-time policies and priorities
[Install]
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/34581?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I2394e6bbc00a1d47987dbe7b70f4b5cbedf69b10
Gerrit-Change-Number: 34581
Gerrit-PatchSet: 2
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged