wifi: Add Implementation of IWifiChip.requestChipDebugInfo
Bug: 31352200
Test: mmma -j32 hardware/interfaces/wifi/1.0/default
Change-Id: Id0c02e37dac66de6f830785881cb67f113c0fb19
diff --git a/wifi/1.0/default/wifi_chip.cpp b/wifi/1.0/default/wifi_chip.cpp
index 91cf514..e829924 100644
--- a/wifi/1.0/default/wifi_chip.cpp
+++ b/wifi/1.0/default/wifi_chip.cpp
@@ -70,7 +70,29 @@
Return<void> WifiChip::requestChipDebugInfo() {
if (!legacy_hal_.lock())
return Void();
- // TODO add implementation
+
+ IWifiChipEventCallback::ChipDebugInfo result;
+
+ std::pair<wifi_error, std::string> ret =
+ legacy_hal_.lock()->getWlanDriverVersion();
+ if (ret.first != WIFI_SUCCESS) {
+ LOG(ERROR) << "Failed to get driver version: "
+ << LegacyErrorToString(ret.first);
+ return Void();
+ }
+ result.driverDescription = ret.second.c_str();
+
+ ret = legacy_hal_.lock()->getWlanFirmwareVersion();
+ if (ret.first != WIFI_SUCCESS) {
+ LOG(ERROR) << "Failed to get firmware version: "
+ << LegacyErrorToString(ret.first);
+ return Void();
+ }
+ result.firmwareDescription = ret.second.c_str();
+
+ for (const auto& callback : callbacks_) {
+ callback->onChipDebugInfoAvailable(result);
+ }
return Void();
}