dexter has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/32426 )
Change subject: pcu_l1_if_phy: fix API function names
......................................................................
pcu_l1_if_phy: fix API function names
The functions l1if_open_pdch and l1if_close_pdch have a misleading
naming since what they actually do is opening and closing the TRX since
they return and accept a context (obj) that is valid for a whole TRX.
This also explains why the other functions accept a timeslot as
parameter in addition to the context. Let's rename those functions so
that it is clear what they do.
Change-Id: I395a60b2fba39bac4facec78989bac20f0cef0d3
---
M src/ericsson-rbs/er_ccu_l1_if.c
M src/osmo-bts-litecell15/lc15_l1_if.c
M src/osmo-bts-oc2g/oc2g_l1_if.c
M src/osmo-bts-sysmo/sysmo_l1_if.c
M src/pcu_l1_if_phy.h
5 files changed, 26 insertions(+), 10 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/26/32426/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/32426
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I395a60b2fba39bac4facec78989bac20f0cef0d3
Gerrit-Change-Number: 32426
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-CC: Jenkins Builder
Gerrit-MessageType: newpatchset
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32424 )
Change subject: hnbgw: wait longer for PFCP Assoc
......................................................................
hnbgw: wait longer for PFCP Assoc
Since I introduced stricter timeouts on PFCP messages in
hnbgw: add f_pfcp_expect()
commit 6bbfe057afe6f23e2f325789a3dcac81065ab952
Change-Id I2117475b695d486b1204d61e5bb21120a6187354
the HNBGW tests with PFCP support fail often:
The Assoc Setup resending timeout (X26) is configured to 5 seconds, and
the timeout to wait for this is also 5 seconds. Every once in a while
they happen to miss, causing a test failure.
Increase the initial Assoc Setup Req timeout to 15 seconds to avoid
sporadic failures.
Change-Id: I4b9af224e2346a4735f3d4e01b234acf56c5f3ff
---
M hnbgw/HNBGW_Tests.ttcn
1 file changed, 25 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/32424/1
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
index 1c0b121..e9693fe 100644
--- a/hnbgw/HNBGW_Tests.ttcn
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -1292,10 +1292,10 @@
}
}
-private function f_pfcp_expect(template (present) PDU_PFCP exp_rx) runs on ConnHdlr return PDU_PFCP
+private function f_pfcp_expect(template (present) PDU_PFCP exp_rx, float wait_time := 5.0) runs on ConnHdlr return PDU_PFCP
{
var PDU_PFCP rx;
- timer T := 5.0;
+ timer T := wait_time;
T.start;
alt {
[] PFCP.receive(exp_rx) -> value rx {
@@ -1325,7 +1325,7 @@
var PDU_PFCP m;
var Node_ID upf_node_id := valueof(ts_PFCP_Node_ID_fqdn("\07osmocom\03org"));
- m := f_pfcp_expect(tr_PFCP_Assoc_Setup_Req())
+ m := f_pfcp_expect(tr_PFCP_Assoc_Setup_Req(), wait_time := 15.0);
PFCP.send(ts_PFCP_Assoc_Setup_Resp(m.sequence_number, upf_node_id,
ts_PFCP_Cause(REQUEST_ACCEPTED), 1234));
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32424
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I4b9af224e2346a4735f3d4e01b234acf56c5f3ff
Gerrit-Change-Number: 32424
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newchange
dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/32423 )
Change subject: er_ccu_l1_if: use one ccu_desr per timeslot
......................................................................
er_ccu_l1_if: use one ccu_desr per timeslot
At the moment only allocate one CCU descriptor and use it as context for
the whole TRX. This is fine when running with one PDCH only but as soon
as multiple PDCHs are used the CCU descriptor gets messed up. Let's fix
this by introducing a TRX descriptor that contains an array of 8 CCU
descriptors, one for each timeslot.
Change-Id: I09a51f34ce0edef79a797c4686c7b1d27c376e49
---
M src/ericsson-rbs/er_ccu_descr.h
M src/ericsson-rbs/er_ccu_l1_if.c
2 files changed, 60 insertions(+), 24 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/32423/1
diff --git a/src/ericsson-rbs/er_ccu_descr.h b/src/ericsson-rbs/er_ccu_descr.h
index 0b56cc0..0935416 100644
--- a/src/ericsson-rbs/er_ccu_descr.h
+++ b/src/ericsson-rbs/er_ccu_descr.h
@@ -47,3 +47,7 @@
};
+
+struct er_trx_descr {
+ struct er_ccu_descr ccu_descr[8];
+};
diff --git a/src/ericsson-rbs/er_ccu_l1_if.c b/src/ericsson-rbs/er_ccu_l1_if.c
index b7dd102..babf625 100644
--- a/src/ericsson-rbs/er_ccu_l1_if.c
+++ b/src/ericsson-rbs/er_ccu_l1_if.c
@@ -372,18 +372,22 @@
int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn,
uint16_t arfcn, uint8_t block_nr, uint8_t *data, uint8_t len)
{
- struct er_ccu_descr *ccu_descr = obj;
+ struct er_trx_descr *trx_descr = obj;
+ struct er_ccu_descr *ccu_descr;
struct er_gprs_trau_frame trau_frame;
ubit_t trau_frame_encoded[ER_GPRS_TRAU_FRAME_LEN_64K];
struct gprs_rlcmac_bts *bts;
int rc;
/* Make sure that the CCU is synchronized and connected. */
- if (!ccu_descr) {
- LOGP(DL1IF, LOGL_ERROR, "PCU-DATA-IND: PDCH(ts=%u, arfcn=%u) no CCU context, tossing MAC block...\n",
+ if (!trx_descr) {
+ LOGP(DL1IF, LOGL_ERROR, "PCU-DATA-IND: PDCH(ts=%u, arfcn=%u) no TRX context, tossing MAC block...\n",
ts, arfcn);
return -EINVAL;
}
+
+ ccu_descr = &trx_descr->ccu_descr[ts];
+
if (!ccu_descr->link.ccu_connected) {
LOGPL1IF(ccu_descr, LOGL_NOTICE, "PCU-DATA-IND", "CCU not connected, tossing MAC block...\n");
return -EINVAL;
@@ -450,46 +454,56 @@
void *l1if_open_pdch(uint8_t bts_nr, uint8_t trx_no, uint32_t hlayer1, struct gsmtap_inst *gsmtap)
{
- struct er_ccu_descr *ccu_descr;
+ struct er_trx_descr *trx_descr;
+ unsigned int i;
/* Note: We do not have enough information to really open anything at
- * this point. We will just create the CCU context. */
+ * this point. We will just create the TRX context and fill it wit basic
+ * CCU context (one for each TS) */
- ccu_descr = talloc_zero(tall_pcu_ctx, struct er_ccu_descr);
- OSMO_ASSERT(ccu_descr);
- ccu_descr->er_ccu_rx_cb = er_ccu_rx_cb;
- ccu_descr->er_ccu_empty_cb = er_ccu_empty_cb;
- ccu_descr->pcu.trx_no = trx_no;
- ccu_descr->pcu.bts_nr = bts_nr;
+ trx_descr = talloc_zero(tall_pcu_ctx, struct er_trx_descr);
+ OSMO_ASSERT(trx_descr);
- return ccu_descr;
+ for (i = 0; i < ARRAY_SIZE(trx_descr->ccu_descr); i++) {
+ trx_descr->ccu_descr[i].er_ccu_rx_cb = er_ccu_rx_cb;
+ trx_descr->ccu_descr[i].er_ccu_empty_cb = er_ccu_empty_cb;
+ trx_descr->ccu_descr[i].pcu.trx_no = trx_no;
+ trx_descr->ccu_descr[i].pcu.bts_nr = bts_nr;
+ trx_descr->ccu_descr[i].pcu.ts = i;
+ }
+
+ return trx_descr;
}
int l1if_close_pdch(void *obj)
{
- struct er_ccu_descr *ccu_descr = obj;
+ struct er_trx_descr *trx_descr = obj;
+ unsigned int i;
- if (!ccu_descr) {
- LOGP(DL1IF, LOGL_ERROR, "PCU-DATA-IND: no CCU context, cannot close unknown PDCH...\n");
+ if (!trx_descr) {
+ LOGP(DL1IF, LOGL_ERROR, "PCU-DATA-IND: no TRX context, cannot close unknown TRX...\n");
return -EINVAL;
}
- er_ccu_if_close(ccu_descr);
- talloc_free(ccu_descr);
+ for (i = 0; i < ARRAY_SIZE(trx_descr->ccu_descr); i++)
+ er_ccu_if_close(&trx_descr->ccu_descr[i]);
+
+ talloc_free(trx_descr);
return 0;
}
int l1if_connect_pdch(void *obj, uint8_t ts)
{
- struct er_ccu_descr *ccu_descr = obj;
+ struct er_trx_descr *trx_descr = obj;
+ struct er_ccu_descr *ccu_descr;
int rc;
- if (!ccu_descr) {
- LOGP(DL1IF, LOGL_ERROR, "SETUP: PDCH(ts=%u) no CCU context, PDCH never opened before?\n", ts);
+ if (!trx_descr) {
+ LOGP(DL1IF, LOGL_ERROR, "SETUP: PDCH(ts=%u) no CCU context, TRX never opened before?\n", ts);
return -EINVAL;
}
- ccu_descr->pcu.ts = ts;
+ ccu_descr = &trx_descr->ccu_descr[ts];
rc = pcu_l1if_get_e1_ccu_conn_pars(&ccu_descr->e1_conn_pars, ccu_descr->pcu.bts_nr, ccu_descr->pcu.trx_no,
ccu_descr->pcu.ts);
@@ -507,13 +521,16 @@
int l1if_disconnect_pdch(void *obj, uint8_t ts)
{
- struct er_ccu_descr *ccu_descr = obj;
+ struct er_trx_descr *trx_descr = obj;
+ struct er_ccu_descr *ccu_descr;
- if (!ccu_descr) {
- LOGP(DL1IF, LOGL_ERROR, "SETUP: PDCH(ts=%u) no CCU context, PDCH never opened before?\n", ts);
+ if (!trx_descr) {
+ LOGP(DL1IF, LOGL_ERROR, "SETUP: PDCH(ts=%u) no TRX context, TRX never opened before?\n", ts);
return -EINVAL;
}
+ ccu_descr = &trx_descr->ccu_descr[ts];
+
er_ccu_if_close(ccu_descr);
return 0;
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/32423
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I09a51f34ce0edef79a797c4686c7b1d27c376e49
Gerrit-Change-Number: 32423
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmocom-bb/+/32422
to look at the new patch set (#2).
Change subject: mobile: Fail VTY command if attching test SIM card fails
......................................................................
mobile: Fail VTY command if attching test SIM card fails
Change-Id: Ie5a395de6c926f13ce9324b93da0e348da5438d1
---
M src/host/layer23/src/mobile/vty_interface.c
1 file changed, 15 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/22/32422/2
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/32422
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: Ie5a395de6c926f13ce9324b93da0e348da5438d1
Gerrit-Change-Number: 32422
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset