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

peripheral displayed as Accessory on iOS

Hi,

has anyone observed a behavior where the peripheral would be displayed as Accessory on iOS? I'm seeing this occasionally with my S132 v5.0.0 peripheral, but can't seem to reproduce it. Not sure if it happens after buttonless DFU or pairing with multiple centrals.

I'll appreciate the help

  • Yes, own firmware. Absolutely no reference to accessory in the project.

  • iOS Settings page -> Bluetooth

    Then the device is listed as Accessory. After pairing, the name changes to the correct one, but it's still displayed as Accessory until then.

  • Ofcourse, i thought you were testing against one of our apps, i'll write up an answer now :)

  • As per your comments, you are seeing this in the iOS bluetooth options, where this seems to be an expected behaviour, iOS tries to show a "Friendly name" until the connection is established, if you follow the Bluetooth Accessory Design Guidelines, specifically in

    Section 2.1.5 Extended Inquiry Response, it states the following:

    During the Bluetooth discovery process, the Apple product prefers to display the Friendly Name of discovered accessories. Before the 2.1 version of the Bluetooth specification the Apple product would have to set up a connection to the accessory and do a Remote Name Request, which takes power, antenna time, and user's time. The Extended Inquiry Response feature, introduced in Bluetooth 2.1, lets an accessory send its Local Name and other information as part of the Inquiry Response and thereby increase the speed and efficiency of the discovery process. The Local Name should match the accessory's markings and packaging and not contain ':' or ';'.

    I would also check out

    Section 2.1.8 Class of Device (CoD)

    specifically this paragraph:

    Every accessory that is compatible with an Apple product must accurately set its Class of Device using the Bluetooth SIG defined Major Device Class and Minor Device Class. See Volume 3, Part C, Section 3.2.4 in the Bluetooth Core Specification , Version 5.0. For example, an audio/video accessory intended to operate in a vehicle should set Major Device Class to audio/video and Minor Device Class to car-audio .

    My guess is this is where you can set your device class, allowing iOS to give it a proper "Friendly name"

    I would help further if you give more details, but I think this should resolve your issue, also, make sure to note which bluetooth version the iOS device you're testing on is using.

    So in conclusion, this is not a bug, it's an expected behaviour

    You may check the rest of the design guidelines to ensure you have implemented all the required services and characteristics.

Related