22

I'm using Ubuntu 18.04 on a Thinkpad X1C6 to connect to my new Bose Soundlink Revolve speaker. The connection establishes without problems but the sound volume is super low. If I connect with my android phone the volume is way higher so I assume the problem is on the Thinkpad/Ubuntu side and probably more Ubuntu/Software related.

Does anybody have an idea what I can try to fix this issue?

  • I have the same problem only with the Bose Soundlink Micro on a Desktop using MSI A88XM Pew, pew and Ubuntu 18.04. Tried alsamixer and maxed out all settings and still nothing. Works fine on my tablet and iPod Nano. – MDamion Mar 27 '19 at 21:22
  • Same problem using Anker Soundbuds Slim – Jorge Cuevas Jun 18 '19 at 14:25
  • Same problem with Thinkpad T420 and Bose Soundlink Revolve+. – Niclas Börlin Sep 05 '19 at 06:51
  • 2
    Same problem with Sony WF-1000XM3 – Alexandre Bourlier Nov 26 '19 at 22:15
  • I've had the exact same problem. I have tried multiple solutions and have almost given up.But eventually I found this one and it worked for me https://www.bobjohnson.com/blog/adventures-with-linux-installing-ubuntu-on-a-panasonic-toughbook-cf31/ https://www.youtube.com/watch?v=TjmHVgCSpQQ All credit to the youtuber. I am using ubuntu 20.04. My bluetooth speaker is Bose Soundlink Micro. Hope it helps. – Akhil Ennu Aug 12 '21 at 07:20

11 Answers11

16

Bumping @Jeff Ward's comment to an answer for those who found this question because they had low volume on Sony WF-1000XM3/Sony WH-1000XM2/Bose NC 700 bluetooth headphones:

Same here on the Bose NC 700 -- a firmware update set the volume super low. The solution was turning the volume up on the headphones themselves (via touch - swipe up on the right-front ear cup.)

In my case, adjusting the volume on the headphones themselves was the only solution - no computer setting was able to increase the volume.

Jacob Stern
  • 291
  • 2
  • 3
  • 1
    Yikes, here I was boosting volume with pactl.. I'd thought the headset would synchronise volume like it does on my Android, but I'm guessing that's not a feature of Ubuntu – SupaHam Sep 16 '21 at 07:51
  • Note for WF-1000XM4 users in 2023: if you have multi-device connect enabled and connect to both your Ubuntu machine and your phone, you can use the Sony Headphones app to adjust the volume of the headset (under "Status") and it will affect the audio coming from the Ubuntu machine. – Thomas Aug 16 '23 at 22:55
10

Installing pavucontrol solved the problem for me on my Thinkpad T420, Ubuntu 18.04, and a Bose Soundlink Revolve+.

Run:

sudo apt install pavucontrol
pavucontrol

Connect your Bluetooth device to your laptop and start feeding it. Then you should be able to adjust the maximum sound level inside pavucontrol. The volume keys on the laptop work as before, except the maximum is now higher. The settings appear to survive application restarts.

  • 1
    Solutions like this seem to be similar to using gnome tweak tools' "allow over amplification" ability, in that this causes extreme audio distortion at levels above 100% or 0 db. – Caleb Jay Jan 25 '21 at 02:11
  • This makes the audio crackly. I know the speakers are capable of going louder without having to go ~150% decibels and distorting the sound. – Charles Clayton Oct 24 '22 at 01:31
7

I have the same problem with Sony WF-1000XM3. They are quite silent on Ubuntu 20.04. Latest Sony firmware update added ability to control volume directly on earphones and it helps. Unfortunately you lose possibility to use other functions on one of earphones.

ipeacocks
  • 660
  • I am facing the same issue. Not able to figure out yet. Can you help me? – Mohit Jain Jul 03 '20 at 08:40
  • 1
    Check this https://www.sony.com/electronics/support/wireless-headphones-bluetooth-headphones/wf-1000xm3/articles/00230635 – ipeacocks Jul 03 '20 at 12:54
  • I had to swap up in the headphone like ten times until I got volume. – Torrien Feb 02 '21 at 20:54
  • 6
    Same here on the Bose NC 700 -- a firmware update set the volume super low. The solution was turning the volume up on the headphones themselves (via touch - swipe up on the right-front ear cup.) – Jeff Ward May 20 '21 at 18:06
4

Not sure that this is applicable (don't have the same hardware) but sounds similar to what has already been suggested by jathin-badam and this fixed a similar problem for me with AirPods:

In /lib/systemd/system/bluetooth.service (requires sudo to save changes)

Change this line:

ExecStart=/usr/lib/bluetooth/bluetoothd

To this:

ExecStart=/usr/lib/bluetooth/bluetoothd --plugin=a2dp

Restart the daemon and the Bluetooth service:

sudo systemctl daemon-reload  
sudo systemctl restart bluetooth  

Source

2

The volume can be increased at the speaker to bypass over-amplification and avoid the associated loss of audio quality. Install the bluez package (sudo apt-get install bluez) and start mpris-proxy (/usr/lib/bluetooth/mpris-proxy) to activate the volume buttons of the Bluetooth speaker. Afterwards, the volume can be increased directly via the Bose Soundlink Revolve speaker.

dgaiss
  • 21
  • It worked for me in the sense that I could hear it louder and increasing the volume from the speaker was also possible and the quality at max volume increased, but, still a lot lower quality than if I had just used my cellphone. Up-voted because it increased the quality and volume, even though the quality cannot match the one from my phone. – Pepe Alvarez Feb 03 '22 at 19:05
1
  1. Install pavucontrol by running:

    sudo apt install pavucontrol
    
  2. Run:

    pavucontrol
    
  3. Go to Configuration and search for your Bluetooth device and change the profile to High Fidelity Playback(A2DP Sink).

1

I have a Sony-WH1000XM3. I fixed this problem by using the gesture of the headset itself to increase the volume.

This is different from the situation in Windows. Adjusting volume by headset won't affect the volume settings in Ubuntu, so maybe all you need to do is adjust the volume from your Bluetooth device side.

Zanna
  • 70,465
Linloir
  • 11
1

For many users, the issue is simply that Bluetooth audio devices have a software and hardware volume. Turning up the software volume makes the sound quality worse. Linux doesn't support changing Bluetooth hardware volume*.

Workarounds

As @BassGod and others also mentioned there are two workarounds to this:

  • Have a physical method for adjusting the hardware volume on your Bluetooth audio device.
  • Adjust the hardware volume while the device is connected to Android/iOS/Windows/macOS. Then connect the device to your Linux.

Solutions

Just update

The best option is probably to update your OS (or more specifically pulseaudio), since according to some people this issue got resolved in pulseaudio version 15.

Control it via dbus

(Modified from @LiamDennehy and @Sean Normandy)

  1. Find the DBus object that allows control of the headset's internal volume:
$ dbus-send --system --print-reply --dest=org.bluez / org.freedesktop.DBus.ObjectManager.GetManagedObjects | less
  1. While it is piped to less, search for the interface org.bluez.MediaTransport1 (press slash /, type MediaControl1, press Enter) and record the value of the object path of the parent of the search result:
dict entry(
   object path "/org/bluez/hci0/dev_C8_B2_58_35_64_6F"
   array [
      dict entry(
         string "org.freedesktop.DBus.Introspectable"
         array [
         ]
      )
  1. Send volume up or volume down requests to it with these commands:
dbus-send --print-reply --system --dest=org.bluez /org/bluez/hci0/dev_C8_B2_58_35_64_6F org.bluez.Control.VolumeUp
dbus-send --print-reply --system --dest=org.bluez /org/bluez/hci0/dev_C8_B2_58_35_64_6F org.bluez.Control.VolumeDown
  1. Now you can map these commands to hotkeys via your desktop environment or make them accessible some other way.

Use some script

(Modified from @Sam Mason)

It works for any connected Bluetooth audio device - you don't need to manually find the mac address like in the previous example.

#!/usr/bin/python3

from pulsectl import Pulse import subprocess import sys

Prerequisite tasks on ubuntu machine:

sudo apt install python3-pip

pip install pulsectl

method = 'org.bluez.MediaControl1.Volume{}'.format( 'Down' if sys.argv[1] == 'down' else 'Up')

with Pulse() as pulse: for sink in pulse.sink_list(): bluez_path = sink.proplist.get('bluez.path') if bluez_path: args = [ 'dbus-send', '--system', '--print-reply', '--dest=org.bluez', bluez_path, method, ] subprocess.run(args, check=True)

Then I made the file executable and mapped some hotkeys to run this script:

/home/me/scripts/bt_volume.py up
/home/me/scripts/bt_volume.py down
Carolus
  • 587
1

What just worked for me was Carolus solution under "Control it via dbus" and i am running Ubuntu LTS 20.04 with a minor tweak:

on step 3 i believe the commands have typos where they should be

dbus-send --print-reply --system --dest=org.bluez /org/bluez/hci0/<device id> --type=method_call org.bluez.MediaControl1.VolumeUp

and

dbus-send --print-reply --system --dest=org.bluez /org/bluez/hci0/<device id> --type=method_call org.bluez.MediaControl1.VolumeDown

respectively. Where is dev_C8_B2_58_35_64_6F in Carolus example.

Thank you @Carolus

PS. I can't comment nor add a vote as i am a new stackoverflow user

  • Amen Dude, thanks this is the only thing that worked for me. Incorporated it as a script/command in my /usr/bin/ – Fanchi Nov 15 '22 at 14:46
0

For my Sennheiser CX 400BT True Wireless earbuds, the solution was to increase the volume on the earbuds (by default this is touch holding the right earbud). This is adjustable with the Sennheiser Smart Control phone app.

qwr
  • 2,802
0

The solution for my Smart Bluetooth Glasses (which didn't had inbuilt audio controls) were to connect it to another device (in my case it was a Mac M1) that allowed you to set speaker and mic volume of the bluetooth device.

Then disconnect it by turning of bluetooth in the other device (in my case mac), then connect it to the linux machine.

This fixed the problem for me, I'm using pipewire on Raspberry Pi OS (32 Bit) on a raspberry pi zero 2W

Akshat
  • 11