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

HID Keyboard Demo - works for iOS 7 but not iOS 8

Hello,

I am trying to use the HID Keyboard Demo (ble_HID_keyboard_template from arduino sdk) . I'm using a RedBearLabs Blend Arduino with the nrF8001.

It works great with iOS 7 (iphone 5)

However, I am not able to get it to work with iOS 8.4 (using iphone 4S). It sometimes pairs (requires multiple attempts), and when it does pair I know it is sending the character "A" to the phone. However, the letter "A" never shows up on the phone.

Am I doing something wrong? Is there a work-around for this?

Thank you, Ken

Parents Reply Children
  • Hi Hung, I have been working with the board for the past few hours. I seem to be able to bond the iOS8 reliably now if I press the reset button while the firmware is uploading. The problem remains that when it is paired, the characters sent from the BLE device to the iOS8 phone does not show up on the phone. It looks like the characters are being sent over the air (looking at the Wireshark trace), but the iphone is not processing them correctly. Do you see the same behavior on your side? Thanks in advance for your help! Cheers, Ken

  • I am not quite sure I understand "press the reset button while the firmware is uploading", are you also doing DFU ? What happens when reset when doing DFU ? Regarding the issue of the characters missing. As mentioned above, we have reproduced the issue and 've reported them to Apple, we are waiting for their response.

  • I am not doing DFU. Re “pressing the reset button while the firmware is uploading” – I’m using a Redbear Labs Blend board. I don’t know why it works, but it seems to behave better when press the reset button while the Arduino IDE is in the middle of uploading a sketch. Perhaps this is something esoteric and specific to this board.
    I am very interested in what Apple has to say re the characters missing. Is Apple good at getting back to you with answers? Or should I not get my hopes up?

  • Hi Ki, As mentioned in my comment bellow, I didn't see any issue with pairing in the trace you sent. I'm not sure how pressing reset button when flashing have something to do with pairing issue with the phone.

    Regarding the Apple response, it's hard to say. But I will let you know when we have a solution.

  • Hi Hung,

    I just came across this article about iOS8.1

    "The first fix in Apple's list is a patch to the Bluetooth stack. It seems that in iOS 8, unencrypted Bluetooth connections were accepted if they came from HIDs, or Human Interface Devices. Your iPhone already has a keyboard (the on-screen one) accessible to anyone with physical access to an unlocked device, so allowing unencrypted connections from add-on HIDs sounds as though it should be low risk. But an unencrypted connection means that there is no shared secret between that device and your iPhone, and thus no way to authenticate the device when it connects....

Related