This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgReview at https://gerrit.osmocom.org/2946 OML Add osmocom-specific way to deactivate radio link timeout In some situations (e.g. when trying to do measurements/testing on the BTS receiver / uplink) it is useful to have a way to disable the radio link timeout and keep any channel open until deactivated, irrespective of whether (valid) data is received or not. This adds a related feature that can be activated by using an osmocom-specific value of 0xff for the TS 12.21 Connection Failure Criterion (9.4.14). Change-Id: I736f21f6528db5c16fa80cdb905af20673797be5 --- M include/osmo-bts/gsm_data.h M src/common/l1sap.c M src/common/oml.c 3 files changed, 22 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/46/2946/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 772a705..c513b27 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -94,7 +94,9 @@ uint8_t tc4_ctr; } si; struct gsm_time gsm_time; - uint8_t radio_link_timeout; + /* Radio Link Timeout counter. -1 disables timeout for + * lab/measurement purpose */ + int radio_link_timeout; int ul_power_target; /* Uplink Rx power target */ diff --git a/src/common/l1sap.c b/src/common/l1sap.c index fd8c54e..b9104b7 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -809,6 +809,10 @@ { struct gsm_bts_role_bts *btsb = lchan->ts->trx->bts->role; + /* Bypass radio link timeout if set to -1 */ + if (btsb->radio_link_timeout < 0) + return; + /* if link loss criterion already reached */ if (lchan->s == 0) { DEBUGP(DMEAS, "%s radio link counter S already 0.\n", diff --git a/src/common/oml.c b/src/common/oml.c index 982713e..fe35e85 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -627,17 +627,27 @@ if (TLVP_PRES_LEN(&tp, NM_ATT_CONN_FAIL_CRIT, 1)) { const uint8_t *val = TLVP_VAL(&tp, NM_ATT_CONN_FAIL_CRIT); - if (TLVP_LEN(&tp, NM_ATT_CONN_FAIL_CRIT) < 2 - || val[0] != 0x01 || val[1] < 4 || val[1] > 64) { + switch (val[0]) { + case 0xFF: /* Osmocom specific Extension of TS 12.21 */ + LOGP(DOML, LOGL_NOTICE, "WARNING: Radio Link Timeout " + "explicitly disabled, only use this for lab testing!\n"); + btsb->radio_link_timeout = -1; + break; + case 0x01: /* Based on uplink SACCH (radio link timeout) */ + if (TLVP_LEN(&tp, NM_ATT_CONN_FAIL_CRIT) >= 2 && + val[1] >= 4 && val[1] <= 64) { + btsb->radio_link_timeout = val[1]; + break; + } + /* fall-through */ + case 0x02: /* Based on RXLEV/RXQUAL measurements */ + default: LOGP(DOML, LOGL_NOTICE, "Given Conn. Failure Criterion " "not supported. Please use critetion 0x01 with " "RADIO_LINK_TIMEOUT value of 4..64\n"); return oml_fom_ack_nack(msg, NM_NACK_PARAM_RANGE); } - btsb->radio_link_timeout = val[1]; } - /* if val[0] != 0x01: can be 'operator dependent' and needs to - * be parsed by bts driver */ /* 9.4.53 T200 */ if (TLVP_PRES_LEN(&tp, NM_ATT_T200, ARRAY_SIZE(btsb->t200_ms))) { -- To view, visit https://gerrit.osmocom.org/2946 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I736f21f6528db5c16fa80cdb905af20673797be5 Gerrit-PatchSet: 1 Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org>