<feed xmlns='http://www.w3.org/2005/Atom'>
<title>platform_system_connectivity_wificond/net/netlink_utils.cpp, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/'/>
<entry>
<title>Bug fix of HE cap parsing for HE device capability</title>
<updated>2020-06-12T02:08:21+00:00</updated>
<author>
<name>Kai Shi</name>
<email>kaishi@google.com</email>
</author>
<published>2020-06-10T03:40:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/commit/?id=d057297e3a4693da0767563ee6fbe6561c091a23'/>
<id>d057297e3a4693da0767563ee6fbe6561c091a23</id>
<content type='text'>
1) Bug fix of parsing nl80211_band_iftype_attr as an array of nested
attribute instead of a nested attribute.
2) Relax HE PHY cap size check for some old Linux kernels which have the
incorrect HE PHY cap size of 9 (the correct size is 11).

Bug: 158795970
Test: manual test with 11ax device
Test: wificond unit test
Change-Id: I4e7c1716acf4ab6888fa25415fa79358260c95b0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1) Bug fix of parsing nl80211_band_iftype_attr as an array of nested
attribute instead of a nested attribute.
2) Relax HE PHY cap size check for some old Linux kernels which have the
incorrect HE PHY cap size of 9 (the correct size is 11).

Bug: 158795970
Test: manual test with 11ax device
Test: wificond unit test
Change-Id: I4e7c1716acf4ab6888fa25415fa79358260c95b0
</pre>
</div>
</content>
</entry>
<entry>
<title>Consider 5865 GHz ( Channel 173 ) for 5 GHz band too.</title>
<updated>2020-04-15T04:30:04+00:00</updated>
<author>
<name>Vinay Gannevaram</name>
<email>quic_vganneva@quicinc.com</email>
</author>
<published>2020-04-09T11:07:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/commit/?id=17dd452977559f7b5b6984d6c2b89adca802a8b6'/>
<id>17dd452977559f7b5b6984d6c2b89adca802a8b6</id>
<content type='text'>
Frequency 5865 is a valid SRD / WLAN channel. Hence, consider this
frequency too.

Change-Id: I0a22d89855ae8904f8d1ec1ab4857ae470f387e2
Bug: 153842427
Test: Manual
Test: atest android.net.wifi
Test: atest com.android.server.wifi
Test: system/connectivity/wificond/runtest.sh

Signed-off-by: Vinay Gannevaram &lt;quic_vganneva@quicinc.com&gt;
Change-Id: I693662764cde6c177ee60544cc1b4d19f44dbb04
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Frequency 5865 is a valid SRD / WLAN channel. Hence, consider this
frequency too.

Change-Id: I0a22d89855ae8904f8d1ec1ab4857ae470f387e2
Bug: 153842427
Test: Manual
Test: atest android.net.wifi
Test: atest com.android.server.wifi
Test: system/connectivity/wificond/runtest.sh

Signed-off-by: Vinay Gannevaram &lt;quic_vganneva@quicinc.com&gt;
Change-Id: I693662764cde6c177ee60544cc1b4d19f44dbb04
</pre>
</div>
</content>
</entry>
<entry>
<title>Parse nl80211 PHY attributes</title>
<updated>2020-02-10T18:27:18+00:00</updated>
<author>
<name>Kai Shi</name>
<email>kaishi@google.com</email>
</author>
<published>2020-02-06T00:57:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/commit/?id=731bd94be0770dd9f6e84f3e573486c6e40e020d'/>
<id>731bd94be0770dd9f6e84f3e573486c6e40e020d</id>
<content type='text'>
Parse nl80211 mcs set and BW capabilities related attributes
to update the following fields of BandInfo
	max_tx_streams
	max_rx_streams
	is_80p80_mhz_supported
	is_160_mhz_supported

Bug: 148981335
Test: unit test with run_test.sh
Test: manual
Change-Id: I8ef04c0581b4103720de2ac2703e39e2b6714180
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Parse nl80211 mcs set and BW capabilities related attributes
to update the following fields of BandInfo
	max_tx_streams
	max_rx_streams
	is_80p80_mhz_supported
	is_160_mhz_supported

Bug: 148981335
Test: unit test with run_test.sh
Test: manual
Change-Id: I8ef04c0581b4103720de2ac2703e39e2b6714180
</pre>
</div>
</content>
</entry>
<entry>
<title>Add parameters to device wiphy capabilities</title>
<updated>2020-01-19T07:39:28+00:00</updated>
<author>
<name>Ahmed ElArabawy</name>
<email>arabawy@google.com</email>
</author>
<published>2020-01-19T07:39:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/commit/?id=80f1b5216a3e80ab0c781c4a0cfa23b20de31f0c'/>
<id>80f1b5216a3e80ab0c781c4a0cfa23b20de31f0c</id>
<content type='text'>
This commit adds the following parameters to DeviceWiphyCapabilities:
1. Support of 160MHz / 80+80MHz channel width
2. Max number of Tx/Rx spatial streams.
Note that this commit does not fill those parameters from the device
NL80211 response. A separate CL should take care of this.

Bug: 144576344
Test: Manual
Change-Id: Id3f9e1ad43a576adec869d485d1001c806c34bcf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds the following parameters to DeviceWiphyCapabilities:
1. Support of 160MHz / 80+80MHz channel width
2. Max number of Tx/Rx spatial streams.
Note that this commit does not fill those parameters from the device
NL80211 response. A separate CL should take care of this.

Bug: 144576344
Test: Manual
Change-Id: Id3f9e1ad43a576adec869d485d1001c806c34bcf
</pre>
</div>
</content>
</entry>
<entry>
<title>Add support for query for device phy cpabilities</title>
<updated>2020-01-17T17:55:16+00:00</updated>
<author>
<name>Ahmed ElArabawy</name>
<email>arabawy@google.com</email>
</author>
<published>2020-01-10T20:54:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/commit/?id=ec905e608e78905ba87272dffef9b058ce151a67'/>
<id>ec905e608e78905ba87272dffef9b058ce151a67</id>
<content type='text'>
This commits adds support for query for device wiphy capabilities.

Bug: 143543900
Bug: 134688244
Bug: 144576344
Test: Manual
Change-Id: Iebb1e748d3c07624b2bb7fbfe5eacc66d9693491
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commits adds support for query for device wiphy capabilities.

Bug: 143543900
Bug: 134688244
Bug: 144576344
Test: Manual
Change-Id: Iebb1e748d3c07624b2bb7fbfe5eacc66d9693491
</pre>
</div>
</content>
</entry>
<entry>
<title>Support 6GHz band for getAvailableChannels() API</title>
<updated>2019-12-04T21:34:18+00:00</updated>
<author>
<name>Ahmed ElArabawy</name>
<email>arabawy@google.com</email>
</author>
<published>2019-11-14T04:07:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/commit/?id=f9bd54d9ad6d5517a6bc83d9daa9ac228f9806f7'/>
<id>f9bd54d9ad6d5517a6bc83d9daa9ac228f9806f7</id>
<content type='text'>
This commit adds support for 6GHz band for providing a list of available
channels for a specific band. This is used by the system API
getAvailableChannels().

Bug: 139354972
Test: Manual
Test: ./system/connectivity/wificon/runtests.sh
Change-Id: I99c03015b59867e2690477962726d599eeb51c0b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds support for 6GHz band for providing a list of available
channels for a specific band. This is used by the system API
getAvailableChannels().

Bug: 139354972
Test: Manual
Test: ./system/connectivity/wificon/runtests.sh
Change-Id: I99c03015b59867e2690477962726d599eeb51c0b
</pre>
</div>
</content>
</entry>
<entry>
<title>wifi: Check for sched scan's relative_rssi support to use it</title>
<updated>2019-03-14T21:50:48+00:00</updated>
<author>
<name>Ajit Vaishya</name>
<email>ajitv@codeaurora.org</email>
</author>
<published>2018-08-31T14:41:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/commit/?id=4dc5c0c972749eb085e73e39f143c31bef8f363a'/>
<id>4dc5c0c972749eb085e73e39f143c31bef8f363a</id>
<content type='text'>
Current behavior of the framework is to set the attributes of
relative_rssi by default in the sched scan request.
Kernel returns a failure if the host driver does not support
this capability , but the framework sends the respective
attributes.
Hence,check the driver support of this feature before accessing
its functionality.

Change-Id: I51001ac1c167e2fd7ad0508b0e1e02fb11ad6677
CRs-fixed: 2308247
Bug: 123009887
(cherry-picked from 0d6125bc809db8ebac203e4118ea0730dc3f2e57)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Current behavior of the framework is to set the attributes of
relative_rssi by default in the sched scan request.
Kernel returns a failure if the host driver does not support
this capability , but the framework sends the respective
attributes.
Hence,check the driver support of this feature before accessing
its functionality.

Change-Id: I51001ac1c167e2fd7ad0508b0e1e02fb11ad6677
CRs-fixed: 2308247
Bug: 123009887
(cherry-picked from 0d6125bc809db8ebac203e4118ea0730dc3f2e57)
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove err log if rx &amp; tx bit rate is not reported</title>
<updated>2019-02-01T18:21:37+00:00</updated>
<author>
<name>Sunil Ravi</name>
<email>sunilravi@google.com</email>
</author>
<published>2019-01-31T20:01:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/commit/?id=f9b1d03646e5931f896b68d4a6250180c6ea4a4f'/>
<id>f9b1d03646e5931f896b68d4a6250180c6ea4a4f</id>
<content type='text'>
when driver doesn't send the rx bit rate and tx bit rate
in response to get_station_info request, don't log error.
This is to reduce wifi logspam.

Bug: 123637973
Test: Connected to AP and confirmed that default logs doesn't
print Failed to get NL80211_STA_INFO_RX_BITRATE

Change-Id: I7be0f90891b671636d60647af9ca518bb013ba1d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when driver doesn't send the rx bit rate and tx bit rate
in response to get_station_info request, don't log error.
This is to reduce wifi logspam.

Bug: 123637973
Test: Connected to AP and confirmed that default logs doesn't
print Failed to get NL80211_STA_INFO_RX_BITRATE

Change-Id: I7be0f90891b671636d60647af9ca518bb013ba1d
</pre>
</div>
</content>
</entry>
<entry>
<title>STA/AP Concurrency fails with the wifi which has multiple phy am: 3e76438803 am: f8f093ee02</title>
<updated>2019-01-30T18:06:36+00:00</updated>
<author>
<name>Neo Jou</name>
<email>neojou@gmail.com</email>
</author>
<published>2019-01-30T18:06:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/commit/?id=226d7e6f9699d5d0df276b2e5c4d9096b887007f'/>
<id>226d7e6f9699d5d0df276b2e5c4d9096b887007f</id>
<content type='text'>
am: 20d7a84f54

Change-Id: Ie43f14616ed19b248892b4e2d2ed4ea40e915f20
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
am: 20d7a84f54

Change-Id: Ie43f14616ed19b248892b4e2d2ed4ea40e915f20
</pre>
</div>
</content>
</entry>
<entry>
<title>STA/AP Concurrency fails with the wifi which has multiple phy</title>
<updated>2019-01-30T03:24:36+00:00</updated>
<author>
<name>Neo Jou</name>
<email>neojou@gmail.com</email>
</author>
<published>2019-01-16T06:44:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/AOSP/platform_system_connectivity_wificond/commit/?id=3e76438803a890a5783f55af5fb9281ada440b1c'/>
<id>3e76438803a890a5783f55af5fb9281ada440b1c</id>
<content type='text'>
    As the issue tracker: https://issuetracker.google.com/issues/122429718

    The current Android P framework doesn't support the wifi devices with
    multiple phy's.

    Suppose that the wifi has two or more wiphys.
    (e.g. wlan0 - phy#0 - ifindex 6, and wlan1 - phy#1 - ifindex 8)

    And the system is built with
        WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
        PRODUCT_PROPERTY_OVERRIDES += wifi.interface=wlan0
        PRODUCT_PROPERTY_OVERRIDES += wifi.concurrent.interface=wlan1

    At first, we connected to one AP successfully, and then we tried
    to start hotspot, but the hotspot can not be enabled.

    After checking, we found that in the Android P source code,
    setupInterfaceForSoftApMode()
    =&gt; mWificond.createApInterface(ifaceName) // wificond/server.cpp
    ==&gt; SetupInterface(iface_name, &amp;interface)
    ===&gt; !RefreshWiphyIndex()
    ====&gt; netlink_utils_-&gt;GetWiphyIndex(&amp;wiphy_index_)

    The iface_name here, assigned by upper Android framework,
    is wlan1 as expected.  Meanwhile, in the GetWiphyIndex(),
    it uses NL80211_CMD_GET_WIPHY command, with flag - NLM_F_DUMP,
    it doesn't assign NL80211_ATTR_IFINDEX, so the results have all the wiphy,
    and eventually return the last one phy#0,  instead of phy#1.

    Then in server.cpp::SetupInterface(),  wiphy_index_ is assigned to 0,
    it can not find wlan1, since wlan1's wiphy number is 1, not 0.
    Thus it fails.

    So we would like to suggest to add parameter NL80211_ATTR_IFINDEX
    in the function GetWiphyIndex(), for the command NL80211_CMD_GET_WIPHY,
    then it can find the correct wiphy number phy#1, instead of phy#0,
    when using interface wlan1.

    In the NetlinkUtils::GetWiphyIndex(), we add one more parameter,
    string iface_name. And if the string is empty, it means we use the
    original way to do GetWiphyIndex; If the string is not empty,
    it will add attribute NL80211_ATTR_IFINDEX for NL80211_CMD_GET_WIPHY.

Test: built, tested manually with the wifi which has two phy
Change-Id: I9319633d0ef220b9ba4a226ee5446bef08e4ac78
Signed-off-by: Neo Jou &lt;neojou@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
    As the issue tracker: https://issuetracker.google.com/issues/122429718

    The current Android P framework doesn't support the wifi devices with
    multiple phy's.

    Suppose that the wifi has two or more wiphys.
    (e.g. wlan0 - phy#0 - ifindex 6, and wlan1 - phy#1 - ifindex 8)

    And the system is built with
        WIFI_HIDL_FEATURE_DUAL_INTERFACE := true
        PRODUCT_PROPERTY_OVERRIDES += wifi.interface=wlan0
        PRODUCT_PROPERTY_OVERRIDES += wifi.concurrent.interface=wlan1

    At first, we connected to one AP successfully, and then we tried
    to start hotspot, but the hotspot can not be enabled.

    After checking, we found that in the Android P source code,
    setupInterfaceForSoftApMode()
    =&gt; mWificond.createApInterface(ifaceName) // wificond/server.cpp
    ==&gt; SetupInterface(iface_name, &amp;interface)
    ===&gt; !RefreshWiphyIndex()
    ====&gt; netlink_utils_-&gt;GetWiphyIndex(&amp;wiphy_index_)

    The iface_name here, assigned by upper Android framework,
    is wlan1 as expected.  Meanwhile, in the GetWiphyIndex(),
    it uses NL80211_CMD_GET_WIPHY command, with flag - NLM_F_DUMP,
    it doesn't assign NL80211_ATTR_IFINDEX, so the results have all the wiphy,
    and eventually return the last one phy#0,  instead of phy#1.

    Then in server.cpp::SetupInterface(),  wiphy_index_ is assigned to 0,
    it can not find wlan1, since wlan1's wiphy number is 1, not 0.
    Thus it fails.

    So we would like to suggest to add parameter NL80211_ATTR_IFINDEX
    in the function GetWiphyIndex(), for the command NL80211_CMD_GET_WIPHY,
    then it can find the correct wiphy number phy#1, instead of phy#0,
    when using interface wlan1.

    In the NetlinkUtils::GetWiphyIndex(), we add one more parameter,
    string iface_name. And if the string is empty, it means we use the
    original way to do GetWiphyIndex; If the string is not empty,
    it will add attribute NL80211_ATTR_IFINDEX for NL80211_CMD_GET_WIPHY.

Test: built, tested manually with the wifi which has two phy
Change-Id: I9319633d0ef220b9ba4a226ee5446bef08e4ac78
Signed-off-by: Neo Jou &lt;neojou@gmail.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
