Closed Bug 880759 Opened 7 years ago Closed 4 years ago
[Bluetooth][meta] Implement HID profile feature
36.87 KB, text/plain
1.92 KB, patch
|Details | Diff | Splinter Review|
78.11 KB, application/octet-stream
Implement HID profile for gecko.
7 years ago
Assignee: nobody → shuang
Ben, it's all yours :-)
Assignee: shuang → btian
Sorry not sure Ben is going to do it. Let Eric decide :)
Assignee: btian → nobody
7 years ago
TODO: - dom bluetooth change (bug 890186) - Gaia settings change
TODO update: - implement dom bluetooth HID (bug 899014) - map key-char for bluetooth keyboard (bug 890186) - authorize for incoming connections (bug 889795)
Depends on: 889795
Bug 943809 is under review, once that bug is done, dom bluetooth HID part is done for bluez/bluedroid as the backend
Expect to resolved bug 880759 (HID implementation) including, 1) complete gecko implementation - bug 915534 2) complete related daemon implementation - bug 1223732 3) complete a test app to pass required PTS test cases - bug 1235523 in 2016 Q1 to pass PTS.
We have passed the PTS(Profile Tuning Suite) of bluetooth HID profile v1.0. A guide for PTS usage is at https://wiki.mozilla.org/B2G/QA/Bluetooth_PTS. **Note: Please refer to wiki for required PTS 6.4.0 setup before testing. The attachments are the workspace file including the PICS value of HID profile v1.0 (*.pqw6, for PTS new version 6.4.0 ) and a hack for testing HID features functions including virtual_unplug, get_report, set_report and send_data .  In PTS v6, there are no *.picsx for each Bluetooth profile anymore, all *.picsx are integrated into the only workspace file *.pqw6. (FYI: Current test shows that, even all files in project folder are removed and only the *.pqw6 left, the PTS works fine.)  Since there is no user cases for these feature functions yet, so we only provide a hack to test these feature functions for passing bluetooth HID profile v1.0. You can call a function by renaming the host device. Rename the host device to "vir" will call virtual_unplug, "get" will call get_report, "set" will call set_report and "sen" will call send_data.
We can't pass the PTS of HOGP(HID Over Gatt Profile) profile since the stack problem. Also we have tested several android devices and not all of them can pass PTS of HOGP profile . However, we are able to connect with remote controller of nexusplayer-l through HOGP.  We have tested several android device including Motorola nexus6-l, HTC One mini2-jb, LG nexus5-l, Sony z3-l. LG nexus5-l and Sony z3-l can pass PTS of HOGP profile but Motorola nexus6-l, HTC One mini2-jb can't pass PTS of HOGP profile.
(In reply to Louis Chang [:lochang] from comment #8) > We can't pass the PTS of HOGP(HID Over Gatt Profile) profile since the stack > problem. Also we have tested several android devices and not all of them can > pass PTS of HOGP profile . However, we are able to > connect with remote controller of nexusplayer-l through HOGP. The attachment (*.cfa) is one of the test case sniff-log. We can't pass read and write related test cases of HOGP profile. The bluedroid stack should automatically send specific read or write command during connecting to the PTS. However, the PTS doesn't receive the command and keep waiting for the stack .  Take the test case (TC_HGRF_RH_BV_01_I) we attached as an example, you can see frames exchanged between phone and PTS (View -> frame display -> PTS). We can see that PTS last sends a message: "Please send Read or ...", then the process is blocked.
The dependent bugs are all fixed. We are now support HID profile. The remaining HOGP problems are showed in comment 8, comment 11. And the PTS test cases please refer to comment 7.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Well done. Thanks!
You need to log in before you can comment on or make changes to this bug.