(Created page with "Bluetooth is a short range wireless protocol that is used to connect to various low bandwidth I/O devices (like keyboards, mice, headsets). Newer versions have a low-energy m...") |
|||
Line 6: | Line 6: | ||
=== Was the bluetooth hardware found? === | === Was the bluetooth hardware found? === | ||
<ul> | <ul> | ||
Line 32: | Line 30: | ||
<pre>$ hciconfig up </pre> | <pre>$ hciconfig up </pre> | ||
</ul> | </ul> | ||
=== Is the bluetoothd daemon running? === | |||
<ul> | |||
<li> Verify under systemd bluetooth is 'Active' and 'enabled' | |||
<pre>$ systemctl status bluetooth | |||
● bluetooth.service - Bluetooth service | |||
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled) | |||
Active: active (running) since Wed 2017-10-04 16:07:40 EDT; 1 day 22h ago | |||
Docs: man:bluetoothd(8) | |||
Main PID: 27427 (bluetoothd) | |||
Status: "Running" | |||
Tasks: 1 (limit: 4915) | |||
CGroup: /system.slice/bluetooth.service | |||
└─27427 /usr/libexec/bluetooth/bluetoothd | |||
</pre> | |||
<li> Verify obex is configured to run (to transfer files from phone) | |||
<pre>$ systemctl --global --user is-enabled obex | |||
enabled | |||
</pre> |
Revision as of 18:52, 6 October 2017
Bluetooth is a short range wireless protocol that is used to connect to various low bandwidth I/O devices (like keyboards, mice, headsets). Newer versions have a low-energy mode with a slightly higher bandwidth and range.
The Bluetooth solution is composed of a userspace daemon, bluetoothd, that communicates through a management port in the kernel to the hardware drivers. Applications that want to communicate with the bluetoothd daemon do so over a d-bus api. This includes the various GNOME bluetooth applets.
Identifying Bluetooth Problems
Was the bluetooth hardware found?
- Make sure bluetooth was found and enabled (note hci0: and 'UP RUNNING'):
$ hciconfig hci0: Type: Primary Bus: USB BD Address: xx:xx:xx:xx:xx:xx ACL MTU: 1021:4 SCO MTU: 96:6 UP RUNNING PSCAN RX bytes:15047 acl:0 sco:0 events:2433 errors:0 TX bytes:599323 acl:0 sco:0 commands:2431 errors:0
- If the command returns nothing (no hci: info), then there is a hardware issue
$ lsusb -v | grep Bluetooth | grep DeviceProtocol bDeviceProtocol 1 Bluetooth
- If the lsusb command returns nothing, there is no hardware, a dmesg output would be needed
- If the lsusb commands returns Bluetooth, then check for attached driver
$ lsusb -t | grep Wireless |__ Port 4: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M |__ Port 4: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
- If Driver is empty,
lsusb -v
output would be needed to add ids - If hciconfig shows output but not UP
$ hciconfig up
Is the bluetoothd daemon running?
- Verify under systemd bluetooth is 'Active' and 'enabled'
$ systemctl status bluetooth ● bluetooth.service - Bluetooth service Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2017-10-04 16:07:40 EDT; 1 day 22h ago Docs: man:bluetoothd(8) Main PID: 27427 (bluetoothd) Status: "Running" Tasks: 1 (limit: 4915) CGroup: /system.slice/bluetooth.service └─27427 /usr/libexec/bluetooth/bluetoothd
- Verify obex is configured to run (to transfer files from phone)
$ systemctl --global --user is-enabled obex enabled