fix(ble): Clarify ConnectDevice() object path return as success
ConnectDevice() D-Bus method returns an object path (signature 'o') which should be treated as success, not error. Previously, the return value was not captured or logged, causing confusion when error messages like "br-connection-profile-unavailable" appeared (which is expected for LE-only connections). Changes: - Capture object path returned by call_connect_device() - Log object path for debugging visibility - Document that object path indicates successful LE connection initiation - Clarify that BR/EDR profile unavailable is expected for BLE-only connections Impact: - Eliminates confusion from "profile unavailable" error messages - Confirms LE connection was successfully initiated - Improved debugging visibility through object path logging Files changed: - src/RNS/Interfaces/linux_bluetooth_driver.py: Capture and log object path - tests/test_breddr_fallback_prevention.py: Add test coverage - BLE_PROTOCOL_v2.2.md: Document object path behavior - CHANGELOG.md: Record fix details 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
d2f75c0f39
commit
acac473e65
4 changed files with 348 additions and 2 deletions
|
|
@ -1373,6 +1373,25 @@ sudo systemctl restart bluetooth
|
|||
|
||||
**File:** `src/RNS/Interfaces/linux_bluetooth_driver.py:876-905`
|
||||
|
||||
**ConnectDevice() Return Value (v2.2.3+):**
|
||||
|
||||
The `ConnectDevice()` D-Bus method returns an object path (signature 'o') indicating the device object created for the connection. This is normal behavior and indicates success:
|
||||
|
||||
```python
|
||||
result = await adapter_iface.call_connect_device(params)
|
||||
# result = "/org/bluez/hci0/dev_AA_BB_CC_DD_EE_FF" (object path)
|
||||
```
|
||||
|
||||
**Important:** The object path return should be treated as success, not an error. Some BlueZ versions may return an error like "br-connection-profile-unavailable" when BR/EDR profile is unavailable, but this is expected for BLE-only connections - the LE connection still succeeds.
|
||||
|
||||
**What This Fixes (v2.2.3+):**
|
||||
- Clarifies that object path return is success, not error
|
||||
- Logs the object path for debugging visibility
|
||||
- Prevents confusion from "profile unavailable" error messages
|
||||
- Confirms that LE connection was successfully initiated
|
||||
|
||||
**File:** `src/RNS/Interfaces/linux_bluetooth_driver.py:1121-1132`
|
||||
|
||||
---
|
||||
|
||||
### Three-Method MTU Negotiation Fallback
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue