Some more infos ...
1) I changed the mframe_schedule a bit so that when changing task, we deactivate the first then wait a little before activating the next one. I think it would have been possible that previous MF task scheduled something that would conflict with the new MF task ...
2) I replaced the SDCCH8_0 task with a custom one :
static const struct mframe_sched_item mf_rx_all_nb[] = { { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 0 }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 4 }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 8 }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 12 }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 16 }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 20 }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 24 }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 28 }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 32, .flags = MF_F_SACCH }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 36, .flags = MF_F_SACCH }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 40, .flags = MF_F_SACCH }, { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 44, .flags = MF_F_SACCH }, { .sched_set = NULL } };
This basically is RX only and receives all SDCCH and SAACH on the timeslot. When I do this, I see the good data on SAACH and SDCCH correcponding to subchannel 0. (everything else is garbage).
But if I try a custom task that just RX subchannel 0 :
static const struct mframe_sched_item mf_rx_all_nb[] = { { .sched_set = NB_QUAD_FH_DL, .modulo = 51, .frame_nr = 0 }, { .sched_set = NB_QUAD_FH_DL, .modulo = 2*51, .frame_nr = 32, .flags = MF_F_SACCH }, { .sched_set = NULL } };
Then, it doesn't work, I don't see the SI5/6 messages on SAACH.
Cheers,
Sylvain