nordic peripheral_hids_mouse example: cursor doesn't work on iPad

Using ncs 2.4.2 on nrf52840DK v3.0.1.  iPad iOS is 15.3.1

Example works on PC and Android.

I can connect to the iPad, but no cursor appears, and the DK buttons don't do anything.

Using a BLE sniffer, I can see the HID reports being transmitted. The iPad knows that an HID device is connected, since the AssistiveTouch icon shows up on connection. A wireshark capture file of the connection and some test button pushes is attached.

My conclusion is that the HID mouse report is not cooperating with apple's HID parser.

Could anyone confirm the same behaviour?

Are there any suggested fixes?

I have tried with the regular peripheral_hids_mouse example, but the capture is based on this modificationnrf sample peripheral_hids_mouse does not connect to desktop with BT_HIDS_SECURITY_ENABLED=n, disconnected reason 19 

8875.iPad_dud_hid_report.pcapng

Parents
  • Additionally, if someone could outline the situations when "nrfjprog --recover" is required during development, that would be great. It helped the person in the linked thread and I think it helped me, but I'm not sure why.

  • Hi mrd,

    mrd said:
    Additionally, if someone could outline the situations when "nrfjprog --recover" is required during development, that would be great. It helped the person in the linked thread and I think it helped me, but I'm not sure why.

    This question is not on the same topic as the opening post. I can quickly answer you that it is related to the Access Port Protection feature of the SoC. --recover writes into the UICR to disable the feature, allowing debugging. When you perform actions that erase the UICR, the feature is turned back on by default.
    If you have any further questions about it, please follow-up on a new post.


    My conclusion is that the HID mouse report is not cooperating with apple's HID parser.

    I don't currently have an iOS device to check this yet. I will try to get to it soon and update you.

    Hieu

Reply
  • Hi mrd,

    mrd said:
    Additionally, if someone could outline the situations when "nrfjprog --recover" is required during development, that would be great. It helped the person in the linked thread and I think it helped me, but I'm not sure why.

    This question is not on the same topic as the opening post. I can quickly answer you that it is related to the Access Port Protection feature of the SoC. --recover writes into the UICR to disable the feature, allowing debugging. When you perform actions that erase the UICR, the feature is turned back on by default.
    If you have any further questions about it, please follow-up on a new post.


    My conclusion is that the HID mouse report is not cooperating with apple's HID parser.

    I don't currently have an iOS device to check this yet. I will try to get to it soon and update you.

    Hieu

Children
No Data
Related