feat: add Bluetooth adapter power state handling and auto-power-on
Addresses the common "Not Powered" error where Bluetooth adapters are powered off, preventing BLE operations. This issue is particularly common on Raspberry Pi after boot or system updates. Changes: 1. README.md - Added comprehensive troubleshooting section - New section: "Bluetooth adapter not powered" - Documented symptoms, causes, and 4 solution methods - Instructions for automatic power-on at boot - Cross-referenced from other sections 2. BLEInterface.py - Enhanced error handling in _discover_peers() - Detect "Not Powered" errors specifically - Show clear, actionable error messages instead of stack traces - Provide direct solution commands - Link to troubleshooting documentation - Gracefully handle error without crashing 3. install.sh - Automatic power state checking - New "Step 5B: Bluetooth Adapter Power State" section - Check if adapter is powered using `bluetoothctl show` - Automatically power on adapter if needed - Verify operation succeeded - Provide troubleshooting steps if power-on fails - Check for rfkill blocks 4. examples/bluetooth-power-on.service - New systemd service - Ensures Bluetooth is powered on at boot - Optional but recommended for production - Includes installation instructions in README 5. examples/config_example.toml - Added troubleshooting entry #7 - Documents power state issue in config comments - Cross-references systemd service example - Notes that installer (v1.x+) handles this automatically Impact: - Users get clear guidance instead of cryptic stack traces - Installer automatically fixes the issue during setup - Reduces support burden for common power state errors - Enables automatic recovery at boot via systemd service Fixes: "Not Powered" / "No powered Bluetooth adapters found" errors Tested on: Raspberry Pi Zero 2 W with Raspberry Pi OS Lite 64-bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
e7ee42ddc5
commit
a0f361a3f4
5 changed files with 121 additions and 3 deletions
|
|
@ -266,6 +266,15 @@ power_mode = balanced
|
|||
# - If you used install.sh, it should have enabled this automatically
|
||||
# - Verify: ps aux | grep bluetoothd (should show -E flag)
|
||||
#
|
||||
# 7. Bluetooth adapter not powered (No powered Bluetooth adapters found):
|
||||
# IMPORTANT: BLE interface won't work if adapter is powered off!
|
||||
# - Symptoms: "Not Powered" errors, interface fails to start, no peer discovery
|
||||
# - Solution: bluetoothctl power on
|
||||
# - Verify: bluetoothctl show (should display "Powered: yes")
|
||||
# - For automatic power-on at boot: see examples/bluetooth-power-on.service
|
||||
# - If blocked: sudo rfkill unblock bluetooth
|
||||
# - The installer (v1.x+) automatically powers on the adapter
|
||||
#
|
||||
# For more troubleshooting, see README.md
|
||||
|
||||
# ============================================================================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue