Closed lbm-team closed 6 months ago
Modem sometimes crashes in LR-FHSS depending on random choice of hop_sequence_id
Below is the proposed fix to resolve the issue:
diff --git a/lbm_lib/smtc_modem_core/lr1mac/src/lr1_stack_mac_layer.c b/lbm_lib/smtc_modem_core/lr1mac/src/lr1_stack_mac_layer.c index d84b08f45e6491bac95972cfc1d028c205db03af..e46460a741e3f5221553bd5d47393dd12e9f1319 100644 --- a/lbm_lib/smtc_modem_core/lr1mac/src/lr1_stack_mac_layer.c +++ b/lbm_lib/smtc_modem_core/lr1mac/src/lr1_stack_mac_layer.c @@ -497,7 +497,8 @@ void lr1_stack_mac_tx_radio_start( lr1_stack_mac_t* lr1_mac ) SMTC_MODEM_HAL_PANIC_ON_FAILURE( ral_lr_fhss_get_hop_sequence_count( &lr1_mac->rp->radio->ral, &lr_fhss_param.ral_lr_fhss_params, &nb_max_hop_sequence ) == RAL_STATUS_OK ); - lr_fhss_param.hop_sequence_id = smtc_modem_hal_get_random_nb_in_range( 0, ( uint32_t ) nb_max_hop_sequence ); + lr_fhss_param.hop_sequence_id = + smtc_modem_hal_get_random_nb_in_range( 0, ( uint32_t ) nb_max_hop_sequence - 1 ); lr_fhss_param.ral_lr_fhss_params.lr_fhss_params.modulation_type = LR_FHSS_V1_MODULATION_TYPE_GMSK_488; lr_fhss_param.ral_lr_fhss_params.lr_fhss_params.cr = tx_cr; lr_fhss_param.ral_lr_fhss_params.lr_fhss_params.grid = smtc_real_lr_fhss_get_grid( lr1_mac->real );
Fixed in v4.3.1
Modem sometimes crashes in LR-FHSS depending on random choice of hop_sequence_id
Below is the proposed fix to resolve the issue: