Bluetooth issues

Just installed Manjaro today, paired Bluetooth headphones and they worked for a while. Then they cut out I turned off Bluetooth, but it wont turn on anymore. I’ve tried unplugging, restarting and restarting the service. The Bluetooth menu shows me that “No Bluetooth found, Plug in a dongle to use Bluetooth.”. I am using Manjaro GNOME

1 Like

Check out in files -> other locations -> Computer -> etc -> bluetooth
Check if there is any file named “main.conf” or “audio.conf”

If there is no such file, follow these steps:

Problem: Bluetooth headphone/speaker is getting connected but audio output is not transfered to the device.
Bluetooh headphones/speakers fixed (based on Gnome Desktop)

  1. Open terminal and type
    cd /etc/bluetooth
    sudo gedit audio.conf

       		or
    

    Open files → other locations → Computer → etc → bluetooth
    Then right click on the window and click on “Open as Administrator”

    Enter your root access password and authenticate.
    p.s. If you are opening in files app, a new window will open which gives you the root access.

    Now right click on the new window and click on “Open in Terminal” and type
    gedit audio.conf

  2. paste the following code in the text file and save it. :

	# Configuration file for the audio service

	# This section contains options which are not specific to any
	# particular interface
	[General]
	Enable=Source,Control,Sink
	Disable=Headset,Gateway
	
	# Switch to master role for incoming connections (defaults to true)
	Master=true
	
	# If we want to disable support for specific services
	# Defaults to supporting all implemented services
	Disable=Control,Source

	# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
	# Defaults to HCI
	SCORouting=PCM

	# Automatically connect both A2DP and HFP/HSP profiles for incoming
	# connections. Some headsets that support both profiles will only connect the
	# other one automatically so the default setting of true is usually a good
	# idea.
	AutoConnect=true

	# Headset interface specific options (i.e. options which affect how the audio
	# service interacts with remote headset devices)
	[Headset]

	# Set to true to support HFP (in addition to HSP only which is the default)
	# Defaults to false
	HFP=true

	# Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
	MaxConnections=1
	
	# Set to true to enable use of fast connectable mode (faster page scanning)
	# for HFP when incomming call starts. Default settings are restored after
	# call is answered or rejected. Page scan interval is much shorter and page
	# scan type changed to interlaced. Such allows faster connection initiated
	# by a headset.
	FastConnectable=false

	# Just an example of potential config options for the other interfaces
	[A2DP]
	SBCSources=1
	MPEG12Sources=0

	[AVRCP]
	InputDeviceName=AVRCP	
  1. Close the text file and open it again from the files window to see if the code is saved.

    				Or
    

    for terminal type
    gedit audio.conf

  2. If the file is saved and present, close all windows.
    Update the System:
    For Arch based System terminal:
    sudo pacman -Syu

  3. Enter the password and wait for the update to finish and the reboot the system.

  4. Now try connecting a bluetooth headphone or speaker. The audio output should be changed to the device automatically.
    p.s. In my case, when I connected my mobile phone, the audio of my mobile phone also now changes to the laptop’s audio output. This may not be desired but its not a matter of problem.

If “main.conf” is not present, follow the above steps to create a file “main.conf” and paste the following code:

[General]
# Default adapter name
# Defaults to 'BlueZ X.YZ'
#Name = BlueZ
# Default device class. Only the major and minor device class bits are
# considered. Defaults to '0x000000'.
#Class = 0x000100
# How long to stay in discoverable mode before going back to non-discoverable
# The value is in seconds. Default is 180, i.e. 3 minutes.
# 0 = disable timer, i.e. stay discoverable forever
#DiscoverableTimeout = 0
# Always allow pairing even if there are no agent registered
# Possible values: true, false
# Default: false
#AlwaysPairable = false
# How long to stay in pairable mode before going back to non-discoverable
# The value is in seconds. Default is 0.
# 0 = disable timer, i.e. stay pairable forever
#PairableTimeout = 0
# Use vendor id source (assigner), vendor, product and version information for
# DID profile support. The values are separated by ":" and assigner, VID, PID
# and version.
# Possible vendor id source values: bluetooth, usb (defaults to usb)
#DeviceID = bluetooth:1234:5678:abcd
# Do reverse service discovery for previously unknown devices that connect to
# us. For BR/EDR this option is really only needed for qualification since the
# BITE tester doesn't like us doing reverse SDP for some test cases, for LE
# this disables the GATT client functionally so it can be used in system which
# can only operate as peripheral.
# Defaults to 'true'.
#ReverseServiceDiscovery = true
# Enable name resolving after inquiry. Set it to 'false' if you don't need
# remote devices name and want shorter discovery cycle. Defaults to 'true'.
#NameResolving = true
# Enable runtime persistency of debug link keys. Default is false which
# makes debug link keys valid only for the duration of the connection
# that they were created for.
#DebugKeys = false
# Restricts all controllers to the specified transport. Default value
# is "dual", i.e. both BR/EDR and LE enabled (when supported by the HW).
# Possible values: "dual", "bredr", "le"
#ControllerMode = dual
# Enables Multi Profile Specification support. This allows to specify if
# system supports only Multiple Profiles Single Device (MPSD) configuration
# or both Multiple Profiles Single Device (MPSD) and Multiple Profiles Multiple
# Devices (MPMD) configurations.
# Possible values: "off", "single", "multiple"
#MultiProfile = off
# Permanently enables the Fast Connectable setting for adapters that
# support it. When enabled other devices can connect faster to us,
# however the tradeoff is increased power consumptions. This feature
# will fully work only on kernel version 4.1 and newer. Defaults to
# 'false'.
#FastConnectable = false
# Default privacy setting.
# Enables use of private address.
# Possible values: "off", "device", "network"
# "network" option not supported currently
# Defaults to "off"
# Privacy = off
# Specify the policy to the JUST-WORKS repairing initiated by peer
# Possible values: "never", "confirm", "always"
# Defaults to "never"
#JustWorksRepairing = never
[GATT]
# GATT attribute cache.
# Possible values:
# always: Always cache attributes even for devices not paired, this is
# recommended as it is best for interoperability, with more consistent
# reconnection times and enables proper tracking of notifications for all
# devices.
# yes: Only cache attributes of paired devices.
# no: Never cache attributes
# Default: always
#Cache = always
# Minimum required Encryption Key Size for accessing secured characteristics.
# Possible values: 0 and 7-16. 0 means don't care.
# Defaults to 0
#KeySize = 0
# Exchange MTU size.
# Possible values: 23-517
# Defaults to 517
#ExchangeMTU = 517
# Number of ATT channels
# Possible values: 1-5 (1 disables EATT)
# Default to 3
#Channels = 3
[Policy]
#
# The ReconnectUUIDs defines the set of remote services that should try
# to be reconnected to in case of a link loss (link supervision
# timeout). The policy plugin should contain a sane set of values by
# default, but this list can be overridden here. By setting the list to
# empty the reconnection feature gets disabled.
#ReconnectUUIDs=00001112-0000-1000-8000-00805f9b34fb,0000111f-0000-1000-8000-00805f9b34fb,0000110a-0000-1000-8000-00805f9b34fb
# ReconnectAttempts define the number of attempts to reconnect after a link
# lost. Setting the value to 0 disables reconnecting feature.
#ReconnectAttempts=7
# ReconnectIntervals define the set of intervals in seconds to use in between
# attempts.
# If the number of attempts defined in ReconnectAttempts is bigger than the
# set of intervals the last interval is repeated until the last attempt.
#ReconnectIntervals=1,2,4,8,16,32,64
# AutoEnable defines option to enable all controllers when they are found.
# This includes adapters present on start as well as adapters that are plugged
# in later on. Defaults to 'false'.
#AutoEnable=false

After this update the system and reboot. Bluetooth should work fine.