Skip to content

Commit 0d2404a

Browse files
committed
Updated bluetooth content
1 parent 0e76516 commit 0d2404a

File tree

1 file changed

+135
-22
lines changed

1 file changed

+135
-22
lines changed

content/bluetooth.md

Lines changed: 135 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,42 @@ section: network-troubleshooting
1515
tableOfContents: true
1616
---
1717

18-
## Important Notes About Bluetooth
18+
## About Bluetooth
1919

20-
Bluetooth is a bit odd.
21-
There are a lot of factors that go into whether Bluetooth devices work together as expected.
20+
Bluetooth is incredibly flexible. With a range of factors that enhance compatibility, Bluetooth devices effortlessly connect and work together for a smooth, seamless experience.
2221

2322
### Bluetooth version
2423

2524
Bluetooth 5.0 is backwards compatible with older Bluetooth versions, but older bluetooth versioned devices are not always compatible with newer versions or devices.
2625

26+
### Confirm the bluetooth version of your device and make sure it is 5.0 or higher
27+
28+
Use bluetoothctl, on your terminal type:
29+
30+
```bash
31+
bluetoothctl
32+
```
33+
34+
If you have multiple Bluetooth controllers, choose the one you wish to connect to the device.
35+
36+
Check list of controllers:
37+
```
38+
List
39+
```
40+
41+
Select the controller you want to use:
42+
43+
```
44+
select <mac address>
45+
```
46+
47+
Check the version:
48+
```
49+
version
50+
```
51+
52+
![bluetoothclt version](/images/bluetooth/bluetooth_1.png)
53+
2754
### Signal Interference
2855

2956
Bluetooth uses the same bandwidth as the 2.4Ghz Wi-Fi band, and in most of our machines it is on the same chip as the Wi-Fi module. They usually have two antennae, one for Bluetooth, and one for Wi-Fi, but it is possible for other Wi-Fi or Bluetooth devices signals to cross and to cause connection issues. If users are in an area crowded with other Wi-Fi networks or devices, the interference from these outside sources can impact performance and range.
@@ -72,44 +99,135 @@ This process lowers the sound quality of the stream when in HSP/HFP mode, so aud
7299

73100
Bluetooth issues can be troubleshooted in several ways. The first thing to check is toggling airplane mode which will sometimes get Bluetooth functioning again. Next, make sure Bluetooth is enabled in the top bar, or in the <u>Bluetooth</u> system settings.
74101

75-
Then, try reinstalling Bluetooth related software with this command, depending on the verison of Pop!\_OS you're using.
76-
77-
*For Pop!\_OS 22.04 or higher:*
102+
Installing Bluetooth related software with this command:
78103

79104
```bash
80-
sudo apt reinstall --purge bluez gnome-bluetooth
105+
sudo apt install blueman
81106
```
82107

83-
*For Pop!\_OS 21.10 or 20.04:*
108+
**NOTE:** After reinstalling the above packages, fully shut down the machine and then power it back on, rather than rebooting. This ensures the hardware completely resets.
84109

85-
```bash
86-
sudo apt install --reinstall bluez gnome-bluetooth indicator-bluetooth pulseaudio-module-bluetooth
87-
```
110+
Open bluetooth manager, Super + Space and search:
88111

89-
**NOTE:** After reinstalling the above packages, fully shut down the machine and then power it back on, rather than rebooting. This ensures the hardware completely resets.
112+
![bluetooth manager](/images/bluetooth/bluetooth_2.png)
113+
114+
Remove the device, allowing for a fresh, new connection.
115+
116+
![Remove device](/images/bluetooth/bluetooth_3.png)
117+
118+
Click search and pair the device again:
119+
120+
![Pair device](/images/bluetooth/bluetooth_4.png)
90121

91122
If `tlp` is installed, then there may be settings interfering with Bluetooth functionality. Edit this file and disable Wifi and Bluetooth power saving features:
92123

93124
```bash
94-
sudo gedit /etc/default/tlp
125+
sudo nano /etc/tlp.conf
95126
```
96127

97128
### Useful Programs
98129

99-
There is a program called <u>Bluetooth Manager</u> which is included with <u>XFCE</u>. It can sometimes pair and trust Bluetooth devices better than the default <u>Bluetooth</u> settings. Install it with:
130+
There is a program called <u>Bluetooth Manager</u>. It can sometimes pair and trust Bluetooth devices better than the default <u>Bluetooth</u> settings. Install it with:
100131

101132
```bash
102133
sudo apt install blueman
103134
```
104135

136+
Start the bluetooth using systemctl:
137+
138+
```bash
139+
sudo systemctl start bluetooth
140+
```
141+
142+
```bash
143+
sudo systemctl enable bluetooth
144+
```
145+
146+
Check the status of the bluetooth
147+
148+
```bash
149+
sudo systemctl status bluetooth
150+
```
151+
152+
Sample output:
153+
154+
![bluetooth status systemd](/images/bluetooth/bluetooth_5.png)
155+
105156
Then, run <u>Bluetooth Manager</u>. Check for the device being trusted, and also try re-pairing in that program.
106157

158+
### Using bluetoothctl
159+
160+
Using bluetoothctl over a UI offers more control, flexibility, and efficiency, especially for advanced users. It allows precise management of Bluetooth devices via the terminal, which is faster than navigating through graphical menus. For troubleshooting, bluetoothctl provides direct feedback and logs, which can help identify connection issues, detect devices, or configure settings in real time. It’s also useful for headless or remote setups where a UI might not be available.
161+
162+
To get started, ensure Bluetooth is unblocked by running rfkill to check and enable it if necessary. Use the command:
163+
164+
```bash
165+
rfkill unblock bluetooth
166+
```
167+
to ensure that Bluetooth is not disabled at the system level.
168+
169+
Type:
170+
```
171+
bluetoothctl
172+
```
173+
![bluetoothclt](/images/bluetooth/bluetooth_6.png)
174+
175+
If you have multiple Bluetooth controllers, choose the one you wish to connect to the device:
176+
177+
Check list of controllers:
178+
```
179+
list
180+
```
181+
182+
Check controller information:
183+
```
184+
info <controller_address>
185+
```
186+
187+
Select the controller you want to use:
188+
```
189+
select <mac address>
190+
```
191+
192+
Make sure to power it on
193+
```
194+
power on
195+
```
196+
![bluetoothctl power on](/images/bluetooth/bluetooth_7.png)
197+
198+
Look for the device you want to connect:
199+
```
200+
scan on
201+
```
202+
Add trusted device
203+
```
204+
trust <mac address>
205+
```
206+
See list of paired devices:
207+
208+
```
209+
devices
210+
```
211+
212+
To connect the device:
213+
```
214+
connect <mac address>
215+
```
216+
![bluetootctl list scan trust connect](/images/bluetooth/bluetooth_8.png)
217+
218+
Successful device connection:
219+
220+
![bluetooothctl device connected](/images/bluetooth/bluetooth_9.png)
221+
107222
### Useful Commands
108223

109224
To show if the Bluetooth module (driver) is loaded, and see what system messages have been logged:
110225

111226
```bash
112227
lsmod | grep bluetooth
228+
```
229+
230+
```bash
113231
dmesg | grep Bluetooth
114232
```
115233

@@ -141,6 +259,9 @@ To manually reload the Bluetooth USB kernel module:
141259

142260
```bash
143261
sudo rmmod btusb
262+
```
263+
264+
```bash
144265
sudo modprobe btusb
145266
```
146267

@@ -156,14 +277,6 @@ To reset the Bluetooth device profiles and require re-pairing all devices (this
156277
sudo rm -r /var/lib/bluetooth/
157278
```
158279

159-
*For Pop!\_OS 21.10 or 20.04:*
160-
161-
Older Pop!\_OS versions used a PulseAudio module for Bluetooth audio. It's typically loaded by default, but sometimes a manual load can get Bluetooth headsets working again:
162-
163-
```bash
164-
pactl load-module module-bluetooth-discover
165-
```
166-
167280
## Additional Info
168281

169282
Here are a few additional tidbits about the Bluetooth system that may help with troubleshooting.

0 commit comments

Comments
 (0)