This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Advertising a service but not connectable?

I noticed while running a Bluetooth scanner app on my iPad, while testing one of my devices, that it was showing someone else's device in the locality.

What I found strange about this was that the device was not advertising as being connectable, but did advertise a service and had manufacturer data but also service data

{
    kCBAdvDataIsConnectable = 0;
    kCBAdvDataManufacturerData = <e0000104 ca525670>;
    kCBAdvDataServiceData =     {
        FE9F = <02425043 2d425f33 367a4877 0000015d db6deb30>;
    };
    kCBAdvDataServiceUUIDs =     (
        FE9F
    );
}

Could anyone tell, me why a device would advertise as having a service but not be connectable?

And why they have Service Data as well as manufacturer data

BTW. I noticed the service uuid also looks to be very strange number.

Parents Reply
  • yes I know it's not your code, your post was quite clear on that point. Service data is a standard data type which says "this is the actual value for this service" so a central can read data without connecting. It's generally not very useful because it only takes 16 bit UUIDs and thus can only be used for properly BLE registered services. In this case FE9F is registered to google so it's probably some google alexa spy device or something.

Children
No Data
Related