jonas-schievink / rubble

(going to be a) BLE stack for embedded Rust
BSD Zero Clause License
398 stars 55 forks source link

iOS not seeing ~50% of nRF52 modules #56

Open fmckeogh opened 5 years ago

fmckeogh commented 5 years ago

On 2 out of 4 tested chips, when running the example code, the device is not visible to iOS (tested on iPhone 7 and XS). All chips work with Android devices. Currently believed to be due to inter-frame spacing issues during scan events.

jonas-schievink commented 3 years ago

Note that this issue only affects scan events, which are used when a device is sending connectable (or scannable) advertising PDUs. It does not affect beacons, which are non-connectable advertising PDUs.

dthoma commented 3 years ago

I've got the same issue on Android (Pixel 3a). If I change the code to send a non-connectable PDU, Android does find the device, but it fails to for a connectable PDU. I can see the scan requests in the trace. From my laptop the device works just fine.

valpackett commented 2 years ago

Trying the characteristic demo here, Android does not discover it at all while my desktop (FreeBSD with Intel Bluetooth) does. An ESP32 also does see it. UPD: can confirm the "If I change the code to send a non-connectable PDU" thing

nebelgrau77 commented 2 years ago

BLE n00b here. The demo works fine for me, but it's only visible to my kubuntu machine with an EDUP brand Bluetooth/WiFi dongle. Neither Rasperry Pi 4, nor two Android phones with nRF Connect can see it. I tried it with two different boards, Arduino Nano BLE Sense (u-blox chip) and Adafruit ItsyBitsy (Raytec chip). So... how do I change it to send a non-connectable PDU, then?

BTW no luck with the beacon demo, no device can see it.

valpackett commented 2 years ago

how do I change it to send a non-connectable PDU, then?

Doing what beacon does.

no luck with the beacon demo, no device can see it

Very weird, that's with the interfaces that show everything (like nRF Connect), not just various OS built-in device scanners that only show connectable devices?

nebelgrau77 commented 2 years ago

Doing what beacon does.

which would be what exactly? broadcast instead of advertise?

Very weird, that's with the interfaces that show everything (like nRF Connect), not just various OS built-in device scanners that only show connectable devices?

yes, nRF Connect on two different Samsung Axx phones, as well as bluetoothctl on the Linux machine, the one that can see the other demo.