This is the followup from my previous call-for-testing. This time, in addition to updated PulseAudio from 16.04, this also includes:
- a fix to Bluez which should improve the experience for users that use a Bluetooth headset for calling.
- an update to the modern pulseaudio-module-droid to make sure they work with the updated version.
All devices are welcome to participate in the test.
How to test:
Make sure your device runs the latest devel
image. Run the following command in the ADB shell or SSH session:
# Mount a tmpfs so apt can breathe
sudo mount -t tmpfs tmpfs /var/cache/apt/archives
# Prevent Bluez from restarting & get stuck.
sudo mount -o remount,rw /
sudo tee /usr/sbin/policy-rc.d >/dev/null <<EOF
#!/bin/sh
exit 101
EOF
sudo chmod +x /usr/sbin/policy-rc.d
# Actually install the packages.
sudo ubports-qa install xenial_-_pulseaudio-updates-to-0ubuntu3.10
# Reboot the phone.
sudo reboot; exit
What to test:
See if there's any regression in both built-in speaker, wired headset, and Bluetooth headset. If possible, use a Bluetooth headset that can be in both music mode (hi-fidelity audio) and call mode (low-latency 2-way audio).
Two possible regressions that can happen are
- issue #528 ([xenial] Sound does not go to bluetooth headset)
- a call via Bluetooth does work but cuts off after a few seconds
I believe they're fixed, but please report if you encountered these issues.
Also, if you have a Bluetooth headset with an accept/hangup button, try pressing the button while in call and see if the call hangs up. Accepting the call or last number redial might not work, and is a known issue.
You may want to also follow this test plan from Canonical if you want to be extra sure there's no issue. However, even in the current version of PulseAudio, not all tests in this test plan pass. Thus, you may want to double-check if it's a regression or not.
https://wiki.ubuntu.com/Process/Merges/TestPlan/pulseaudio
If you found any issue/regression:
Luckily, someone has written a script that automates enabling, disabling, and collecting debug logs [1]. It's located at https://github.com/bergotorino/bt-debugging-tools
To enable debugging, run ./bt-device-enable.sh -e -p <lockscreen password>
. The device will reboot automatically. Then, after reproducing the issue, run ./bt-collect-logs.sh <password>
. A tarball will be produced. Please send that to me via PM or Telegram (@peat_psuwit) as it can contain sensitive information. Please also mention the brands of all devices you used to test in the PM; they'll be used to match up with what's in the log.
To disable debugging, run ./bt-device-enable.sh -d -p <password>
[1] For devices with ADB anyway. If you use a Halium 7.1 devices without ADB, you may take a look at the script, or you can ask me.
Known issues:
- The issue that the playing streams won't switch to the headset after a re-connect/connecting another device is issue #1045. The fix requires that this update works first. To workaround, please close and reopen the app playing the sound.
- Even though using the button on the headset to hangup work, using it to accept a call or redial might not work.
- It's been reported that Bluetooth on OnePlus One is unstable in general. Thus, you may want to skip testing Bluetooth on this particular device.