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/OpenBSC@lists.osmocom.org/.
Andreas Eversberg andreas at eversberg.euHolger Hans Peter Freyther wrote: > What about the below snippet. Does it work for you? It matches what the > other (not implemented) routines do. Which ARFCN list did you encode? In > our tests we probably never had orig_arfcn_hi:1 set. > > diff --git a/openbsc/src/libbsc/arfcn_range_encode.c b/openbsc/src/libbsc/arfcn_range_encode.c > index 02a75a5..5a2345e 100644 > --- a/openbsc/src/libbsc/arfcn_range_encode.c > +++ b/openbsc/src/libbsc/arfcn_range_encode.c > @@ -210,10 +210,11 @@ int range_enc_range256(uint8_t *chan_list, int f0, int *w) > int range_enc_range512(uint8_t *chan_list, int f0, int *w) > { > struct gsm48_range_512 *range512; > + > + chan_list[0] = 0x44; > write_orig_arfcn(chan_list, f0); > > range512 = (struct gsm48_range_512 *)&chan_list[0]; > - range512->form_id = chan_list[0] = 0x44; > > /* W(1) */ > range512->w1_hi = HIGH_BITS(w, 1, 9, 7); "range512->form_id" points to the upper 7 bits of chan_list[0]. when you do that, you would write 0x44 to chan_list[0] instead of the required 0x88. use "chan_list[0] = 0x88" instead.