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/.
fixeria gerrit-no-reply at lists.osmocom.orgfixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/17709 ) Change subject: l1if: fix pcu_rx_rach_ind(): properly pack 8-bit and 11-bit RA ...................................................................... l1if: fix pcu_rx_rach_ind(): properly pack 8-bit and 11-bit RA According to 3GPP TS 44.004, section 7.4a, two alternative RACH block formats are specified: 8 bit (1 octet) and 11 bit. The bit order is LSB (right to left), byte order is MSB. In PCUIF RACH.ind structure (see gsm_pcu_if_rach_ind) we use a field of type uint16_t to store RA values regardles of the block format. Thus when packing it to bytes, we cannot just cast uint16_t* to uint8_t*, we need to do some bit shifting. Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb --- M src/pcu_l1_if.cpp 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/09/17709/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index a5d5662..906ed83 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -439,6 +439,7 @@ { BTS *bts = BTS::main_bts(); /* FIXME: resolve BTS by number */ int current_fn = bts->current_frame_number(); + uint8_t ra_buf[2]; int rc = 0; LOGP(DL1IF, LOGL_INFO, "RACH request received: sapi=%d " @@ -446,9 +447,15 @@ rach_ind->ra, rach_ind->fn, current_fn, rach_ind->is_11bit); #define send_gsmtap_ra(category, chan) do { \ + if (rach_ind->is_11bit) { \ + ra_buf[0] = (uint8_t) (rach_ind->ra >> 3); \ + ra_buf[1] = (uint8_t) (rach_ind->ra & 0x07); \ + } else { \ + ra_buf[0] = (uint8_t) (rach_ind->ra & 0xff); \ + } \ bts->send_gsmtap(category, true, rach_ind->trx_nr, rach_ind->ts_nr, \ chan, bts->rfn_to_fn(rach_ind->fn), \ - (uint8_t*)&rach_ind->ra, rach_ind->is_11bit ? 2 : 1); \ + ra_buf, rach_ind->is_11bit ? 2 : 1); \ } while (0) switch (rach_ind->sapi) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/17709 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I08a0a908f855b0d8a002df732e02781126d27dfb Gerrit-Change-Number: 17709 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <axilirator at gmail.com> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200402/1a03beb3/attachment.htm>