B2G/Bluetooth: Difference between revisions

3,745 bytes added ,  10 November 2015
 
(46 intermediate revisions by 6 users not shown)
Line 30: Line 30:
* Make HFP be able to handle multi-SIM scenario. ({{bug|921991}})
* Make HFP be able to handle multi-SIM scenario. ({{bug|921991}})


=== Firefox OS v1.4 (Backlog) ===
=== Firefox OS v2.2 ===
* Refining Bluetooth Web API ({{bug|674737}})
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1005934 Move bluedroid to a separate process]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1102703 Support Lollipop]
* [https://github.com/mozilla-b2g/platform_system_bluetoothd Bluedroid daemon]
 
=== Firefox OS v2.5 ===
* [https://bugzilla.mozilla.org/show_bug.cgi?id=872460 Support Bluetooth GATT]
* [https://wiki.mozilla.org/B2G/Bluetooth/WebBluetooth-v2 Bluetooth Web API refinement]
** Jocelyn Liu/Ben Tian are the driver of this item. Please see more discussion [https://groups.google.com/forum/#!topic/mozilla.dev.webapi/SSVxpdq_lfQ here].


== Supported Bluetooth Profiles ==
== Supported Bluetooth Profiles ==
Line 39: Line 46:
* HFP (Handsfree Profile) 1.5
* HFP (Handsfree Profile) 1.5
* HSP (Headset Profile) 1.2
* HSP (Headset Profile) 1.2
* OPP (Object Push Profile) 1.2
* OPP (Object Push Profile) 1.1


=== Firefox OS v1.2 ===
=== Firefox OS v1.2 ===
Line 48: Line 55:
** AVRCP 1.0 ({{bug|834554}})
** AVRCP 1.0 ({{bug|834554}})
** AVRCP 1.3 ({{bug|842948}})
** AVRCP 1.3 ({{bug|842948}})
=== Firefox OS v2.5 ===
* HFP 1.6 wideband speech ({{bug|911635}})
* BLE (Bluetooth Low Energy)
** GATT (Generic Attribute Profile) ({{bug|872460}})


== Unsupported Bluetooth Profiles ==
== Unsupported Bluetooth Profiles ==
* HFP Wideband Speech (HD Voice) ({{bug|911635}})
* HID (Human Interface Device Profile) ({{bug|880759}}, {{bug|943809}})
* HID (Human Interface Device Profile) ({{bug|880759}}, {{bug|943809}})
* FTP (File Transfer Profile)
* FTP (File Transfer Profile)
* PBAP (Phone Book Access Profile) ({{bug|892179}})
* PBAP (Phone Book Access Profile) ({{bug|892179}})
* PAN (Personal Area Network Profile) ({{bug|947085}})
* PAN (Personal Area Network Profile) ({{bug|947085}})
* GATT (Generic Attribute Profile) ({{bug|872460}})


== Meta Bugs ==
== In-house Scheduled PTS (Profile Tuning Suite) Test ==
* [https://bugzilla.mozilla.org/show_bug.cgi?id=861047 Certification-related]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=807758 A2DP]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=834553 AVRCP]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=829396 HFP]
 
== In-house Scheduled PTS(Profile Tuning Suite) Test ==
; [https://www.bluetooth.org/en-us/test-qualification/test-tools-overview/profile-tuning-suite What is PTS?]
; [https://www.bluetooth.org/en-us/test-qualification/test-tools-overview/profile-tuning-suite What is PTS?]


Line 70: Line 74:
After v1.2, the PTS test was scheduled right after each branching out.
After v1.2, the PTS test was scheduled right after each branching out.


* [https://bugzilla.mozilla.org/show_bug.cgi?id=1206635 v2.5(Flame-KK)]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1159612 v2.2(Nexus5-L)]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1139349 v2.2(Flame-KK)]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1064733 v2.1(Bluez)]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1064739 v2.1(Bluedroid)]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1022503 v2.0(Bluez)]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=1022504 v2.0(BlueDroid)]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=986293 v1.4(Bluez)]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=986293 v1.4(Bluez)]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=986297 v1.4(BlueDroid)]
* [https://bugzilla.mozilla.org/show_bug.cgi?id=986297 v1.4(BlueDroid)]
Line 108: Line 119:
: 3. Make sure the "Bluetooth Sharing" checkbox is enabled.
: 3. Make sure the "Bluetooth Sharing" checkbox is enabled.


: Please see http://support.apple.com/kb/PH10786 for more information.
: Please see https://support.apple.com/kb/PH18969 for more information.


: If your Firefox OS version is older than v1.1, once you have done the above steps, please go to the Bluetooth settings page in your phone, and unpair/pair your Mac. Then it should work normally.
: If your Firefox OS version is older than v1.1, once you have done the above steps, please go to the Bluetooth settings page in your phone, and unpair/pair your Mac. Then it should work normally.
Line 135: Line 146:
If you have read the FAQ and still have problems. Please file a bug to Bugzilla. To help developers finding bugs more easily, please make sure the component is set to any of these three:
If you have read the FAQ and still have problems. Please file a bug to Bugzilla. To help developers finding bugs more easily, please make sure the component is set to any of these three:


* <b>Boot2Gecko::Bluetooth</b>
* <b>Firefox OS::Bluetooth</b>
* <b>Gaia::Settings</b>
* <b>Gaia::Settings</b>
* <b>Gaia::Bluetooth File Transfer</b>
* <b>Gaia::Bluetooth File Transfer</b>
Line 167: Line 178:
** It will be easier to debug A2DP/AVRCP profiles using snoop format log.
** It will be easier to debug A2DP/AVRCP profiles using snoop format log.
*** To enable it, please enter <b> adb shell hcidump -R -w/data/whatever.cfa </b>, this will dump log into /data/whatever.cfa
*** To enable it, please enter <b> adb shell hcidump -R -w/data/whatever.cfa </b>, this will dump log into /data/whatever.cfa
* Logs for Firefox OS v1.4 (Bluedroid)
<nowiki>In /system/etc/bluetooth/bt_stack.conf defined logging level and logger output.</nowiki><br>
----
#Enable BtSnoop logging function
#valid value : true, false
BtSnoopLogOutput=true
#BtSnoop log output file
BtSnoopFileName=/sdcard/btsnoop_hci.log
In /system/etc/bluetooth/bt_stack.conf defined <br>
logging level, this effected what we saw in logcat <br>
You can use Wireshark or frontline viewer to open it.
----
** Log level
#Trace level configuration
#BT_TRACE_LEVEL_NONE 0 ( No trace messages to be generated )
#BT_TRACE_LEVEL_ERROR 1 ( Error condition trace messages )
#BT_TRACE_LEVEL_WARNING 2 ( Warning condition trace messages )
#BT_TRACE_LEVEL_API 3 ( API traces )
#BT_TRACE_LEVEL_EVENT 4 ( Debug messages for events )
#BT_TRACE_LEVEL_DEBUG 5 ( Full debug messages )
TRC_HCI=2
TRC_L2CAP=2
TRC_RFCOMM=2
Grab offline tool from [https://github.com/eric30/bluedroid-log-tool]
  togglelog.sh: Enable/Disable bluedroid log
  openlog.sh: Download bluedroid log and use wireshark to check
* To build b2g-desktop
* To build b2g-desktop
**Steps
**Steps
Line 188: Line 228:
  ac_add_options --with-ccache=/usr/bin/ccache
  ac_add_options --with-ccache=/usr/bin/ccache
  ENABLE_MARIONETTE=1
  ENABLE_MARIONETTE=1
== Bluetooth Marionette Tests ==
Setup python environment for Marionette
Install “python-setuptools”
Setup marionette client
$ pip install virtualenv
$ mkdir ~/pyEnv
$ virtualenv ~/pyEnv/
$ cd $GECKO_DIR/testing/marionette/client'
$ sudo ~/pyEnv/bin/python setup.py develop
Run BT tests on ICS emulator
$ cd $GECKO_DIR
$ ~/pyEnv/bin/python testing/marionette/client/marionette/runtests.py --emulator arm --homedir ../ --type=b2g dom/bluetooth/tests/marionette/manifest.ini
Run BT tests on device
    $ cd $GECKO_DIR
    $ adb forward tcp:2828 tcp:2828
    $ ~/pyEnv/bin/python testing/marionette/client/marionette/runtests.py --address=localhost:2828 --type=b2g dom/bluetooth/tests/marionette/manifest.ini


== Team Members ==
== Team Members ==


Currently we have a small Gecko Bluetooth team which is responsible for:
Currently we have a small Gecko Bluetooth team responsible for:


* Dealing with bugs which are assigned to component "Bluetooth"
* Dealing with bugs which are assigned to component "Bluetooth"
* Implementing new Bluetooth features
* Implementing new Bluetooth features
* Maintaining Gecko Bluetooth
* Maintaining Gecko Bluetooth
* Designing WebBluetooth API
* Implementing Bluetooth WebAPI test cases
* Implementing Bluetooth WebAPI test cases


You're more than welcome to contact us on IRC, on bugzilla or via sending
The team members are <b>Shawn Huang, Ben Tian, Thomas Zimmermann, Jocelyn Liu, Bruce Sun, Will Wang, Louis Chang, and Tom Tung</b>. Except Thomas is working from Europe, all other team members are located in Taipei. Shawn is the owner of Bluetooth module, and Ben, Thomas, Jocelyn, and Bruce are Bluetooth module peers. You can pass Bluetooth related patches to them for review.
an email. The following is a more detailed list about our job assignment:
 
You're more than welcome to contact us on IRC (#bluetooth), on bugzilla, or via sending an email. The following is a more detailed list about our job assignment:
 
* Shawn Huang (shuang@mozilla.com)
** A2DP/AVRCP (Media playing and controlling)
* Ben Tian (btian@mozilla.com)
** WebBluetooth API design/discussion/implementation
** HFP/HSP (Phone call control)
** OPP (File transfer)
* Thomas Zimmermann (tzimmermann@mozilla.com)
** Gecko Bluetooth integration with multiple Bluetooth backends, including BlueZ and Bluedroid
** Bluetooth daemon
* Jocelyn Liu (joliu@mozilla.com)
** WebBluetooth API design/discussion/implementation
** BLE (GATT Client / GATT Server) API design/discussion/implementation
* Bruce Sun (brsun@mozilla.com)
** BLE (GATT Client / GATT Server) API implementation
* Will Wang (wiwang@mozilla.com)
** Bluetooth tests on KK emulator
** PTS test
 
You can always contact Shawn once you're not sure who is the right person to contact with.
 
== Communication ==


* A2DP/AVRCP(Media playing and controlling): Shawn Huang (shuang@mozilla.com)
You can fire questions on IRC channel #bluetooth.
* HFP/HSP(Phone call control) & OPP(File transfer): Ben Tian (btian@mozilla.com)
* DBus/BlueZ/Gecko Bluetooth integration: Thomas Zimmermann (tzimmermann@mozilla.com)
* Tests(Emulator/test case implementation, PTS test): Jamin Liu (jaliu@mozilla.com)
* Others: Eric Chou (echou@mozilla.com)


You can always contact Eric Chou once you're not sure who is the right person to contact with.
== Mailing list ==
You can subscribe to dev-bluetooth.
https://lists.mozilla.org/listinfo/dev-bluetooth


== Links ==
== Links ==
Line 214: Line 301:
* [https://wiki.mozilla.org/B2G/Bluetooth/WebBluetooth-v2 WebBluetooth API v2] (preliminary draft)
* [https://wiki.mozilla.org/B2G/Bluetooth/WebBluetooth-v2 WebBluetooth API v2] (preliminary draft)
* [https://wiki.mozilla.org/B2G/Bluetooth-bluedroid bluedroid stack info]
* [https://wiki.mozilla.org/B2G/Bluetooth-bluedroid bluedroid stack info]
* [https://docs.google.com/presentation/d/1pMioFlWx9qRpk0ADlwlqTCvbDB8Pj_hHfGcsaBXhNEQ/edit#slide=id.p Design walkthrough (Pre v2.0)]
* [https://bugzilla.mozilla.org/attachment.cgi?id=792666 BluetoothProfileController]
Confirmed users
891

edits