RCA-2026-03-27-001: Fix Applied
Resolution
Immediate Actions
-
Provided one-liner:
bluetoothctl devices | awk '{print $2}' | xargs -I{} bluetoothctl connect {} -
Device connected successfully
Verification
bluetoothctl info | grep -E "Name|Connected"
bluetoothctl Command Reference
Controller Management
# List controllers
bluetoothctl list
# Show controller info
bluetoothctl show
# Power on/off
bluetoothctl power on
bluetoothctl power off
# Set discoverable (for pairing FROM another device)
bluetoothctl discoverable on
bluetoothctl discoverable off
Device Discovery
# Start scanning
bluetoothctl scan on
# Stop scanning
bluetoothctl scan off
# List discovered devices
bluetoothctl devices
# List only paired devices
bluetoothctl paired-devices
Device Connection
# Pair (one-time, with PIN if required)
bluetoothctl pair XX:XX:XX:XX:XX:XX
# Trust (enable auto-connect)
bluetoothctl trust XX:XX:XX:XX:XX:XX
# Connect
bluetoothctl connect XX:XX:XX:XX:XX:XX
# Disconnect
bluetoothctl disconnect XX:XX:XX:XX:XX:XX
# Remove pairing
bluetoothctl remove XX:XX:XX:XX:XX:XX
# Show device info
bluetoothctl info XX:XX:XX:XX:XX:XX
Non-Interactive Mode
# Single command execution
bluetoothctl power on
bluetoothctl connect XX:XX:XX:XX:XX:XX
# Multiple commands (here-string)
bluetoothctl <<< $'power on\nconnect XX:XX:XX:XX:XX:XX'
# With timeout for scanning
timeout 10 bluetoothctl scan on
One-Liner Patterns (Memorize These)
Connect First Paired Device
bluetoothctl connect $(bluetoothctl paired-devices | awk '{print $2}' | head -1)
Connect by Name Pattern
bluetoothctl connect $(bluetoothctl devices | awk '/Adv360/{print $2}')
Connect All Paired Devices
bluetoothctl paired-devices | awk '{print $2}' | xargs -I{} bluetoothctl connect {}
Disconnect All
bluetoothctl devices Connected | awk '{print $2}' | xargs -I{} bluetoothctl disconnect {}
Quick Status
bluetoothctl devices Connected
bluetoothctl info | awk '/Name|Connected|Battery/'
Reconnect Cycle (Troubleshooting)
MAC="XX:XX:XX:XX:XX:XX"
bluetoothctl disconnect $MAC && sleep 2 && bluetoothctl connect $MAC
Shell Integration
Recommended Aliases (~/.zshrc)
# Quick connect by name pattern
btc() { bluetoothctl connect $(bluetoothctl devices | awk "/$1/{print \$2}"); }
# Connect first paired device
alias bt1='bluetoothctl connect $(bluetoothctl paired-devices | awk "{print \$2}" | head -1)'
# Connect all paired
alias btall='bluetoothctl paired-devices | awk "{print \$2}" | xargs -I{} bluetoothctl connect {}'
# Status
alias bts='bluetoothctl devices Connected && bluetoothctl info 2>/dev/null | awk "/Name|Battery/"'
# Scan for new devices
alias btscan='timeout 15 bluetoothctl scan on'
Usage Examples
# Connect Adv360 keyboard
btc Adv360
# Connect Sony headphones
btc Sony
# Connect first paired device (fastest)
bt1
# Check what's connected
bts
Troubleshooting
Device Won’t Connect
# 1. Check controller is powered
bluetoothctl show | grep Powered
# 2. Remove and re-pair
bluetoothctl remove XX:XX:XX:XX:XX:XX
bluetoothctl scan on
bluetoothctl pair XX:XX:XX:XX:XX:XX
bluetoothctl trust XX:XX:XX:XX:XX:XX
bluetoothctl connect XX:XX:XX:XX:XX:XX
# 3. Restart Bluetooth service
sudo systemctl restart bluetooth
# 4. Check kernel module
lsmod | grep btusb
dmesg | grep -i bluetooth | tail -20
Audio Device Issues
# Check PipeWire/PulseAudio sees device
pactl list cards short
wpctl status
# Set audio profile
bluetoothctl menu audio
bluetoothctl transport <TAB>