Commit Graph

6 Commits

Author SHA1 Message Date
chenpaul
69c3c22603 WIFI: Add log to debug onSubsystemRestart
onSubsystemRestart should be triggered by wifi HAL
when subsystem restart happened.

Add log to debug why this callback function was not trigger at
unexpected corner case.

Bug: 201330066
Test: Manual test
Change-Id: I160adc6006d078fcc72c1768927e87e378fd675e
Merged-In: I160adc6006d078fcc72c1768927e87e378fd675e
2021-10-08 20:56:37 +00:00
chenpaul
c6f570378b Add API "startSubsystemRestart" and callback function
In order to trigger subsystem restart to reload wlan firmware,
this change adds an API for framework and vendor HAL.
Meanwhile, create new callback function for subsystem restart instead of
 general callback "onFailure()".

Bug: 178126071
Test: vendor HAL can received API call
      subsystem restart will callback "onSubsystemRestart()"

Change-Id: If3dc84049a9171677ad281c9bcc67a44dc722bdb
2021-03-20 09:29:46 +08:00
chenpaul
b690fb822e Uprev IWifiEventCallback.hal to 1.5
Bug: 178126071
Test: atest VtsHalWifiV1_5TargetTest
      wifi basic function is workable
Change-Id: I5f1897b6d4190d80eaf25eccea04ccfdbe4884c7
2021-03-19 15:21:29 +08:00
Roshan Pius
8c1a67b7af wifi: Wait for driver ready and bring up the interface when setMacAddress fails
setMacAddress may fail in some scenarios like SSR inprogress. In such
case framework is not bringing up the iface again if it was brought down
to set random MAC address. Due to this subsequent operations like scans
are failing with "Network Down" error and Wi-Fi can't recover until
Wi-Fi restarts. To avoid this bring up the iface irrespective of
setMacAddress status.

Modified the original CL to move the WifiIfaceUtil creation to inside
Wifi object since that is where the legacy HAL instance is created for
the corresponding chip. This helps keeping the setMacAddress logic still
inside WifiIfaceUtil. Modified the iface_util lifetime - no longer a
singleton, one instance created per wifi chip instance.

Bug: 174183763
Test: Wifi can be enabled when back-to-back SSR and wifi on
Change-Id: I926b59f5da126aba222e05d1e570c0c19de739ed
2021-03-03 09:00:00 -08:00
Jimmy Chen
2dddd79e16 Wifi: support multiple WIFI chips
The WIFI HAL API has support for multiple WIFI chips
(IWifiChip instances) however the implementation
is hard-coded to support only a single WIFI chip.
This change reworks the implementation so multiple
WIFI chips will be supported.
Support for multiple chips is based on the concept
that each chip is represented by its own vendor HAL
library.
The implementation will look for descriptor
files for vendor HAL libraries under
/vendor/etc/wifi/vendor_hals. It will parse
descriptors, dynamically load vendor HAL libraries
and create WifiLegacyHal and WifiChip objects for
each loaded vendor HAL library.
One of the descriptors should be marked with "primary"
flag. The implementation will create the first WifiChip
object for this library. Typically it is the one
providing the best WIFI functionality, which was
previously used as the only WIFI chip.
Additional support is added inside WifiChip and
WifiLegacyHal for getting available chip modes
and concurrency combinations from the vendor HAL
if available, and allowing the chip to override
network interface name when creating interfaces.
The mechanism for getting chip capabilities is
improved to allow getting chip-global capabilities,
which are independent of any created interfaces.
For example, if the framework needs to start
a SoftAP on the 60GHz band, it needs to find a
chip which supports this band, but before creating
any interface on the chip. The new mechanism allows
this.

Bug: 146922967
Test: atest VtsHalWifiV1_0TargetTest VtsHalWifiNanV1_0TargetTest VtsHalWifiApV1_0TargetTest \
            VtsHalWifiV1_1TargetTest \
            VtsHalWifiV1_2TargetTest VtsHalWifiNanV1_2TargetTest \
            VtsHalWifiV1_3TargetTest \
            VtsHalWifiApV1_4TargetTest VtsHalWifiNanV1_4TargetTest VtsHalWifiRttV1_4TargetTest
Change-Id: Ibdff93ea56aff186d4b5361ac77f6f448a0dfd45
2020-08-11 14:58:07 +08:00
Jimmy Chen
d460df3f3b wifi: upgrade wifi interface to 1.5
Only a root interface is added and update relevant code.

Bug: 160834354
Test: atest VtsHalWifiV1_0TargetTest VtsHalWifiNanV1_0TargetTest VtsHalWifiApV1_0TargetTest \
            VtsHalWifiV1_1TargetTest \
            VtsHalWifiV1_2TargetTest VtsHalWifiNanV1_2TargetTest \
            VtsHalWifiV1_3TargetTest \
            VtsHalWifiApV1_4TargetTest VtsHalWifiNanV1_4TargetTest VtsHalWifiRttV1_4TargetTest
Change-Id: Ifdffa3a6996eca1d3c4b499258896cdfe5eb9c87
2020-07-22 13:20:39 +08:00