Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Keyfob support iOS through HID Device (Volume Up control)

Other Parts Discussed in Thread: ASH, CC2541, CC2540

Dear TI, 

This is regarding HID control issue of Keyfob for iOS. I am using consumer control report map using only volume up  feature while key pressing. Its working well with Android but Its not supporting iOS (iPAD, iPhone...). The same code frame I am using to control the function of iOS through KeyFob as HID device. 

 

Issues are:

1. Volume up not supporting iOS (same is supported by Android).


2. Once I connect the HID device (keyfob) to iOS, Its connected well but when I press key to control its volume up, paired connection between Keyfob and iOS gets disconnected. (in fact, there is no code relation with key press and disconnection).


Please help to solve these issues. Urgent help needed.

Thanks a lot.

/Ash

  • Dear Johan,

    Thanks for your reply~

    well, I tried your shared report map (both the approaches), working well with Android (4.4.2), but not responding for iOS (8.1.3).

    I am very confused, why this is happening. Is this Connection parameter issue / HID-BLE issue / Key press issue or something else...?

    I am attaching here with the packet sniffing log for both the approaches, I tried with Android and iOS. Please check and let me know the corrections/modifications.

    20150409_[Android(4.4.2)+iOS(8.1.3)]_Keyfob_sniffer_1stApproachTI.psd(KSPress).psd

    20150409_Note3(4.4.2)_Keyfob_sniffer_2ndApproachTI.psd(KSPress).psd

    20150409_iOS(8.1.3)_Keyfob_sniffer_2ndApproachTI.psd(KSPress).psd

     

    File1 [Approach1]: Contains first packet data with Android 4.4.2. Second data with iOS 8.1.3.{key press on keyfob}

    File2[Approach2]: Contains packet data with Android 4.4.2 {key press on keyfob}

    File3[Approach2]: Contains packet data with iOS 8.1.3 {key press on keyfob}

    Please help me to resolve this issue. I have already shared most of the code I am using, in my previous replies. Please check if needed.

    Thanks n Regards 

  • Hi Ash,

    We have seen some issues with connection parameter update causing some issues on key presses on iOS8.2 devices(some devices like iPhone 6). 

    Can you disable the connection parameter update by default and check again?

    please edit the following line in hiddev.c

    static uint8 updateConnParams = TRUE;  

    to 

    static uint8 updateConnParams = FALSE;

    Also change the symbol in in hidemukbd.c

    #define DEFAULT_ENABLE_UPDATE_REQUEST TRUE

    to

    #define DEFAULT_ENABLE_UPDATE_REQUEST FALSE

    We do not have a iOS8.1.3 device at our disposal to test. But let us know if this helps you or not?

    Regards,

    Arun

  • Dear Arun,Thanks for your reply~
    well, I tried the test after doing modification which you suggested. The connection is stable, no disconnection but there is no response from the device after pressing the key on keyfob. I set...
    static uint8 updateConnParams = FALSE;
    #define DEFAULT_ENABLE_UPDATE_REQUEST FALSEPlease suggest~Thanks n Regards
  • Hi,

    Do you see the notification going to iPhone 6? I mean can you check the sniff logs to see if the notification was sent properly?

    It seems that the iPhone 6 is not interpreting the commands(notifications) correctly. Can you source any other iOS device running iOS8.1.2 and check this once more. We don't know if this is an issue with iOS interpreting the HID reports or our report format. But with whatever report formats we have shared with you, it works on our devices.

    Regards,
    Arun
  • Dear Arun,

    I checked it with other iOS devices too, same result. :(

    well, I just took the packet sniffer log while Keyfob is connected to iOS 8.1.3 device. (IPad)

    Log file is attached herewith.   20150409_iOS(8.1.3)_Keyfob_sniffer_1stApproachTI.psd(KSPress).psd

    Please check and suggest~

    Thanks n Regards

  • Hi Ash,

    I am not able to find the notification packets in the sniffer log. There are some L2CAP packets but they are not decrypted properly.

    Looks like there is something wrong. The Master indicated to the slave to Pause encryption in frame number 2793. Generally this should not be done.

    Looks like there are some issues with implantation of HOGP for iOS 8.1.3 and iOS8.2 devices. We are not certain, but I cant think of why else this should be happening.

    Can you check on any other iOS device running on iOS8.1.2? Please don't check on iOS8.1.3 as we don't have any device to cross verify. Please check on 8.1.2 device or 8.0.2 device.

    Regards,
    Arun
  • Dear Arun,Thanks for your reply~
    well, I again checked for confirming with iOS 8.1.3/8.2, I too only have these version devices. Same response I am getting from these. :(
    iOS8.2 is latest, It should support the HOGP. I read some where that iOS 7.0 and lower versions doesnt support but all higher versions supports HOGP.
    Still confused.... :(Thanks n Regards
  • Dear Arun,
    I tried a lot but, Unfortunately I am unable to arrange device with iOS8.1.2/8.0.2 to check the test as per your suggestion. So I tried it with the device having iOS 8.3 (latest version); still same response. Could you please check it on 8.3 and let me know the status.
    Thanks and looking forward to get help from TI./Regards
  • Hi,

    We don't have a iOS8.3 device, but our FAE has reported that keys are detected in iOS8.3 devices too apart from iOS8.2 iPhone 6. We will check this if this is due to connection parameter update requests not handled properly by IOS8.2/3 devices or not. 

    In one of our later devices,using another SDK we found an issue that we iOS8.2 on iPhone 6 was not displaying the keys send to it. On checking wee found that the connection parameter updates are not handled by iOS properly and the GATT client on iOS device is confused in interpreting the notifications properly. Disabling updates or changing the method of connection update helped in fixing it. So we will look in BLE SDK v1.4 if this issue gets fixed after disabling connection parameter updates or not.

    Regards,

    Arun

  • Dear Arun,Thanks for your well reply~
    Please check it and let me know weather this is parameter update issue or not? Also I just had a search through Internet and found that there are some devices available in the market which are used as HID for Android and iOS without any hard issue. How they solved this, fortunately if they use TI chipset.
    Please highlight~Thanks n Regards
  • hi Johan, with the new hidReportmap in place, do i have to change all the service descriptors and characteristics as well?
  • hi , have you solved the problem? Did you just upgrade to the ble sdk 1.4.1 and resolve this problem? I am doing the same task as you really need help from you.
    Cheers,
    Tom
  • Hi,
    You should not have to modify anything else apart from whats has been described in this thread.
    Are you seeing any specific issues?Regards,Johan