Age | Commit message (Collapse) | Author |
|
This commit uprevs the Wifi vendor HAL to 1.6
Bug: 214108561
Test: atest VtsHalWifiV1_0TargetTest VtsHalWifiNanV1_0TargetTest VtsHalWifiApV1_0TargetTest \
VtsHalWifiV1_1TargetTest \
VtsHalWifiV1_2TargetTest VtsHalWifiNanV1_2TargetTest \
VtsHalWifiV1_3TargetTest \
VtsHalWifiApV1_4TargetTest VtsHalWifiNanV1_4TargetTest VtsHalWifiRttV1_4TargetTest \
VtsHalWifiV1_5TargetTest VtsHalWifiNanV1_5TargetTest VtsHalWifiApV1_5TargetTest
Change-Id: I059a5de346e353f7fba1e008ecd9fb4611e66880
|
|
In some implementations P2P device interface is created under
primary interface(wlan0 by default). In those implementations
p2p device name is predefined in system property wifi.direct.interface.
And the interface is created by supplicant with primary interface as
the parent interface. The naming of p2p device interface is
p2p-dev-<parent interface> ("p2p-dev-wlan0").
With STA+STA feature, wlan0 interface gets deleted in certain scenarios
and wlan1 becomes the active interface. In such scenarios P2P fails to
create the interface as parent interface wlan0 is deleted.
To fix the issue update the p2p device interface from system property
based on the current active wlan interface. ie First get the p2p parent
interface name from p2p device interface name set in property.
Check if the parent interface derived from p2p device interface name is
the current active interface. If not, get the current active interface
and update the name as p2p-dev-<ifname> ("p2p-dev-wlan1").
This helps HIDL/supplicant to get an active wlan interface from p2p
device interface name and succeed in creating the p2p interface under the
active interface.
Bug: 203434193
Bug: 200810773
Test: Manual - Tested STA+STA which ended up deleting wlan0 interface.
Then ran p2p tests and confirmed that p2p scan and connection
works.
Change-Id: I522cec02a662c057e21d434f3ed98c7e7a4ca8f0
|
|
|
|
Clear the in-memory ringbuffer after writing to file.
Bug: 193007899
Test: Manually verified ringbuffers are cleared with command "adb shell
lshal debug android.hardware.wifi@1.5::IWifi"
Change-Id: Icfa08634e948d7155e231458edd394a4d699fbaa
|
|
The active interface need to be updated when any of interface changecd.
Also fix the local cache bridged_ap_instances value incorrect
when erasing.
Bug: 191625124
Test: Manual check property "wifi.active.interface" after wlan2 down
Test: Manual test with command "halutil -sar enable 0" after wlan2 down
Change-Id: I40150c231313505ca355228e711c2448088f41ad
|
|
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
|
|
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
|
|
Add ability to filter usable channel due to coex &
concurrency limitations. List of usable channels could
be limited due to coex restrictions and also due to
concurrency limitations & connection state.
Bug: 160212907
Test: VTS - VtsHalWifiV1_5TargetTest
Change-Id: Ic36b792b93fc4a6e328b9bc606a5286b8c1fd690
|
|
|
|
API can be used to query what modes (SAP, STA,
WFD Client, WFD Group Owner, TDLS, NAN) can be
supported on each channel for specified band.
Needs support from Wifi chip vendors.
Bug: 160212907
Test: VTS - VtsHalWifiV1_5TargetTest
Change-Id: Icf270b8c2ee14c794778421c9d988712c5c38380
|
|
Also fix the instances doesn't update after removing the instance
Cherry-pick from ag/13382534 which finished the review in master branch
Bug: 173999527
Test: atest -c VtsHalWifiApV1_5TargetTest
Change-Id: I439922d38c35b5367823f95f5f7d0e4c6ed05f57
|
|
This `if` is executed once, so using `legacy_status` from a prior
execution is nonsensical.
Caught by the static analyzer:
> hardware/interfaces/wifi/1.5/default/wifi_chip.cpp:1053:39: warning:
1st function call argument is an uninitialized value
[clang-analyzer-core.CallAndMessage]
Bug: 173999527
Test: atest -c VtsHalWifiApV1_5TargetTest
Merged-In: Ib81f1496be53e453d9c99ede129a77bdaf860de7
Change-Id: Ib81f1496be53e453d9c99ede129a77bdaf860de7
|
|
|
|
Country code is global setting across the Wifi chip
and not really Wifi interface (STA or AP) specific.
Framework should have the ability to set the country
code on a chip level without requiring supplicant
instance to be running. As long as there is at least
one active interface to communicate to kernel driver,
country code can be set and driver should apply the
setting globally.
Bug: 149936939
Test: VTS - VtsHalWifiV1_5TargetTest
Change-Id: I1be5dae34b216a6152d09605d055872d5345507c
|
|
The hal use first active wlan iface to get chip info.
It should should return active wlan instance in bridged mode.
Bug: 162686273
Test: Manual test.
1. Wifi Off (SAA off), make sure bridged AP is first wlan iface
2. Enable bridged mode
Change-Id: Id5a3d5ab53c6ed34d5633be22ad56070f5f0d0e2
|
|
Fix the incorrect empty check.
Bug: 162686273
Test: Manual Test, shutdown instance works normally
Change-Id: I44c5c4adcc7a964e25b5fa5e291bb9b9f4932655
|
|
* changes:
Add VTS test for IWifiChip::setCoexUnsafeChannels
[WifiCoex] Add enum for wifi coex restrictions
|
|
Add custom enum for wifi coex restrictions since IfaceType is not
suitable for use as a bitmask flag since it does not represent bit
positions.
Bug: 153651001
Test: build
Change-Id: I15575ea12784a778a3b358eea1b05b75319aa95b
|
|
1. The concurrent property name over the limitation.
Rename the property name.
2. When allocate bridged iface name, it needs to increase the idx to
avoid two ifaces use the same name.
Bug: 162686273
Test: atest -c VtsHalWifiApV1_0TargetTest
Test: atest -c VtsHalWifiApV1_4TargetTest
Test: atest -c VtsHalWifiApV1_5TargetTest
Change-Id: I388cdd812bd0448c03ad5ae982547629c1e5eff9
|
|
Add HIDL APIs to convey a list of unsafe Wifi channels to the driver for
coex channel avoidance.
Bug: 153651001
Test: build
Change-Id: I8b14f0e2d8855c1f1e363d612617256d8e928f30
|
|
SAP Interface idx mechanism.
STA+STA support, AP+AP will use wlan2 & wlan3, single AP use wlan2
STA+STA doesn't support, AP+AP use wlan1 & wlan 2, single AP use
wlan 1
STA+AP doesn't support, AP + AP will take wlan0 & wlan 1 but single AP
use wlan0 (Ideally it should not happen)
Add predefine interface support for bridged AP interface.
(property: ro.vendor.sap.concurrent.interface)
PS: Rename: getApIfaceName to getPredefinedApIfaceName since it
duplicates public HAL API: getApIfaceName
AP+AP Part 4 includes:
1. Support API to indicate Bridged AP supported or not
2. SAP Interface idx mechanism.
Bug: 162686273
Bug: 173999527
Test: atest -c VtsHalWifiApV1_0TargetTest
Test: atest -c VtsHalWifiApV1_4TargetTest
Test: atest -c VtsHalWifiApV1_5TargetTest
Change-Id: I115e294ac2be201cfa3a58cfa0a8a98b481b29de
|
|
Support HAL API:resetToFactoryMacAddress to reset the MAC
to factory MAC on each instances in IWifiApIface.
AP+AP Part 3 includes:
1. Support resetToFactoryMac in IWifiApIface.Hal.
2. Vts support for non bridged API.
3. Framework support resetToFactoryMac in bridged Ap.
Test: atest -c VtsHalWifiApV1_5TargetTest
Test: atest -c VtsHalWifiApV1_4TargetTest
Test: atest -c VtsHalWifiApV1_0TargetTest
Bug: 162686273
Change-Id: Ic7f2c0d6f1d8bf46fabfbc874d5f2b74068e43cc
|
|
The bridge interface name will take "ap_br_" + ap interface name.
ex: The ap interface name is "wlan1".
The bridge interface name will be "ap_br_wlan1"
When OEM customize the ap interface name via property
"ro.vendor.wifi.sap.interface".
It will only apply on single AP mode.
i.e.
"ro.vendor.wifi.sap.interface" = "sap0"
Single AP mode: ap interface name = "sap0"
Dual AP mode:
bridge interface name = "ap_br_sap0"
first ap instance name: get from "getSupportedIfaceName" + idx
ex: sap0
second ap instance name: get from "getSupportedIfaceName" + idx + 1
ex: sap1
PS: The VtsHalWifiApV1_5TargetTest will be added in another CL which
will update another SAP related HAL:IWifiApIface.hal.
AP+AP Part 2 includes:
1. Support bridge in libwifi_system_iface
2. WifiHal API
a. createBridgedApIface (Support create bridge mode AP)
b. removeIfaceInstanceFromBridgedApIface (Support remove one of the instance in bridge)
3. Framework:
Create bridge AP when multi-bands configured.
Bug: 162686273
Test: Manual Test (SAP enable normally)
Test: atest -c VtsHalWifiApV1_0TargetTest
Test: atest -c VtsHalWifiApV1_4TargetTest
Change-Id: I8be510778e9772bcf1539e4915384949cbe13127
|
|
Add the HIDL API's + shim + VTS tests.
Bug: 170305665
Test: atest VtsHalWifiV1_3TargetTest VtsHalWifiV1_5TargetTest
Change-Id: I26ada11aebfe8082bfda251cf7e6990e0aa08a06
|
|
Add a new chip capability WIGIG, for chips that
can operate on the 60GHz band. This capability is
mapped to the vendor HAL feature WIFI_FEATURE_INFRA_60G.
Bug: 147522435
Test: atest VtsHalWifiV1_0TargetTest VtsHalWifiNanV1_0TargetTest VtsHalWifiApV1_0TargetTest \
VtsHalWifiV1_1TargetTest \
VtsHalWifiV1_2TargetTest VtsHalWifiNanV1_2TargetTest \
VtsHalWifiV1_3TargetTest \
VtsHalWifiApV1_4TargetTest VtsHalWifiNanV1_4TargetTest VtsHalWifiRttV1_4TargetTest
Change-Id: I37b1121c62acadb621dca5e38671c78817f592e1
|
|
|
|
The file last modified time expressed in seconds from epoch is
attached to only the archived version of the file that is passed
to dumpstate.
Files stored on the device will still have no timestamp in their name.
Bug: 159808285
Test: manual verification
adb root
adb shell lshal debug android.hardware.wifi@1.5::IWifi >> archive.cpio
cpio -iv < archive.cpio
Verify that a timestamp is attached to the filename at the end:
connectivity_events_rbhOVjYpDdNY-1597364258
Change-Id: Iee0c2b37fc1d27cb979ec9125461416cd2d02549
|
|
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
|
|
In WifiChip::invalidateAndRemoveDependencies, the
iterator was not implemented correctly as it was
deleting objects while iterating. This could cause
the entire WIFI HAL to be restarted when disabling
WIFI.
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: Id86f1a662684467d3b86a79b271144ac3055d0a0
|
|
Forces ringbuffer updates before writing zipped files to bugreport.
Also properly resets the ringbuffer callback when it's deregistered.
Bug: 161307741
Test: make vts -j64 && vts-tradefed run commandAndExit vts --module VtsHalWifiV1_0Target
Test: manual verification with triggering a bugreport
Test: manual verification with wifi toggles
Change-Id: I74deffda917054e20cfcf4f0dd90d778626c89d3
|
|
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
|