[Linux] Fix getting BSSID for WiFi Network Diagnostics#72755
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the Linux ConnectivityManagerImpl to retrieve the connected Wi-Fi BSSID using the wpa_supplicant D-Bus API instead of querying the local network interface's MAC address. It updates the DBus XML interfaces to expose the necessary properties and refactors _GetBssInfo to return a CHIP_ERROR. The review feedback highlights two issues: first, using network.signal.strength will cause a compilation error because WiFiScanResponse uses rssi instead; second, the code should explicitly check if the retrieved bssPath is "/" (representing a null object path when disconnected) to prevent misleading error logs and unnecessary D-Bus calls.
|
LGTM. |
|
PR #72755: Size comparison from 51d1d76 to 06c4b89 Full report (33 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, efr32, esp32, nrfconnect, psoc6, qpg, realtek, stm32, telink)
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #72755 +/- ##
==========================================
- Coverage 56.79% 56.61% -0.19%
==========================================
Files 1642 1642
Lines 112770 113122 +352
Branches 13139 13242 +103
==========================================
- Hits 64048 64044 -4
- Misses 48722 49078 +356 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Summary
Current implementation returns BT address of the host controller instead of the BT address of the access point - aka BSSID. This PR fixes that.
Testing
Verified locally that ble-wifi commissioning works and the BSSID is correctly returned in the WiFi diagnostics:
Host A:
Host B:
Before the fix the returned value was (HW address of the host A):