Unable to scan with certain parameters when already connected to a device

We need to connect to multiple devices at once. We are controlling the SD via a serialised connection, with another chip controlling the parameters.

If we scan using interval/window of 160/80 (100ms/50ms), everything works as expected. We can scan, connect, and then begin scanning again.

But if we use 6553/6553 (~4s) as requested by the OS, we can scan the first time without any issues, but once connected to a device, scanning again returns NO results. We scan for 40 seconds at a time, so we should be cycling through the channels without issue.

We do not support extended scanning.

Our other scan parameters are as follows:

  hcic_scan_params.extended = 0;
  hcic_scan_params.report_incomplete_evts = 0;
  hcic_scan_params.active = 1;
  hcic_scan_params.filter_policy = 0;
  hcic_scan_params.scan_phys = BLE_GAP_PHY_AUTO;
  hcic_scan_params.channel_mask[0] = 0;
  hcic_scan_params.channel_mask[1] = 0;
  hcic_scan_params.channel_mask[2] = 0;
  hcic_scan_params.channel_mask[3] = 0;
  hcic_scan_params.channel_mask[4] = 0;
Our SoftDevice is S332, v6.1.1
Is there any known reason why this would happen?
(It is not really possible to provide attachments to recreate this, since it using an external OS)
Related