Closed Bug 1124760 Opened 10 years ago Closed 10 years ago

[Bluetooth][Music] Speaker / Headphone basic remote control commands (play/pause/stop, etc.) do not function

Categories

(Firefox OS Graveyard :: Bluetooth, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.2+, b2g-v2.2 verified, b2g-master verified)

VERIFIED FIXED
2.2 S4 (23jan)
blocking-b2g 2.2+
Tracking Status
b2g-v2.2 --- verified
b2g-master --- verified

People

(Reporter: jmitchell, Assigned: brsun)

References

Details

(Keywords: regression, smoketest, Whiteboard: [3.0-Daily-Testing])

Attachments

(4 files)

Description: Headphone devices can connect to the test phone, and music can be heard through the headphones but the basic controls (Volume up/down, track forward/back, play/pause) do not affect the phone / music track. Repro Steps: 1) Update a Flame to 20150122010203 2) Enable Bluetooth and connect a headphone device 3) Open Music app and play a track / song 4) Ensure music can be heard through headphone device 5) Attempt to use controls on headphone Actual: Controls do not function Expected: Controls will function and affect the device Environmental Variables: Device: Flame 3.0 Build ID: 20150122010203 Gaia: 917b6c36717fddc6e71ffc1ec249633c8044c93c Gecko: 34e2d2bd7ec4 Gonk: e7c90613521145db090dd24147afd5ceb5703190 Version: 38.0a1 (3.0) Firmware Version: v18D-1 User Agent: Mozilla/5.0 (Mobile; rv:38.0) Gecko/38.0 Firefox/38.0 Repro frequency: 9/9 Link to failed test case: https://moztrap.mozilla.org/manage/case/9346/ See attached: logcat ------------------------------------------------------------------------------------ This issue does NOT repro with Flame 2.2 (v18d-1) or Flame 2.2 (v18d) Device: Flame 2.2 (KK - Nightly - Full Flash) Build ID: 20150122002808 Gaia: e4f9b5da3751798f9cc5d95f302c30722cc11fca Gecko: 4a90da67661e Gonk: e7c90613521145db090dd24147afd5ceb5703190 Version: 37.0a2 (2.2) Firmware Version: v18D-1 User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0 Device: Flame 2.2 (KK - Nightly - Full Flash) Build ID: 20150122002808 Gaia: e4f9b5da3751798f9cc5d95f302c30722cc11fca Gecko: 4a90da67661e Gonk: e7c90613521145db090dd24147afd5ceb5703190 Version: 37.0a2 (2.2) Firmware Version: v18D User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(pbylenga)
This was tested with: Device 1) Arctic p253 BT headset Device 2) AirBand Wireless Bluetooth Headset (GG-Air)
[Blocking Requested - why for this release]: Nominating 3.0? since this is a regression and smoke test blocker.
blocking-b2g: --- → 3.0?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
QA Contact: ychung
Flags: needinfo?(pbylenga)
b2g-inbound Regression Window: Last Working Environmental Variables: Device: Flame 3.0 BuildID: 20150120001341 Gaia: 90e1a2525d3cded5945cfaee277ac8d6075beb8c Gecko: f0d42391b5fd Gonk: e7c90613521145db090dd24147afd5ceb5703190 Version: 38.0a1 (3.0) Firmware Version: v18D-1 User Agent: Mozilla/5.0 (Mobile; rv:38.0) Gecko/38.0 Firefox/38.0 First Broken Environmental Variables: Device: Flame 3.0 BuildID: 20150120011239 Gaia: a47ec54a7040d6f689c3eabd2f23bb510c78c0cd Gecko: fc9006e38f20 Gonk: e7c90613521145db090dd24147afd5ceb5703190 Version: 38.0a1 (3.0) Firmware Version: v18D-1 User Agent: Mozilla/5.0 (Mobile; rv:38.0) Gecko/38.0 Firefox/38.0 Last Working Gaia First Broken Gecko: Issue DOES reproduce Gaia: 90e1a2525d3cded5945cfaee277ac8d6075beb8c Gecko: fc9006e38f20 First Broken Gaia Last Working Gecko: Issue DOES NOT reproduce Gaia: a47ec54a7040d6f689c3eabd2f23bb510c78c0cd Gecko: f0d42391b5fd http://hg.mozilla.org/integration/b2g-inbound/pushloghtml?fromchange=f0d42391b5fd&tochange=fc9006e38f20 Caused by bug 1065336
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Thomas, can you take a look at this please? This might have been caused by the work done on bug 1065336
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker) → needinfo?(tzimmermann)
:shawnjohnjr, this is a smoketest blocker. To maintain high quality on the master branch, please arrange to have the offending commit backed out.
Flags: needinfo?(shuang)
(In reply to Parul Mathur [:pragmatic] from comment #6) > :shawnjohnjr, this is a smoketest blocker. To maintain high quality on the > master branch, please arrange to have the offending commit backed out. This caused by bluetoothd run as bluetooth permission, however bluedroid stack generated key event required uevent permission. When we make bluetoothd run as root permission, bluetoothd can successfully generate key event. bug 1065336 aims to prepare environment to switch bluedroid or bluetoothd. Right now, the default backend loader is bluetoothd. I prefer to fix permission problem through init.bluetooth.rc configuration instead of backing out commit.
Flags: needinfo?(tzimmermann)
Flags: needinfo?(shuang)
I found on Nexus 5 /dev/uinput group permission is net_bt_stack shawnjohnjr@shawnjohnjr-BM6875-BM6675-BP6375:~/mytmp$ adb shell ls -l /dev/uinput crw-rw---- system net_bt_stack 10, 223 1970-02-13 14:57 uinput But on flame-kk, the group permission of /dev/uinput is bluetooth shawnjohnjr@shawnjohnjr-BM6875-BM6675-BP6375:~/mytmp$ adb shell ls -l /dev/uinput crw-rw---- system bluetooth 10, 223 1970-03-22 09:35 uinput So, for better compatibility we shall add bluetooth, net_bt_stack in group permission.
As stated on comment 8, |net_bt_stack| and |bluetooth| permissions are needed for bluetoothd.
Attachment #8553599 - Flags: review?(shuang)
Just want to thank Shawn and Bruce, who have been picking up and fixing these issues. :)
Comment on attachment 8553599 [details] [review] https://github.com/mozilla-b2g/platform_system_bluetoothd/pull/13 NOTE: Please see https://wiki.mozilla.org/Release_Management/B2G_Landing to better understand the B2G approval process and landings. [Approval Request Comment] Bug caused by (feature/regressing bug #): None User impact if declined: bluetoothd fail to send key events to /dev/uinput Testing completed: Both flame-kk and nexus5-l shall receive AVRCP key events Risk to taking this patch (and alternatives if risky): None. Same as Android implementation String or UUID changes made by this patch: None
Attachment #8553599 - Flags: approval-mozilla-b2g37?
Keywords: checkin-needed
Assignee: nobody → brsun
Status: NEW → RESOLVED
blocking-b2g: 3.0? → 2.2?
Closed: 10 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → 2.2 S4 (23jan)
:ktucker, could you please verify fixed on the next available nightly build?
Flags: needinfo?(ktucker)
There is additional behavior that raises the severity of this bug with one of the particular headsets that went undocumented yesterday as well as a different one we have available for testing: triggering the 'redial last number' on a bluetooth device will crash/restart the phone. If this isn't seen to be resolved by the b2g fix from comment#10 + comment#12, I can write this up separately for better tracking. PreReq: With the bluetooth devices: * Arctic p253 BT headset (AVRCP) -- locate 'Skip' Button [hold down for 'Redial last number'] * Motorola Commander (A2D2P) -- hold back power button ['Redial last call'] 1) Open 'Settings' app. 2) Open 'Bluetooth'. 3) Connect/ensure above device is connected. 4) Once connected, hold specified button button. Actual Results: Phone restarts. Expected Results: Redial the last phone number. Environmental Variables: ---------------------------------------------- Device: Flame 3.0 BuildID: 20150123010227 Gaia: cba2f0bf49b882e0044c3cc583de8fcf83d2ffa4 Gecko: 494632b9afed Gonk: e7c90613521145db090dd24147afd5ceb5703190 Version: 38.0a1 (3.0) Firmware: V18D-1 User Agent: Mozilla/5.0 (Mobile; rv:38.0) Gecko/38.0 Firefox/38.0 ---------------------------------------------- Repro: 5/5 Video- http://youtu.be/q2Ax50xvgqY logcat to follow
Flags: needinfo?(pbylenga)
let's verify this bug on the next nightly and if the issue in Comment 14 still reproduces with the original issue in Comment 0 been verified we can then open a new issue to track Comment 14.
Flags: needinfo?(pbylenga)
Follow up Comment 14, bug 1125719 was opened. Bug 1125719 - [Bluetooth] Redial from bluetooth device cause bluetoothd and gecko crash.
This issue still reproduces on today's nightly for flame 3.0 devices. Results: Controls do not function. -------------------------------------------------- Environmental Variables: Device: Flame 3.0 BuildID: 20150126010231 Gaia: 0f662dffef27599443cfcd790c2b39190a2b35c8 Gecko: fa91879c8428 Gonk: e7c90613521145db090dd24147afd5ceb5703190 Version: 38.0a1 (3.0) Firmware Version: v18D-1 User Agent: Mozilla/5.0 (Mobile; rv:38.0) Gecko/38.0 Firefox/38.0 -------------------------------------------------- Results: 3/3
Flags: needinfo?(ktucker)
Resetting the flag I changed in my previous comment and adding the [failed-verification] tag to QA whiteboard.
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][failed-verification]
shuang, looks like the patch did not work so holding off the approval for now.
comment#18 reproducing this issue was a result of an OTA performed between Friday's build of the 23rd (before the fix) to today's build of the 26th. Upon full flashing the build with the flame image avaliable from the pvt_builds site, the issue is NO LONGER REPRODUCING on flame 3.0 devices. Results: User can utilize remote control commands via bluetooth headset to skip/pause/rewind tracks. -------------------------------------------------- Environmental Variables: Device: Flame 3.0 BuildID: 20150126010231 Gaia: 0f662dffef27599443cfcd790c2b39190a2b35c8 Gecko: fa91879c8428 Gonk: e7c90613521145db090dd24147afd5ceb5703190 Version: 38.0a1 (3.0) Firmware Version: v18D-1 User Agent: Mozilla/5.0 (Mobile; rv:38.0) Gecko/38.0 Firefox/38.0 -------------------------------------------------- Repro: 5/5 Verifying fix in 3.0 build and removing now invalid QA Whiteboard tag. It may be worth noting that the issue mentioned in comment#14 (and being tracked in bug 1125719) is still reproducing.
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+][failed-verification] → [QAnalyst-Triage+]
shawn, so dogfooders who hit this via OTA have to do a full flash to get out of it ? No other alternative?
(In reply to bhavana bajaj [:bajaj] from comment #22) > shawn, so dogfooders who hit this via OTA have to do a full flash to get out > of it ? No other alternative? init.bluetooth.rc is part of boot.img. So users have to flash boot.img. All init.rc files were placed inside ramdisk to avoid any kinds of illegal modification and that will be common rules. Sorry, I don't see alternative here.
blocking-b2g: 2.2? → 2.2+
(In reply to Shawn Huang [:shawnjohnjr] from comment #23) > (In reply to bhavana bajaj [:bajaj] from comment #22) > > shawn, so dogfooders who hit this via OTA have to do a full flash to get out > > of it ? No other alternative? > > init.bluetooth.rc is part of boot.img. So users have to flash boot.img. All > init.rc files were placed inside ramdisk to avoid any kinds of illegal > modification and that will be common rules. > Sorry, I don't see alternative here. ok, might be a good time if you can help email dev-gaia/b2g about this landing and letting them know about full flash situation so folks don't run into this.Thanks!!
Attachment #8553599 - Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
(In reply to bhavana bajaj [:bajaj] from comment #25) > (In reply to Shawn Huang [:shawnjohnjr] from comment #23) > > (In reply to bhavana bajaj [:bajaj] from comment #22) > > > shawn, so dogfooders who hit this via OTA have to do a full flash to get out > > > of it ? No other alternative? > > > > init.bluetooth.rc is part of boot.img. So users have to flash boot.img. All > > init.rc files were placed inside ramdisk to avoid any kinds of illegal > > modification and that will be common rules. > > Sorry, I don't see alternative here. > > ok, might be a good time if you can help email dev-gaia/b2g about this > landing and letting them know about full flash situation so folks don't run > into this.Thanks!! We actually did it. Around 21 and 22 Jan. I guess we need to address this issue again. https://groups.google.com/forum/#!searchin/mozilla.dev.b2g/Bluetooth$20daemon$20will$20land$20during$20January|sort:relevance/mozilla.dev.b2g/-OAzpQ7CPss/AEkIMPcsDlkJ Bruce Sun via lists.mozilla.org 22 Jan (6 days ago) Hello everyone, the Bluetooth team has been working on a new Bluetooth daemon for the last couple of months. The work is almost complete and we will enable it step-by-step during January. We have tested our new architecture on different targets and Android versions, but there might still be problems that we didn't notice. If you run into a Bluetooth bug, such as build errors or broken Bluetooth services, and you think it's related to the new Bluetooth daemon, please report a bug that blocks bug 1005934 [1] and/or add me (:tzimmermann) to the cc list. Best regards Thomas [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1005934 We landed the final patches for enabling the Bluetooth daemon on master for JB and KK. L will be ready soon. If you see related problems with Bluetooth, please make sure your local branches are up to date. If that doesn't help, please report a bug and add me (:tzimmermann) to the cc list. Best regards Thomas to Thomas, dev-bluetooth, Mozilla Hi all, It's worth noting that *boot.img* should be built and flashed to your device along with gecko changes. Generally speaking, Bluetooth daemon should work fine by building all and flashing all onto your device. But if you would like to save time by just building and flashing necessary components only, the following steps would help. step 0: Make sure your codes are updated. - $ git pull - $ ./repo sync step 1: Build libfdio.so, bluetoothd, boot.img, and gecko. - $ . setup.sh - $ mmm system/libfdio - $ mmm system/bluetoothd - $ ./build.sh bootimage - $ ./build.sh gecko step 2: Flash boot.img and gecko. - $ ./flash.sh boot - $ ./flash.sh gecko step 3: Reboot the device. Done. - $ adb reboot If you would like to try the Bluetooth daemon by flashing PVT builds, please remember to flash boot.img and system.img both onto your device. Best regards, Bruce Sun.
I'll forward those emails to dev-gaia specifically. Maybe some people don't read dev-b2g.
Done: https://groups.google.com/forum/#!topic/mozilla.dev.gaia/Hkl_CswKkGY We got several invalid bug reports about Bluetooth. Maybe be could have communicated the change better. I expected that everyone reads dev-b2g, but that doesn't seem to be the case.
(In reply to Shawn Huang [:shawnjohnjr] from comment #23) > (In reply to bhavana bajaj [:bajaj] from comment #22) > > shawn, so dogfooders who hit this via OTA have to do a full flash to get out > > of it ? No other alternative? > > init.bluetooth.rc is part of boot.img. So users have to flash boot.img. All > init.rc files were placed inside ramdisk to avoid any kinds of illegal > modification and that will be common rules. > Sorry, I don't see alternative here. For the record, I opened bug 1130288 to have solution for OTA update and shallow flash. Bug 1130288 - Move bluetoothd from /system/bin to /system/b2g for OTA update package
Attached video verify_2.2.3gp
This bug has been verified as "pass" on latest build of Flame v2.2,Nexus5 v2.2 by the STR in comment 0. Actually result: Controls will function and affect the device. Reproduce rate: 0/10 See attachment: verify_2.2.3gp Device: Flame 2.2 (pass): Build ID 20150705162505 Gaia Revision ea11f422b687a982f0a961c9aea7858066561707 Gaia Date 2015-07-02 23:37:50 Gecko Revision https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/c0214b4c1ea0 Gecko Version 37.0 Device Name flame Firmware(Release) 4.4.2 Firmware(Incremental) eng.cltbld.20150705.200108 Firmware Date Sun Jul 5 20:01:20 EDT 2015 Bootloader L1TC000118D0 Device: Nexus 5_2.2 (pass): Build ID 20150705002505 Gaia Revision ea11f422b687a982f0a961c9aea7858066561707 Gaia Date 2015-07-02 23:37:50 Gecko Revision https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/c0214b4c1ea0 Gecko Version 37.0 Device Name hammerhead Firmware(Release) 5.1 Firmware(Incremental) eng.cltbld.20150705.041046 Firmware Date Sun Jul 5 04:11:05 EDT 2015 Bootloader HHZ12f
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][MGSEI-Triage+]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: