CODED PHY enabled device is unscannable

Hi,

I am currently developing a long range bluetooth module with the U-Blox NINA-B31 BLE module, based off the Nordic nRF52840 chip. I have come across an issue which I have been trying to resolve which I am running out of things to try.

Basically we have a software application that can scan over bluetooth for devices designed to connect to it (done via prefix in device name) which is designed using the QT Framework. These devices are filtered and added to the program and displayed in a list. The user can then select a device and connect to it. If I disable CODED PHY and set the Extended Advertising and Scanning settings to: Scan and Advertising on 1Mbps, Extended advertising disabled , then the device is able to be identified and added to the list in the program.

Further, sniffing via WireShark and using the Windows Bluetooth Virtual Sniffer, I am able to scan with our application and see the following in WireShark (marked as scannable:

However, enabling CODED PHY results in the device becoming unscannable. Explicitly, I have set the CODED implementation to: Scan and advertising on 1Mbps, CODED secondary. Enabling this, the software is not able to identify the device.  I have confirmed this with a series of debug prints that just prints all the devices it is able to identify. Further checking WireShark, it seems that the "scannable" status is set to false:

I've been reading the AT command manual for the NINA-B3 but have not been able to find anything related to scanning while CODED PHY is active.

But, if I attempt to scan via the nRF Connect app on my phone, I am able to identify the device and its connection parameters.

I am not really sure what else to do at this moment. I have been digging extensively through QT documentation (which is what our software is based off), but I am unable to find information that can help me here so I am unsure if the issue lies in our software, or if this is a limitation of nRF chips. To add, I have also modified the scan and connection intervals and windows where interval = 2*window.

I have an nRF52840 DK on my desk and can sniff via wireshark with it as well, but I wanted to check the bluetooth on my PC first before I scanned with that. The result of the nRF sniffer:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Frame 5919: 76 bytes on wire (608 bits), 76 bytes captured (608 bits) on interface COM31-4.2, id 0
Section number: 1
Interface id: 0 (COM31-4.2)
Interface name: COM31-4.2
Interface description: nRF Sniffer for Bluetooth LE COM31
Encapsulation type: nRF Sniffer for Bluetooth LE (186)
Arrival Time: Sep 10, 2024 15:37:13.907336000 AUS Eastern Standard Time
UTC Arrival Time: Sep 10, 2024 05:37:13.907336000 UTC
Epoch Arrival Time: 1725946633.907336000
[Time shift for this packet: 0.000000000 seconds]
[Time delta from previous captured frame: 0.004999000 seconds]
[Time delta from previous displayed frame: 1.006609000 seconds]
[Time since reference or first frame: 16.324203000 seconds]
Frame Number: 5919
Frame Length: 76 bytes (608 bits)
Capture Length: 76 bytes (608 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: nordic_ble:btle:btcommon]
nRF Sniffer for Bluetooth LE
Board: 31
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
\

 

Computer Platform:

Hardware: NINA-B311-01BDKR-ND based on nRF52840