I have a custom IoT device which my firm developed, along with a companion mobile application. The device and app work well across all iOS and most Android devices - however, I am having a great deal of trouble with my Samsung Galaxy A10e. For comparison and to keep it Samsung - everything works perfectly well on my Samsung Galaxy A42.
The issue is the the BLE Scanner doesn’t reliably discover my devices advertising packets.
The device advertises at 20ms and 152.5ms intervals simultaneously, using simple legacy advertising with a scan response.
The mobile app scans in LowLatency, allowing all matches.
On my A42, I can discover large numbers of devices (8 to 10 in test) in seconds. On my A10e I can discover 1 or 2 of 8 over the course of several minutes. Advertising packets are never “seen” for the others, and there are long delays (minutes) between advertising packet notifications for any discovered device.
Further, my A42 will connect to the device, discover services, and read some custom GATT data, in seconds. Again, my A10e takes minutes to do the same, and usually just times out.
I have the same issue using nRF Connect instead of my mobile app, so I am confident the issue is not in the app (though happy to try any recommended changes).
Why would BLE Scan performance be so much worse on this device?