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
  • Hi Hung,

    IOS8 fails to pair about 50% of the time. It is flaky – When pairing, the bluetooth status on the iphone quickly alternates between “connected” and “not connected” several times before settling (if lucky) on “connected”. Once it is "connected", it doesn't work as expected.

    Please find attached two wireshark sniffer traces saved on dropbox:

    1. Fails. IOS8 on an iphone 4s. After it pairs, I sent the letters “a”, “b” and “c” from the Nordic BLE board. We can see this in packets 3957, 4226, and 4420 respectively. However, no characters appear on the iphone. This demo code worked on this iphone 4s when it had iOS7. It stopped working after I updated OS to iOS8. www.dropbox.com/.../data_fail_ios8.pcapng

    2. Works. IOS 7 on an iphone 5. After it pairs, I sent the letters “a” and “b” from the Nordic BLE board. We can see this in packets 2565 and 2805. The characters appear on the iphone as desired. www.dropbox.com/.../data_works_ios7.pcapng

    Thank you in advance for your assistance!

    Cheers, Ken

Reply
  • Hi Hung,

    IOS8 fails to pair about 50% of the time. It is flaky – When pairing, the bluetooth status on the iphone quickly alternates between “connected” and “not connected” several times before settling (if lucky) on “connected”. Once it is "connected", it doesn't work as expected.

    Please find attached two wireshark sniffer traces saved on dropbox:

    1. Fails. IOS8 on an iphone 4s. After it pairs, I sent the letters “a”, “b” and “c” from the Nordic BLE board. We can see this in packets 3957, 4226, and 4420 respectively. However, no characters appear on the iphone. This demo code worked on this iphone 4s when it had iOS7. It stopped working after I updated OS to iOS8. www.dropbox.com/.../data_fail_ios8.pcapng

    2. Works. IOS 7 on an iphone 5. After it pairs, I sent the letters “a” and “b” from the Nordic BLE board. We can see this in packets 2565 and 2805. The characters appear on the iphone as desired. www.dropbox.com/.../data_works_ios7.pcapng

    Thank you in advance for your assistance!

    Cheers, Ken

Children
  • Please, reply to my answer with the comment, not by creating another answer. You can split them into 2 comments if you have trouble with 900 char limit.

    From the sniffer trace, I don't see any issue with pairing in the data_fail_ios8.pcapng trace. Note that Pairing is when the link is encrypting. I don't see any issue with that. The link was encrypted correctly. Are you sure you sent me the correct failed bonding trace ?

Related