You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/bluetooth.md
+45-77Lines changed: 45 additions & 77 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,11 +35,11 @@ Alternatively, in the Settings app, click the three dots to the right of the dev
35
35
36
36

37
37
38
-
## Troubleshooting
38
+
## Enabling Bluetooth
39
39
40
40
If Bluetooth isn't working, first try toggling airplane mode on and back off. This can be done using a keyboard shortcut if your keyboard has one (look for a key with an airplane symbol, commonly `Fn`+`F11` or `Fn`+`F9` on System76 laptops). Otherwise, use the option at the top of the Wi-Fi menu near the top-right corner of your screen.
41
41
42
-

42
+

43
43
44
44
Next, make sure Bluetooth is enabled in the top bar, or in the Bluetooth page of the Settings application.
45
45
@@ -53,15 +53,15 @@ If Bluetooth still isn't working, press `Super`+`T` to launch a Terminal, then c
53
53
sudo systemctl status bluetooth
54
54
```
55
55
56
-

56
+

57
57
58
58
If it's stopped, enable it to auto-start and immediately start it using the following command:
59
59
60
60
```bash
61
61
sudo systemctl enable --now bluetooth
62
62
```
63
63
64
-
###Using Bluetooth Manager (blueman)
64
+
## Using Bluetooth Manager (blueman)
65
65
66
66
A third-party program called <u>Bluetooth Manager</u> can sometimes pair and trust Bluetooth devices better than the default Bluetooth settings. Install it with this command:
67
67
@@ -91,6 +91,31 @@ Finally, right-click your paired device and select `Connect` to connect to it:
The `bluetoothctl` program offers control, flexibility, and efficiency through precise management of Bluetooth devices via the terminal. 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 user interface might not be available.
97
+
98
+
To get started, ensure Bluetooth is unblocked by running `sudo rfkill unblock bluetooth` in a terminal, then run `bluetoothctl` to enter the Bluetooth control tool.
If you have multiple Bluetooth controllers, you can list them with the `list` command, show information about them with `show <MAC address>`, and select one to use with `select <MAC address`.
103
+
104
+
Power the controller on and scan for available devices to connect to using the following commands:
105
+
106
+
```
107
+
power on
108
+
scan on
109
+
```
110
+
111
+
Devices with human-readable names (such as a product name) will show them after the MAC address. To pair with a device, use the `trust <MAC address>` command. Use `devices` to see a list of paired devices.
112
+
113
+
Finally, connect with the device using the `connect <MAC address>` command. A `Connection successful` message will appear if the connection succeeds.
114
+
115
+

116
+
117
+
## Further Troubleshooting
118
+
94
119
### Check TLP Settings
95
120
96
121
If `tlp` is installed, then there may be settings interfering with Bluetooth functionality. Edit this file and disable any WiFi and Bluetooth power saving features:
@@ -155,66 +180,31 @@ Rebooting is required to load the newly installed firmware.
155
180
156
181
Beyond forgetting and re-pairing deivces, you can check if any local configuration files are causing problems with a device by creating a [test user](/articles/other-accounts) or booting from a [live disk](/articles/live-disk) to see if Bluetooth works in either case. If it does, config files in your normal user account may need to be deleted.
157
182
158
-
### Using bluetoothctl
159
-
160
-
The `bluetoothctl` program offers control, flexibility, and efficiency through precise management of Bluetooth devices via the terminal. 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 user interface 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 `rfkill unblock bluetooth` to ensure that Bluetooth is not disabled at the system level.
163
-
164
-
Then, run `bluetoothctl` in a terminal to enter the Bluetooth control tool.
If you have multiple Bluetooth controllers, choose the one you wish to connect to the device:
169
-
170
-
Check list of controllers:
171
-
```
172
-
list
173
-
```
183
+
### Controlling Audio
174
184
175
-
Check controller information:
176
-
```
177
-
info <controller_address>
178
-
```
185
+
Once you're connected to a Bluetooth speaker, you may need to change where your current audio is "routed." PulseAudio Volume Control provides a more advanced GUI interface for routing audio. To install it, run this command:
179
186
180
-
Select the controller you want to use:
181
-
```
182
-
select <mac address>
187
+
```bash
188
+
sudo apt install pavucontrol
183
189
```
184
190
185
-
Make sure to power it on
186
-
```
187
-
power on
188
-
```
189
-

191
+
There will be a drop-down in the Playback tab for each of your applications that's outputting sound, which you can use to send audio from individual applications to your Bluetooth speaker.
190
192
191
-
Look for the device you want to connect:
192
-
```
193
-
scan on
194
-
```
195
-
Add trusted device
196
-
```
197
-
trust <mac address>
198
-
```
199
-
See list of paired devices:
193
+
### File Transfer
200
194
201
-
```
202
-
devices
203
-
```
195
+
Sometimes, additional programs need to be installed for mobile device file transfer to work. Install the Object Exchange (OBEX) packages with this command:
204
196
205
-
To connect the device:
206
-
```
207
-
connect <mac address>
197
+
```bash
198
+
sudo apt install obexfs obexftp
208
199
```
209
-

210
200
211
-
Successful device connection:
201
+
Then connect (pair) to the device and see if file sending works.
On GNOME environments (such as Pop!_OS 22.04 and below), you may need to enable the Personal File Sharing option in Settings for file receiving to work.
214
204
215
-
###Useful Commands
205
+
##Other Useful Commands
216
206
217
-
####Logging
207
+
### Logging
218
208
219
209
To show kernel logs related to Bluetooth:
220
210
@@ -228,7 +218,7 @@ To monitor Bluetooth events (try leaving this command running while pairing or u
228
218
sudo btmon
229
219
```
230
220
231
-
####Blocks
221
+
### Blocks
232
222
233
223
The `rfkill` utility shows whether Bluetooth or Wi-Fi are blocked in software or hardware. Generally, this information corresponds to whether airplane mode is enabled, but it can be useful to check separately in case of bugs in the airplane mode GUI or other components.
234
224
@@ -250,7 +240,7 @@ To unblock all wireless types:
250
240
sudo rfkill unblock all
251
241
```
252
242
253
-
####Kernel Module
243
+
### Kernel Module
254
244
255
245
To show what Bluetooth kernel modules (drivers) are loaded:
256
246
@@ -265,7 +255,7 @@ sudo rmmod btusb
265
255
sudo modprobe btusb
266
256
```
267
257
268
-
####Resetting Bluetooth Devices
258
+
### Resetting Bluetooth Devices
269
259
270
260
Resetting the Bluetooth device profiles will require re-pairing all devices:
This can help if your Bluetooth audio device is stuck on an HSP/HFP profile and won't switch to A2DP mode.
277
267
278
-
### Controlling Audio
279
-
280
-
Once you're connected to a Bluetooth speaker, you may need to change where your current audio is "routed." PulseAudio Volume Control provides a more advanced GUI interface for routing audio. To install it, run this command:
281
-
282
-
```bash
283
-
sudo apt install pavucontrol
284
-
```
285
-
286
-
There will be a drop-down in the Playback tab for each of your applications that's outputting sound, which you can use to send audio from individual applications to your Bluetooth speaker.
287
-
288
-
### File Transfer
289
-
290
-
Sometimes, additional programs need to be installed for mobile device file transfer to work. Install the Object Exchange (OBEX) packages with this command:
291
-
292
-
```bash
293
-
sudo apt install obexfs obexftp
294
-
```
295
-
296
-
Then connect (pair) to the device and see if file sending works.
297
-
298
-
On GNOME environments (such as Pop!_OS 22.04 and below), you may need to enable the Personal File Sharing option in Settings for file receiving to work.
299
-
300
268
## Get Support for Ongoing Bluetooth Issues
301
269
302
270
If you own a System76 computer and you're still experiencing Bluetooth problems after troubleshooting with the above steps, [open a support ticket](https://system76.com/contact/support) for additional assistance.
0 commit comments