Intel 8260 - Bluetooth Not Working

I have written numerous services in the past to help with networking issues. Below is a service I wrote a while back to deal with your type of Bluetooth problem. Follow the steps detailed below to create a service that should start your bluetooth connection for you without requiring any intervention on your part.




Bluetooth Startup Service

Sometimes network drivers can conflict with each other. In some cases the drivers must be loaded in a specific sequence or they will fail to load properly. This Bluetooth startup service in combination with a Bluetooth blacklist file will ensure that Bluetooth is not started until after the other networking components are initialized.

The following is a simple system service to start your Bluetooth after your WiFi at system startup.

The best way to ensure there is no driver conflict with WiFi or Ethernet at startup is to blacklist the btusb module.

Run this command to prevent Bluetooth from initiating early in the startup sequence:

echo 'blacklist btusb' | sudo tee /etc/modprobe.d/blacklist_btusb.conf

This will create /etc/modprobe.d/blacklist_btusb.conf which will prevent the bluetooth module from automatic early startup.

Then create the following service which will restart the Bluetooth components automatically after the other network components:

Restart Bluetooth Service

With a text editor create:

/etc/systemd/system/restart-bt.service

Service file contents:

#/etc/systemd/system/restart-bt.service
#systemctl enable restart-bt.service
#systemctl start restart-bt.service
#systemctl stop restart-bt.service
#systemctl disable restart-bt.service
#systemctl status restart-bt.service
#systemctl daemon-reload

[Unit]
Description=Restart Bluetooth Service
WantedBy=multi-user.target 
After=network.target
Wants=bluetooth.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/usr/bin/sleep 3
ExecStart=/usr/bin/modprobe btusb
ExecStop=/usr/bin/systemctl restart bluetooth

[Install]
WantedBy=multi-user.target 

Save the newly created service file, then enable the service:

systemctl enable restart-bt.service

Then restart.

Bluetooth should now be automatically started after your other network components have been loaded at startup.

2 Likes