Closed Bug 880759 Opened 7 years ago Closed 4 years ago

[Bluetooth][meta] Implement HID profile feature

Categories

(Firefox OS Graveyard :: Bluetooth, defect)

ARM
Gonk (Firefox OS)
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: shawnjohnjr, Assigned: lochang)

References

Details

(Whiteboard: [ft:conndevices])

Attachments

(3 files)

Implement HID profile for gecko.
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
TODO:
- dom bluetooth change (bug 890186)
- Gaia settings change
Depends on: 899014
No longer blocks: 890186
Depends on: 890186
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
Depends on: 915534
Blocks: 892178
Bug 943809 is under review, once that bug is done, dom bluetooth HID part is done for bluez/bluedroid as the backend
See Also: → 1017944
Blocks: TV_FxOS2.5
No longer blocks: TV_FxOS2.5
Depends on: 1223729
Depends on: 1223732
No longer depends on: 1223729
Depends on: 1223729
No longer depends on: 1223729
Depends on: 1235523
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.
Depends on: 953019
Depends on: 1252787
Assignee: nobody → lochang
No longer depends on: 953019
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 [1]) and a hack for testing HID features functions
including virtual_unplug, get_report, set_report and send_data [2]. 

[1] 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.)

[2] 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 [1]. However, we are able to
connect with remote controller of nexusplayer-l through HOGP.

[1] 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 [1]. 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 [1].

[1] 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.
Depends on: 1258962
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
Whiteboard: [ft:conndevices]
You need to log in before you can comment on or make changes to this bug.