summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/target/firmware/layer1/l23_api.c21
-rw-r--r--src/target/firmware/layer1/mframe_sched.c4
2 files changed, 15 insertions, 10 deletions
diff --git a/src/target/firmware/layer1/l23_api.c b/src/target/firmware/layer1/l23_api.c
index daffaf8b..e78020de 100644
--- a/src/target/firmware/layer1/l23_api.c
+++ b/src/target/firmware/layer1/l23_api.c
@@ -97,10 +97,13 @@ static uint32_t chan_nr2mf_task_mask(uint8_t chan_nr, uint8_t neigh_mode)
lch_idx = cbits & 0x7;
master_task = MF_TASK_SDCCH8_0 + lch_idx;
multiframe = MF51;
- } else if ((cbits & 0x1e) == 0x18) {
- /* Osmocom specific extension for CBCH */
- master_task = (cbits & 0x01) ? /* 0b1100T */
- MF_TASK_SDCCH4_CBCH : MF_TASK_SDCCH8_CBCH;
+ } else if ((cbits & 0x1f) == 0x19) {
+ /* Osmocom specific extension for CBCH on SDCCH/4 */
+ master_task = MF_TASK_SDCCH4_CBCH;
+ multiframe = MF51;
+ } else if ((cbits & 0x1f) == 0x1a) {
+ /* Osmocom specific extension for CBCH on SDCCH/8 */
+ master_task = MF_TASK_SDCCH8_CBCH;
multiframe = MF51;
#if 0
} else if (cbits == 0x10) {
@@ -141,10 +144,12 @@ static int chan_nr2dchan_type(uint8_t chan_nr)
return GSM_DCHAN_SDCCH_4;
} else if ((cbits & 0x18) == 0x08) {
return GSM_DCHAN_SDCCH_8;
- } else if ((cbits & 0x1e) == 0x18) {
- /* Osmocom-specific extension for CBCH */
- return (cbits & 0x01) ? /* 0b1100T */
- GSM_DCHAN_SDCCH_8_CBCH : GSM_DCHAN_SDCCH_4_CBCH;
+ } else if ((cbits & 0x1f) == 0x19) {
+ /* Osmocom-specific extension for CBCH on SDCCH/4 */
+ return GSM_DCHAN_SDCCH_4_CBCH;
+ } else if ((cbits & 0x1f) == 0x1a) {
+ /* Osmocom-specific extension for CBCH on SDCCH/8 */
+ return GSM_DCHAN_SDCCH_8_CBCH;
}
return GSM_DCHAN_UNKNOWN;
diff --git a/src/target/firmware/layer1/mframe_sched.c b/src/target/firmware/layer1/mframe_sched.c
index 7fa38c13..9c2954c3 100644
--- a/src/target/firmware/layer1/mframe_sched.c
+++ b/src/target/firmware/layer1/mframe_sched.c
@@ -416,10 +416,10 @@ uint8_t mframe_task2chan_nr(enum mframe_task mft, uint8_t ts)
/* Osmocom specific extensions */
case MF_TASK_SDCCH4_CBCH:
- cbits = 0x18;
+ cbits = 0x19;
break;
case MF_TASK_SDCCH8_CBCH:
- cbits = 0x19;
+ cbits = 0x1a;
break;
case MF_TASK_UL_ALL_NB: