Add UPnp, Bonjour and vendor specific support for discovering services on
Wi-Fi direct before establishing a connection.
Change-Id: I1c1f3427180abdc80a4e682e713adc7f0326c5ef
Signed-off-by: Yoshihiko Ikenaga <yoshihiko.ikenaga@jp.sony.com>
putListener() returns 0 when the argument is null. And The key value of listener
registered first is always 0. For this reason, if the p2p functions are called continuously
and first call is without listener and the second call is with listener, then the message
against first call wrongly pick up the second call's listener because the key value is
the same. In order to avoid this issue, we don't use 0 as the valid listener key.
Change-Id: I0cc960b2ad37f17cf7f528d839b39aa272b83670
Signed-off-by: Yoshihiko Ikenaga <yoshihiko.ikenaga@jp.sony.com>
"engine" is specified as an integer in wpa_supplicant, so we have to
make sure we send an integer instead of a NULL when we want to disable
it.
Bug: 6250670
Change-Id: I693ccb49badbd400a5882e9df1bbd4febc847a6e
This will allow apps to figure out if discovery is active or not
and based on that initiate a new discovery for fresh connections
Change-Id: I4778f135fdd88773e4f0d50c384f9b6ebf561e6d
Fix space handling in device name and ssid (This builds from contribution of
Yoshihiko Ikenaga <yoshihiko.ikenaga@jp.sony.com>)
Also clean up STA event handling and remove the unused interface address
Change-Id: Ic16a4aadf905c1da5c060faa8a3caa83adc0549f
The suspend optimizations handling in the driver is being removed.
The framework will hence forth control when these optimizations occur -
we do this at screen off and hold a short wakelock to ensure this.
We also remove the use of the now defunct setsuspendopt command and
handle the high perf locking with the new suspend mode command.
Change-Id: Ia12e38befb2c4f85cad6612bc8f807805bd0dae1
The old wpa_supplicant.conf format used a special URI prefix
"keystore://" for the private_key value to indicate when to load things
from keystore.
The new format uses an OpenSSL ENGINE to perform operations with the
private key, so we don't need the special URI prefix. This changes
enables that usage and also supports migrating the old style
configuration to the new style.
Change-Id: Ibdf2322743eaa129bd2aa5e874f197b573714b57
Adds a back-off based technique where the amount of time we wait before
avoiding wi-fi is increased.
This will reduce power consumption on devices that are experiencing high
variance on wi-fi
Change-Id: I40da03edfb5373ddb51056818ca0744dc26a5600
- Avoid flapping
- Increase thresholds and monitor rssi more closely to detect consistently weak signal
Change-Id: I6139a20b7306839b345146a72ce690020a2e00b8
- Add a cancel API
- Add more error reporting on WPS
- Fix network status reporting that showed up with new implementation
Change-Id: I499796c80d16d18df95fb702d029aa7e7283b603
Fix the current asynchronous API to use callback like the way
was done with p2p API.
In the process, fix the use of WPS
Change-Id: Ib6f8714cf51b3525b655948268804e7eaaf17587
When Wi-fi connects at L2 layer, the beacons reach and the device
can maintain a connection to the access point, but the application
connectivity can be flaky (due to bigger packet size exchange).
We now use Watchdog to monitor the quality of the last hop on
Wi-Fi using signal strength and ARP connectivity as indicators
to decide if the link is good enough to switch to Wi-Fi as the uplink.
ARP pings are useful for link validation but can still get through
when the application traffic fails to go through and thus not best indicator
real packet loss since they are tiny packets (28 bytes) and have
much low chance of packet corruption than the regular data
packets.
Signal strength and ARP used together ends up working well in tests.
The goal is to switch to Wi-Fi after validating ARP transfer
and RSSI and then switching out of Wi-Fi when we hit a low
signal strength threshold and waiting until the signal strength
improves and validating ARP transfer.
Change-Id: Ica593291ec7772da892f03cf45b649635b730c47
Use of multiple socket connections over wlan0 and p2p and
p2p state machine is now controlled entirely from wifi state machine
Add discovery stop to allow STA scans to proceed after p2p is used
Change-Id: I790c9112d3f475f638f06fc3ae9e191f6d90ef35
Allow multiple instances of WifiMonitor and WifiNative to be
created in preparation for multiple socket connections
Change-Id: I06a227f87f1406dc62f884d56ad639ac623414b6
Add the initial support for supporting seperate socket
connections on the p2p interface.
This is the initial change making primary interface connections
work alongside native support for p2p socket connection
Change-Id: I7619715ca75b10afd29af852279fe713331f75e0
- Move all supplicant commands out of jni code in preparation for multi-socket
changes
- Also, clean up some function names to remove the explicit command
Change-Id: Id609ac7df0792fb85b52554d159f22064227c584
- Change default GO intent to 7
- Handle P2P invitation scenario
- Fix p2p STA connect notification handling to figure device address. Proper fix
for handling both STA connection and disconnection is after we update supplicant
Change-Id: I9ff82f84ad3913905952d1119b7224dff41c24d9
For a connected network, keep status as CURRENT. For a network,
that is disconnected it should be ENABLED. A disabled network
will have the status as DISABLED
Also, add a unit test to ensure there is only one CURRENT network
that is connected
Change-Id: Iaa4a7124a0c372a8f6df3d846ae8c15d9b29cf13
- Add delayed disk write in WifiConfigStore
- Remove synchronization and keep all access to config store
throught the state machine thread
Change-Id: I53768a17895e48da7b99542ac95c6c2fddbcb021
At some point the system UI switched to using 5 rssi levels
while the framework only broadcasts a change for 4 levels.
Hence RSSI change can be slow to be displayed on the UI, fix this
Bug: 5732700
Change-Id: I21700f96ba7a8dd678fb2ccfff8ef59f9b696666