lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

March 2023

  • 1 participants
  • 3642 discussions
[M] Change in libosmocore[master]: GSMTAP: allow configuring src IP for log messages
by neels 06 Mar '23

06 Mar '23
Attention is currently required from: osmith, fixeria, pespin, msuraev. neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/31513 ) Change subject: GSMTAP: allow configuring src IP for log messages ...................................................................... Patch Set 4: (1 comment) Patchset: PS4: there should be a patch for osmo-gsm-manuals.git updating the gsmtap section in chapter logging.adoc -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/31513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9000269ce5b3dce1e757271b7c42e77b68d38f25 Gerrit-Change-Number: 31513 Gerrit-PatchSet: 4 Gerrit-Owner: msuraev <msuraev(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: msuraev <msuraev(a)sysmocom.de> Gerrit-Comment-Date: Mon, 06 Mar 2023 01:32:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[M] Change in libosmocore[master]: GSMTAP: allow configuring src IP for log messages
by neels 06 Mar '23

06 Mar '23
Attention is currently required from: osmith, fixeria, pespin, msuraev. neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/31513 ) Change subject: GSMTAP: allow configuring src IP for log messages ...................................................................... Patch Set 4: (9 comments) Patchset: PS4: it would be great to also see this tested in logging_vty_test.vty: i know it sounds annoying, but i've made so many mistakes already, merging broken vty commands i wrote ... now my opinion is that the only sane way to add vty commands is to add a *.vty test that verifies the doc strings are right and the config is written back ok. This patch affects all osmo programs so it's worth being tested. so ... please add to tests/logging/logging_vty_test.vty lines like this: # log? # log ? # log gsmtap ? # log gsmtap foo ? # log gsmtap foo 127.0.0.99 # show running-config ... log gsmtap foo 127.0.0.99 ... literally like above, and then you can run make vty-test U=-u to automagically fill in what the vty returns File src/core/logging_gsmtap.c: https://gerrit.osmocom.org/c/libosmocore/+/31513/comment/dd43a8ff_ce234187 PS4, Line 122: g (for doxygen: the summary line should end in a period '.') It would be nice to point out the reason for version 2 to exist like Same as log_target_create_gsmtap() with the possibility to provide a local IP and port to send gsmtap from. https://gerrit.osmocom.org/c/libosmocore/+/31513/comment/7beb53bb_610dbc32 PS4, Line 123: m or NULL for "localhost". https://gerrit.osmocom.org/c/libosmocore/+/31513/comment/1636f6b6_dedaaba5 PS4, Line 124: m or zero for any local port. https://gerrit.osmocom.org/c/libosmocore/+/31513/comment/41bc5041_a5741028 PS4, Line 126: o or 0 to use GSMTAP_UDP_PORT. (this one was also "missing" in the old doc, but might as well add it) https://gerrit.osmocom.org/c/libosmocore/+/31513/comment/98edbb78_1eaf7339 PS4, Line 156: src src can be passed as NULL, should we call talloc_strdup() on NULL? File src/vty/logging_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/31513/comment/67bece04_ffc31c91 PS4, Line 808: ) (i guess it should say "default is 127.0.0.1" but yes, not really part of this patch) https://gerrit.osmocom.org/c/libosmocore/+/31513/comment/773c0977_13fc80b1 PS4, Line 822: NULL rather "any" .. at least some string literal instead of passing NULL to varargs, so that we have a definite deterministic string to test for in vty transcript testing if we ever want to File utils/osmo-stat-dummy/osmo-stat-dummy.cfg: https://gerrit.osmocom.org/c/libosmocore/+/31513/comment/bc72d7ab_0338f759 PS4, Line 1: log gsmtap 127.0.0.69 127.6.9.1 what's the rationale for adding this here at all? don't we have some example cfg file for logging? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/31513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9000269ce5b3dce1e757271b7c42e77b68d38f25 Gerrit-Change-Number: 31513 Gerrit-PatchSet: 4 Gerrit-Owner: msuraev <msuraev(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-CC: neels <nhofmeyr(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-Attention: msuraev <msuraev(a)sysmocom.de> Gerrit-Comment-Date: Mon, 06 Mar 2023 01:32:12 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-bts[master]: osmo-bts-trx: check lchan against NULL in bts_model_l1sap_down()
by fixeria 05 Mar '23

05 Mar '23
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/31671 ) Change subject: osmo-bts-trx: check lchan against NULL in bts_model_l1sap_down() ...................................................................... osmo-bts-trx: check lchan against NULL in bts_model_l1sap_down() Even though it's unlikely, get_lchan_by_chan_nr() *may* return NULL. Change-Id: I1a815c9675eebc16640b62308499dd784fc206bd Related: OS#1572 --- M src/osmo-bts-trx/l1_if.c 1 file changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/71/31671/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index 78a379b..af4762a 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -401,6 +401,13 @@ else /* u.act_req used by PRIM_INFO_{ACTIVATE,DEACTIVATE,MODIFY} */ chan_nr = l1sap->u.info.u.act_req.chan_nr; lchan = get_lchan_by_chan_nr(trx, chan_nr); + if (OSMO_UNLIKELY(lchan == NULL)) { + LOGP(DL1C, LOGL_ERROR, + "Rx MPH-INFO.req (type=0x%02x) for non-existent lchan (%s)\n", + l1sap->u.info.type, rsl_chan_nr_str(chan_nr)); + rc = -ENODEV; + break; + } switch (l1sap->u.info.type) { case PRIM_INFO_ACT_CIPH: -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/31671 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1a815c9675eebc16640b62308499dd784fc206bd Gerrit-Change-Number: 31671 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-bts[master]: osmo-bts-trx: clean up bts_model_l1sap_down()
by fixeria 05 Mar '23

05 Mar '23
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/31670 ) Change subject: osmo-bts-trx: clean up bts_model_l1sap_down() ...................................................................... osmo-bts-trx: clean up bts_model_l1sap_down() Having a common body for PRIM_INFO_{ACTIVATE,DEACTIVATE,MODIFY}, but then branching using if-statements is a bit confusing. Change-Id: I915c8a541249249e3c0b1f2eda4535e7c52db79f Related: OS#1572 --- M src/osmo-bts-trx/l1_if.c 1 file changed, 78 insertions(+), 68 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/70/31670/1 diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c index ae4fe70..78a379b 100644 --- a/src/osmo-bts-trx/l1_if.c +++ b/src/osmo-bts-trx/l1_if.c @@ -396,83 +396,57 @@ /* put data into scheduler's queue */ return trx_sched_tch_req(trx, l1sap); case OSMO_PRIM(PRIM_MPH_INFO, PRIM_OP_REQUEST): + if (l1sap->u.info.type == PRIM_INFO_ACT_CIPH) + chan_nr = l1sap->u.info.u.ciph_req.chan_nr; + else /* u.act_req used by PRIM_INFO_{ACTIVATE,DEACTIVATE,MODIFY} */ + chan_nr = l1sap->u.info.u.act_req.chan_nr; + lchan = get_lchan_by_chan_nr(trx, chan_nr); + switch (l1sap->u.info.type) { case PRIM_INFO_ACT_CIPH: - chan_nr = l1sap->u.info.u.ciph_req.chan_nr; - lchan = get_lchan_by_chan_nr(trx, chan_nr); if (l1sap->u.info.u.ciph_req.uplink) l1if_set_ciphering(lchan, chan_nr, 0); if (l1sap->u.info.u.ciph_req.downlink) l1if_set_ciphering(lchan, chan_nr, 1); break; case PRIM_INFO_ACTIVATE: + if ((chan_nr & 0xE0) == 0x80) { + LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "Cannot activate" + " channel %s\n", rsl_chan_nr_str(chan_nr)); + break; + } + + /* attempt to allocate an Error Concealment Unit instance, if available */ + lchan->ecu_state = osmo_ecu_init(trx, lchan2ecu_codec(lchan)); + + /* activate dedicated channel */ + trx_sched_set_lchan(lchan, chan_nr, LID_DEDIC, true); + /* activate associated channel */ + trx_sched_set_lchan(lchan, chan_nr, LID_SACCH, true); + /* set mode */ + trx_sched_set_mode(lchan->ts, chan_nr, + lchan->rsl_cmode, lchan->tch_mode, + lchan->tch.amr_mr.num_modes, + lchan->tch.amr_mr.mode[0].mode, + lchan->tch.amr_mr.mode[1].mode, + lchan->tch.amr_mr.mode[2].mode, + lchan->tch.amr_mr.mode[3].mode, + amr_get_initial_mode(lchan), + (lchan->ho.active == 1)); + /* set lchan active */ + lchan_set_state(lchan, LCHAN_S_ACTIVE); + /* set initial ciphering */ + l1if_set_ciphering(lchan, chan_nr, 0); + l1if_set_ciphering(lchan, chan_nr, 1); + if (lchan->encr.alg_id) + lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; + else + lchan->ciph_state = LCHAN_CIPH_NONE; + + /* confirm */ + mph_info_chan_confirm(trx, chan_nr, PRIM_INFO_ACTIVATE, 0); + break; case PRIM_INFO_DEACTIVATE: - case PRIM_INFO_MODIFY: - chan_nr = l1sap->u.info.u.act_req.chan_nr; - lchan = get_lchan_by_chan_nr(trx, chan_nr); - if (l1sap->u.info.type == PRIM_INFO_ACTIVATE) { - if ((chan_nr & 0xE0) == 0x80) { - LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "Cannot activate" - " channel %s\n", rsl_chan_nr_str(chan_nr)); - break; - } - - /* attempt to allocate an Error Concealment Unit instance, if available */ - lchan->ecu_state = osmo_ecu_init(trx, lchan2ecu_codec(lchan)); - - /* activate dedicated channel */ - trx_sched_set_lchan(lchan, chan_nr, LID_DEDIC, true); - /* activate associated channel */ - trx_sched_set_lchan(lchan, chan_nr, LID_SACCH, true); - /* set mode */ - trx_sched_set_mode(lchan->ts, chan_nr, - lchan->rsl_cmode, lchan->tch_mode, - lchan->tch.amr_mr.num_modes, - lchan->tch.amr_mr.mode[0].mode, - lchan->tch.amr_mr.mode[1].mode, - lchan->tch.amr_mr.mode[2].mode, - lchan->tch.amr_mr.mode[3].mode, - amr_get_initial_mode(lchan), - (lchan->ho.active == 1)); - /* set lchan active */ - lchan_set_state(lchan, LCHAN_S_ACTIVE); - /* set initial ciphering */ - l1if_set_ciphering(lchan, chan_nr, 0); - l1if_set_ciphering(lchan, chan_nr, 1); - if (lchan->encr.alg_id) - lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; - else - lchan->ciph_state = LCHAN_CIPH_NONE; - - /* confirm */ - mph_info_chan_confirm(trx, chan_nr, PRIM_INFO_ACTIVATE, 0); - break; - } - if (l1sap->u.info.type == PRIM_INFO_MODIFY) { - /* ECU for possibly new codec */ - if (lchan->ecu_state) - osmo_ecu_destroy(lchan->ecu_state); - lchan->ecu_state = osmo_ecu_init(trx, lchan2ecu_codec(lchan)); - /* change mode */ - trx_sched_set_mode(lchan->ts, chan_nr, - lchan->rsl_cmode, lchan->tch_mode, - lchan->tch.amr_mr.num_modes, - lchan->tch.amr_mr.mode[0].mode, - lchan->tch.amr_mr.mode[1].mode, - lchan->tch.amr_mr.mode[2].mode, - lchan->tch.amr_mr.mode[3].mode, - amr_get_initial_mode(lchan), - 0); - /* update ciphering params */ - l1if_set_ciphering(lchan, chan_nr, 0); - l1if_set_ciphering(lchan, chan_nr, 1); - if (lchan->encr.alg_id) - lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; - else - lchan->ciph_state = LCHAN_CIPH_NONE; - break; - } - /* here, type == PRIM_INFO_DEACTIVATE */ if ((chan_nr & 0xE0) == 0x80) { LOGPLCHAN(lchan, DL1C, LOGL_ERROR, "Cannot deactivate" " channel %s\n", rsl_chan_nr_str(chan_nr)); @@ -492,6 +466,29 @@ mph_info_chan_confirm(trx, chan_nr, PRIM_INFO_DEACTIVATE, 0); } break; + case PRIM_INFO_MODIFY: + /* ECU for possibly new codec */ + if (lchan->ecu_state) + osmo_ecu_destroy(lchan->ecu_state); + lchan->ecu_state = osmo_ecu_init(trx, lchan2ecu_codec(lchan)); + /* change mode */ + trx_sched_set_mode(lchan->ts, chan_nr, + lchan->rsl_cmode, lchan->tch_mode, + lchan->tch.amr_mr.num_modes, + lchan->tch.amr_mr.mode[0].mode, + lchan->tch.amr_mr.mode[1].mode, + lchan->tch.amr_mr.mode[2].mode, + lchan->tch.amr_mr.mode[3].mode, + amr_get_initial_mode(lchan), + 0); + /* update ciphering params */ + l1if_set_ciphering(lchan, chan_nr, 0); + l1if_set_ciphering(lchan, chan_nr, 1); + if (lchan->encr.alg_id) + lchan->ciph_state = LCHAN_CIPH_RXTX_CONF; + else + lchan->ciph_state = LCHAN_CIPH_NONE; + break; default: LOGP(DL1C, LOGL_NOTICE, "unknown MPH-INFO.req %d\n", l1sap->u.info.type); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/31670 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I915c8a541249249e3c0b1f2eda4535e7c52db79f Gerrit-Change-Number: 31670 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmo-bts[master]: osmo-bts-trx: alloc/free burst bufers in trx_sched_set_lchan()
by fixeria 05 Mar '23

05 Mar '23
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/31672 ) Change subject: osmo-bts-trx: alloc/free burst bufers in trx_sched_set_lchan() ...................................................................... osmo-bts-trx: alloc/free burst bufers in trx_sched_set_lchan() Change-Id: I6a5f76023fc492786076a63016f81285b3576c33 Related: OS#1572 --- M include/osmo-bts/scheduler_backend.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c 6 files changed, 91 insertions(+), 115 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/72/31672/1 diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h index 3b1388f..a389f25 100644 --- a/include/osmo-bts/scheduler_backend.h +++ b/include/osmo-bts/scheduler_backend.h @@ -29,6 +29,8 @@ trx_sched_dl_func *dl_fn; /*! \brief function to call when burst received from PHY */ trx_sched_ul_func *ul_fn; + /*! \brief size of Rx/Tx burst buffers */ + size_t burst_buf_size; /*! \brief channel flags, see TRX_CHAN_FLAG_* */ uint8_t flags; }; diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 14aff34..1d317a7 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -35,6 +35,7 @@ #include <osmocom/core/stats.h> #include <osmocom/gsm/protocol/gsm_08_58.h> +#include <osmocom/gsm/gsm0502.h> #include <osmocom/gsm/a5.h> #include <osmo-bts/gsm_data.h> @@ -169,6 +170,7 @@ /* Tx only, xCCH convolutional coding (3GPP TS 05.03, section 4.4), * regular interleaving (3GPP TS 05.02, clause 7, table 3): * a L2 frame is interleaved over 4 consecutive bursts. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, @@ -190,6 +192,7 @@ /* Tx only, xCCH convolutional coding (3GPP TS 05.03, section 4.4), * regular interleaving (3GPP TS 05.02, clause 7, table 3): * a L2 frame is interleaved over 4 consecutive bursts. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, @@ -208,6 +211,7 @@ * and odd numbered bits of the last 4 bursts; * - a FACCH/F frame 'steals' (replaces) one traffic frame, * interleaving is done in the same way. */ + .burst_buf_size = 8 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_tchf_fn, .dl_fn = tx_tchf_fn, .ul_fn = rx_tchf_fn, @@ -229,6 +233,7 @@ * using the even numbered bits of the first 2 bursts, * all bits of the middle two 2 bursts, * and odd numbered bits of the last 2 bursts. */ + .burst_buf_size = 6 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_tchh_fn, .dl_fn = tx_tchh_fn, .ul_fn = rx_tchh_fn, @@ -240,6 +245,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_TCHH_0, see above. */ + .burst_buf_size = 6 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_tchh_fn, .dl_fn = tx_tchh_fn, .ul_fn = rx_tchh_fn, @@ -251,6 +257,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -262,6 +269,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -273,6 +281,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -284,6 +293,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -295,6 +305,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -306,6 +317,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -317,6 +329,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -328,6 +341,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -339,6 +353,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -350,6 +365,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -361,6 +377,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -372,6 +389,7 @@ .link_id = LID_DEDIC, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -383,6 +401,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -394,6 +413,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -405,6 +425,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -416,6 +437,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -427,6 +449,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -438,6 +461,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -449,6 +473,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH4_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -460,6 +485,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -471,6 +497,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -482,6 +509,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -493,6 +521,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -504,6 +533,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -515,6 +545,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -526,6 +557,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -537,6 +569,7 @@ .link_id = LID_SACCH, /* Same as for TRXC_BCCH and TRXC_SDCCH8_* (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, .ul_fn = rx_data_fn, @@ -548,8 +581,8 @@ /* Rx and Tx, multiple coding schemes: CS-2..4 and MCS-1..9 (3GPP TS * 05.03, chapter 5), regular interleaving as specified for xCCH. - * NOTE: the burst buffer is three times bigger because the - * payload of EDGE bursts is three times longer. */ + * NOTE: 8-PSK modulated bursts are longer than GMSK modulated ones. */ + .burst_buf_size = 4 * GSM_NBITS_NB_8PSK_BURST, .rts_fn = rts_data_fn, .dl_fn = tx_pdtch_fn, .ul_fn = rx_pdtch_fn, @@ -564,6 +597,7 @@ * transfer mode. On Downlink, the network sends timing advance * updates for several mobile stations. The coding scheme used * for PTCCH/D messages is the same as for PDTCH CS-1. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .rts_fn = rts_data_fn, .dl_fn = tx_pdtch_fn, .ul_fn = rx_rach_fn, @@ -575,6 +609,7 @@ .chan_nr = RSL_CHAN_OSMO_CBCH4, /* Tx only, same as for TRXC_BCCH (xCCH), see above. */ + .burst_buf_size = 4 * GSM_NBITS_NB_GMSK_PAYLOAD, .flags = TRX_CHAN_FLAG_AUTO_ACTIVE, .rts_fn = rts_data_fn, .dl_fn = tx_data_fn, @@ -1097,29 +1132,31 @@ LOGPLCHAN(lchan, DL1C, LOGL_INFO, "%s %s\n", (active) ? "Activating" : "Deactivating", trx_chan_desc[i].name); - /* free burst memory, to cleanly start with burst 0 */ - if (chan_state->dl_bursts) { - talloc_free(chan_state->dl_bursts); - chan_state->dl_bursts = NULL; - } - if (chan_state->ul_bursts) { - talloc_free(chan_state->ul_bursts); - chan_state->ul_bursts = NULL; - } - if (chan_state->ul_bursts_prev) { - talloc_free(chan_state->ul_bursts_prev); - chan_state->ul_bursts_prev = NULL; - } if (active) { /* Clean up everything */ memset(chan_state, 0, sizeof(*chan_state)); + /* Allocate memory for Rx/Tx burst buffers */ + const size_t buf_size = trx_chan_desc[i].burst_buf_size; + if (trx_chan_desc[i].dl_fn != NULL) + chan_state->dl_bursts = talloc_zero_size(l1ts, buf_size); + if (trx_chan_desc[i].ul_fn != NULL) { + chan_state->ul_bursts = talloc_zero_size(l1ts, buf_size); + if (L1SAP_IS_LINK_SACCH(trx_chan_desc[i].link_id)) + chan_state->ul_bursts_prev = talloc_zero_size(l1ts, buf_size); + } + /* Bind to generic 'struct gsm_lchan' */ chan_state->lchan = lchan; } else { chan_state->ho_rach_detect = 0; + /* Release memory used by Rx/Tx burst buffers */ + TALLOC_FREE(chan_state->dl_bursts); + TALLOC_FREE(chan_state->ul_bursts); + TALLOC_FREE(chan_state->ul_bursts_prev); + /* Remove pending Tx prims belonging to this lchan */ trx_sched_queue_filter(&l1ts->dl_prims, chan_nr, link_id); } diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index 8300bdb..3afb4f5 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -60,13 +60,6 @@ if (bi->flags & TRX_BI_F_ACCESS_BURST) return rx_rach_fn(l1ts, bi); - /* allocate burst memory, if not already */ - if (!*bursts_p) { - *bursts_p = talloc_zero_size(l1ts, GSM0503_EGPRS_BURSTS_NBITS); - if (!*bursts_p) - return -ENOMEM; - } - /* clear burst */ if (bi->bid == 0) { memset(*bursts_p, 0, GSM0503_EGPRS_BURSTS_NBITS); @@ -157,8 +150,10 @@ /* send burst, if we already got a frame */ if (br->bid > 0) { - if (!*bursts_p) +#if 0 + if (!*bursts_p) // XXX: align to the first burst return -ENODEV; +#endif goto send_burst; } @@ -170,18 +165,11 @@ * take care of filling C0 with dummy bursts to keep expected * power transmit levels */ - goto no_msg; + return -ENODEV; } /* BURST BYPASS */ - /* allocate burst memory, if not already */ - if (!*bursts_p) { - *bursts_p = talloc_zero_size(l1ts, GSM0503_EGPRS_BURSTS_NBITS); - if (!*bursts_p) - return -ENOMEM; - } - /* encode bursts */ rc = gsm0503_pdtch_egprs_encode(*bursts_p, msg->l2h, msg->tail - msg->l2h); if (rc < 0) @@ -193,7 +181,7 @@ "(len=%ld)\n", (long)(msg->tail - msg->l2h)); /* free message */ msgb_free(msg); - goto no_msg; + return -EINVAL; } else if (rc == GSM0503_EGPRS_BURSTS_NBITS) { *mod = TRX_MOD_T_8PSK; } else { @@ -226,12 +214,4 @@ LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; - -no_msg: - /* free burst memory */ - if (*bursts_p) { - talloc_free(*bursts_p); - *bursts_p = NULL; - } - return -ENODEV; } diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index eff0f63..41153cb 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -99,13 +99,6 @@ LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received TCH/F, bid=%u\n", bi->bid); - /* allocate burst memory, if not already */ - if (!*bursts_p) { - *bursts_p = talloc_zero_size(l1ts, 928); - if (!*bursts_p) - return -ENOMEM; - } - /* shift the buffer by 4 bursts leftwards */ if (bi->bid == 0) { memcpy(*bursts_p, *bursts_p + 464, 464); @@ -483,23 +476,18 @@ /* send burst, if we already got a frame */ if (br->bid > 0) { - if (!*bursts_p) +#if 0 + if (!*bursts_p) // XXX return -ENODEV; +#endif goto send_burst; } /* BURST BYPASS */ - /* allocate burst memory, if not already, - * otherwise shift buffer by 4 bursts for interleaving */ - if (!*bursts_p) { - *bursts_p = talloc_zero_size(l1ts, 928); - if (!*bursts_p) - return -ENOMEM; - } else { - memcpy(*bursts_p, *bursts_p + 464, 464); - memset(*bursts_p + 464, 0, 464); - } + /* shift buffer by 4 bursts for interleaving */ + memcpy(*bursts_p, *bursts_p + 464, 464); + memset(*bursts_p + 464, 0, 464); /* dequeue a message to be transmitted */ msg = tch_dl_dequeue(l1ts, br); diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index 37fd59d..c722efa 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -122,13 +122,6 @@ LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received TCH/H, bid=%u\n", bi->bid); - /* allocate burst memory, if not already */ - if (!*bursts_p) { - *bursts_p = talloc_zero_size(l1ts, 696); - if (!*bursts_p) - return -ENOMEM; - } - /* shift the buffer by 2 bursts leftwards */ if (bi->bid == 0) { memcpy(*bursts_p, *bursts_p + 232, 232); @@ -384,27 +377,22 @@ /* send burst, if we already got a frame */ if (br->bid > 0) { - if (!*bursts_p) +#if 0 + if (!*bursts_p) // XXX return -ENODEV; +#endif goto send_burst; } /* BURST BYPASS */ - /* allocate burst memory, if not already, - * otherwise shift buffer by 2 bursts for interleaving */ - if (!*bursts_p) { - *bursts_p = talloc_zero_size(l1ts, 696); - if (!*bursts_p) - return -ENOMEM; + /* shift buffer by 2 bursts for interleaving */ + memcpy(*bursts_p, *bursts_p + 232, 232); + if (chan_state->dl_ongoing_facch) { + memcpy(*bursts_p + 232, *bursts_p + 464, 232); + memset(*bursts_p + 464, 0, 232); } else { - memcpy(*bursts_p, *bursts_p + 232, 232); - if (chan_state->dl_ongoing_facch) { - memcpy(*bursts_p + 232, *bursts_p + 464, 232); - memset(*bursts_p + 464, 0, 232); - } else { - memset(*bursts_p + 232, 0, 232); - } + memset(*bursts_p + 232, 0, 232); } /* dequeue a message to be transmitted */ diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index e936621..ec6163d 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -69,21 +69,6 @@ LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received Data, bid=%u\n", bi->bid); - /* allocate burst memory, if not already */ - if (!*bursts_p) { - *bursts_p = talloc_zero_size(l1ts, 464); - if (!*bursts_p) - return -ENOMEM; - } - - /* UL-SACCH requires additional memory to keep a copy of each previous - * burst set. */ - if (L1SAP_IS_LINK_SACCH(trx_chan_desc[bi->chan].link_id) && !chan_state->ul_bursts_prev) { - chan_state->ul_bursts_prev = talloc_zero_size(l1ts, 464); - if (!chan_state->ul_bursts_prev) - return -ENOMEM; - } - /* clear burst & store frame number of first burst */ if (bi->bid == 0) { memset(*bursts_p, 0, 464); @@ -175,45 +160,31 @@ /* send burst, if we already got a frame */ if (br->bid > 0) { - if (!*bursts_p) +#if 0 + if (!*bursts_p) // XXX: align to the first burst return -ENODEV; +#endif goto send_burst; } /* get mac block from queue */ msg = _sched_dequeue_prim(l1ts, br); - if (msg) - goto got_msg; - - LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No prim for transmit.\n"); - -no_msg: - /* free burst memory */ - if (*bursts_p) { - talloc_free(*bursts_p); - *bursts_p = NULL; + if (msg == NULL) { + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No prim for transmit.\n"); + return -ENODEV; } - return -ENODEV; -got_msg: /* check validity of message */ if (msgb_l2len(msg) != GSM_MACBLOCK_LEN) { LOGL1SB(DL1P, LOGL_FATAL, l1ts, br, "Prim has odd len=%u != %u\n", msgb_l2len(msg), GSM_MACBLOCK_LEN); /* free message */ msgb_free(msg); - goto no_msg; + return -EINVAL; } /* BURST BYPASS */ - /* allocate burst memory, if not already */ - if (!*bursts_p) { - *bursts_p = talloc_zero_size(l1ts, 464); - if (!*bursts_p) - return -ENOMEM; - } - /* encode bursts */ gsm0503_xcch_encode(*bursts_p, msg->l2h); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/31672 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6a5f76023fc492786076a63016f81285b3576c33 Gerrit-Change-Number: 31672 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[S] Change in libosmocore[master]: gsm0502: add burst length definitions from chapter 5.2
by fixeria 05 Mar '23

05 Mar '23
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/31669 ) Change subject: gsm0502: add burst length definitions from chapter 5.2 ...................................................................... gsm0502: add burst length definitions from chapter 5.2 Change-Id: I1c38ccc2b64ba9046bb3b1221d99cc55ec493802 Related: OS#1572 --- M include/osmocom/gsm/gsm0502.h 1 file changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/69/31669/1 diff --git a/include/osmocom/gsm/gsm0502.h b/include/osmocom/gsm/gsm0502.h index 8a8e51a..8fe9fb0 100644 --- a/include/osmocom/gsm/gsm0502.h +++ b/include/osmocom/gsm/gsm0502.h @@ -31,6 +31,36 @@ #define GSM_TDMA_FN_DEC(fn) \ ((fn) = GSM_TDMA_FN_SUB((fn), 1)) +/* 5.2.3.1 Normal burst for GMSK (1 bit per symbol) */ +#define GSM_NBITS_NB_GMSK_TAIL 3 +#define GSM_NBITS_NB_GMSK_PAYLOAD 2 * 58 +#define GSM_NBITS_NB_GMSK_TRAIN_SEQ 26 +#define GSM_NBITS_NB_GMSK_BURST 148 /* without guard period */ + +/* 5.2.3.3 Normal burst for 8-PSK (3 bits per symbol) */ +#define GSM_NBITS_NB_8PSK_TAIL GSM_NBITS_NB_GMSK_TAIL * 3 +#define GSM_NBITS_NB_8PSK_PAYLOAD GSM_NBITS_NB_GMSK_PAYLOAD * 3 +#define GSM_NBITS_NB_8PSK_TRAIN_SEQ GSM_NBITS_NB_GMSK_TRAIN_SEQ * 3 +#define GSM_NBITS_NB_8PSK_BURST GSM_NBITS_NB_GMSK_BURST * 3 + +/* 5.2.5 Synchronization burst (also GMSK) */ +#define GSM_NBITS_SB_GMSK_TAIL GSM_NBITS_NB_GMSK_TAIL +#define GSM_NBITS_SB_GMSK_PAYLOAD 2 * 39 +#define GSM_NBITS_SB_GMSK_ETRAIN_SEQ 64 +#define GSM_NBITS_SB_GMSK_BURST GSM_NBITS_NB_GMSK_BURST + +/* 5.2.6 Dummy burst (also GMSK) */ +#define GSM_NBITS_DB_GMSK_TAIL GSM_NBITS_NB_GMSK_TAIL +#define GSM_NBITS_DB_GMSK_MIXED 142 +#define GSM_NBITS_DB_GMSK_BURST GSM_NBITS_NB_GMSK_BURST + +/* 5.2.7 Access burst (also GMSK) */ +#define GSM_NBITS_AB_GMSK_ETAIL 8 +#define GSM_NBITS_AB_GMSK_SYNCH_SEQ 41 +#define GSM_NBITS_AB_GMSK_PAYLOAD 36 +#define GSM_NBITS_AB_GMSK_TAIL GSM_NBITS_NB_GMSK_TAIL +#define GSM_NBITS_AB_GMSK_BURST GSM_NBITS_NB_GMSK_BURST + /* Table 5 Clause 7 TS 05.02 */ static inline unsigned int gsm0502_get_n_pag_blocks(const struct gsm48_control_channel_descr *chan_desc) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/31669 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1c38ccc2b64ba9046bb3b1221d99cc55ec493802 Gerrit-Change-Number: 31669 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newchange
1 0
0 0
[L] Change in libosmocore[master]: gsm: TS 44.021 modified V.110 frame encoding/decoding support
by laforge 05 Mar '23

05 Mar '23
Attention is currently required from: laforge. Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/31668 to look at the new patch set (#3). Change subject: gsm: TS 44.021 modified V.110 frame encoding/decoding support ...................................................................... gsm: TS 44.021 modified V.110 frame encoding/decoding support 3GPP TS 44.021 specifies the format for modified V.110 frames as used on the GSM air (radio) interface. Implement encoders and decoders for this modified V.110 format. Related: OS#1572 Change-Id: I60a2f2690459359437df20cf4da9043fa7c3ad11 --- M include/osmocom/gsm/Makefile.am A include/osmocom/gsm/gsm44021.h M src/gsm/Makefile.am A src/gsm/gsm44021.c M src/gsm/libosmogsm.map M tests/Makefile.am A tests/gsm44021/test_frame_csd.c A tests/gsm44021/test_frame_csd.ok M tests/testsuite.at 9 files changed, 455 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/31668/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/31668 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I60a2f2690459359437df20cf4da9043fa7c3ad11 Gerrit-Change-Number: 31668 Gerrit-PatchSet: 3 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-MessageType: newpatchset
1 0
0 0
[XL] Change in libosmocore[master]: isdn: Add V.110 encoder/decoder
by laforge 05 Mar '23

05 Mar '23
Attention is currently required from: laforge, fixeria. Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/30762 to look at the new patch set (#9). Change subject: isdn: Add V.110 encoder/decoder ...................................................................... isdn: Add V.110 encoder/decoder V.110 defines a B-channel protocol for transmission of synchronous and asynchronous serial data of V-series interfaces via terminal adapters over ISDN. Let's add (unoptimized but easy to debug) functions for encoding and decoding of V.110 frames for various bit-rates. Related: OS#1572 Change-Id: I1b5fd3847d3bfb0a0f763e0574893962ec699680 --- M include/osmocom/isdn/Makefile.am A include/osmocom/isdn/v110.h M src/isdn/Makefile.am M src/isdn/libosmoisdn.map A src/isdn/v110.c M tests/Makefile.am M tests/testsuite.at A tests/v110/test_frame.c A tests/v110/test_frame.ok A tests/v110/test_ra1.c A tests/v110/test_ra1.ok 11 files changed, 1,031 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/62/30762/9 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/30762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1b5fd3847d3bfb0a0f763e0574893962ec699680 Gerrit-Change-Number: 30762 Gerrit-PatchSet: 9 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: newpatchset
1 0
0 0
[XL] Change in libosmocore[master]: isdn: Add V.110 encoder/decoder
by laforge 05 Mar '23

05 Mar '23
Attention is currently required from: fixeria. laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/30762 ) Change subject: isdn: Add V.110 encoder/decoder ...................................................................... Patch Set 8: (1 comment) File src/isdn/libosmoisdn.map: https://gerrit.osmocom.org/c/libosmocore/+/30762/comment/d43bf8dc_26bae7b5 PS1, Line 26: sync_ra1 > no osmo_ prefix? Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/30762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1b5fd3847d3bfb0a0f763e0574893962ec699680 Gerrit-Change-Number: 30762 Gerrit-PatchSet: 8 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Sun, 05 Mar 2023 20:24:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-MessageType: comment
1 0
0 0
[XL] Change in libosmocore[master]: isdn: Add V.110 encoder/decoder
by Jenkins Builder 05 Mar '23

05 Mar '23
Attention is currently required from: laforge, fixeria. Jenkins Builder has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/30762 ) Change subject: isdn: Add V.110 encoder/decoder ...................................................................... Patch Set 8: (2 comments) File src/isdn/v110.c: Robot Comment from checkpatch (run ID jenkins-gerrit-lint-4455): https://gerrit.osmocom.org/c/libosmocore/+/30762/comment/4113e01d_93d4085a PS8, Line 82: ra_bits[2 * 8 +7] = fr->x_bits[0]; need consistent spacing around '+' (ctx:WxV) (or typedef missing in osmo-ci/lint/checkpatch/typedefs_osmo.txt?) Robot Comment from checkpatch (run ID jenkins-gerrit-lint-4455): https://gerrit.osmocom.org/c/libosmocore/+/30762/comment/10d35b6f_34c42883 PS8, Line 83: ra_bits[7 * 8 +7] = fr->x_bits[1]; need consistent spacing around '+' (ctx:WxV) (or typedef missing in osmo-ci/lint/checkpatch/typedefs_osmo.txt?) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/30762 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1b5fd3847d3bfb0a0f763e0574893962ec699680 Gerrit-Change-Number: 30762 Gerrit-PatchSet: 8 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Sun, 05 Mar 2023 20:24:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • ...
  • 365
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.