Ubuntu 16.04蓝牙突发故障(Windows正常),求排查解决建议
Hey there, since your Bluetooth works perfectly on Windows but fails to detect any devices on Ubuntu 16.04 (even with the indicator light on), we can safely rule out hardware issues. Let’s walk through targeted fixes that often resolve this kind of Linux Bluetooth quirk:
Step 1: Verify and Restart Bluetooth Service
First, check if the Bluetooth service is running properly and spot any underlying errors:
systemctl status bluetooth
If you see failed statuses or error messages, restart the service immediately to reset it:
sudo systemctl restart bluetooth
Recheck the status to confirm it’s active and running without issues.
Step 2: Ensure Bluetooth Isn’t Soft-Blocked
Even though you mentioned checking rfkill list, double-check the Bluetooth-specific lock status to be thorough:
rfkill list bluetooth
Look for lines confirming Soft blocked: no and Hard blocked: no. If soft-blocked shows yes, unlock it with:
sudo rfkill unblock bluetooth
Step 3: Reload Bluetooth Driver Module
Temporary driver glitches are a common culprit—unload and reload the core Bluetooth driver module to refresh it:
sudo rmmod btusb sudo modprobe btusb
Wait a few seconds, then try searching for devices again.
Step 4: Adjust Configuration to Force Classic Bluetooth Mode
Ubuntu 16.04 has spotty support for Bluetooth Low Energy (BLE) on some devices. Force the controller to use the more reliable classic BREDR mode:
- Back up the original config file first to avoid breaking anything:
sudo cp /etc/bluetooth/main.conf /etc/bluetooth/main.conf.bak - Edit the config with a simple text editor like nano:
sudo nano /etc/bluetooth/main.conf - Find the line starting with
#ControllerMode(remove the#to uncomment it) and set it to:ControllerMode = bredr - Save and exit (press Ctrl+O, hit Enter, then Ctrl+X for nano), then restart the Bluetooth service:
sudo systemctl restart bluetooth
Step 5: Reinstall Core Bluetooth Packages
Corrupted or outdated Bluetooth packages can cause this issue. Reinstall the core tools to repair damaged files:
sudo apt update && sudo apt install --reinstall bluetooth bluez bluez-tools
Once done, reboot your system and test Bluetooth again.
Step 6: Dig Into Logs for Specific Errors
If none of the above works, check the Bluetooth system logs while attempting a search to get detailed error clues:
journalctl -u bluetooth -f
Keep this terminal open, then try searching for devices. Look for lines like Failed to start discovery or Controller initialization failed—these will point to the root cause (e.g., missing firmware or driver incompatibility).
Bonus: Identify Your Bluetooth Hardware
If logs point to a driver issue, find your exact Bluetooth device model with one of these commands:
lspci | grep Bluetooth # For internal PCI-based Bluetooth adapters # OR lsusb | grep Bluetooth # For USB Bluetooth adapters
You can then search for Ubuntu 16.04-specific fixes for that model—some older devices require firmware updates or custom driver patches.
内容的提问来源于stack exchange,提问作者perepepe

