Due to message removal, wakelock could be held forever.
Do a timer only based wakelock release until we do this
more cleanly in ConnectivityService for later release.
Also, add an optimization to prevent use of wakelocks when driver is
already stopped.
Bug: 2529883
Change-Id: Ia1c2ddd44213ef3aa609855613bf155945bef8e4
mWifiState was split up to speed up access
of wifi state when things are synchronized.
Use a single atomic state variable throughout.
Change-Id: I345981e3ffa3d2b0b7e70a5c6efc43185cba9062
Previous it was synchronized on the same lock that was held while
transitioning wifi states, effectively making it impossible to ever
find out about such states, and worse: making calls during transitions
block.
This manifested itself in a really laggy power control widget, which
I'm working on fixing in general in a separate change.
Change-Id: Ia34af98c73d7f5662e41360a213df87f6adaf130
Driver commands should be issued when driver has started.
Supplicant commands should be issued when Wi-Fi is enabled
Bug: 2339709
Bug: 2371609
Change-Id: I9ba6ddfa0cf4c4b8ca049b0eb7eaaa8edb42bad1
The IP state was not being refreshed when the supplicant transitions
from COMPLETED to ASSOCIATED to COMPLETED. This can lead to
a connected state with no real connection due to old IP settings.
The fix refreshes IP on each connection.
Bug: 2329261
Change-Id: I38cd56369ee2d8ab3e0f06f5c9f5712b9b2f35a0
We currently disable networks upon too many reconnects. This leads to asking
the user input for reconnects. Blacklist it instead.
Bug: 2129037
Change-Id: I23d69daf3964c066ed7f70d32fefb81016f19aa2
Some of the native calls were left unsynchronized in the framework. Pre-empted IOCTL call
interrupted by another call from the framework cannot be handled in the driver.
Bug: 2310455
Use this in various places where it should serve no purpose to deliver
both broadcasts. This is intended to reduce somewhat the flurry of
broadcasts that we churn through during boot.
Merge commit '68b15b68497e373fe63a13f11e18349a738a7989' into eclair-mr2
* commit '68b15b68497e373fe63a13f11e18349a738a7989':
Porting change I064698b3 from mr2 to eclair.
The driver can now report to us that they are hosed and we'll shut
down wifi and restart it - only to be used as a last resort.
Also fixing synch problem with updateWifiState.
bug: 2173119
Waits 15sec after getting a DISCONNECTED or INACTIVE state. Also tracks
the number of supplicant state transitions. After the period is up
if we haven't received any more supplicant state transitions, it requests a scan.
bug: 2168081
Waits 15sec after getting a DISCONNECTED or INACTIVE state. Also tracks
the number of supplicant state transitions. After the period is up
if we haven't received any more supplicant state transitions, it requests a scan.
bug: 2168081
Problem:
Connect to AP with WEP security.
Change AP's WEP password.
Phone will quickly reassociated (less than in 5 sec) and will not restart full "reconnect".
Indication will show "connected" but it will be no network access.
Fix: (for non-static IP only)
With WEP mode, the association could be successful if we change the AP's WEP password. However,
the phone wont be able to send/recv any traffic with the old password. What we could quickly
fix here is to send the DHCP request if the network is not configured to use static IP. We
can do nothing but ping access point to see if it we are able to communicate with it.
Only do the full signal strength calc when we need to, otherwise use
an approximate value.
This change was introduced a while back but was lost in some merge.
bug: 2125543
The supplicant can take up to 15 seconds to start - setting the number of wifi channels
immediately after requested wifi start often will fail.
Changed to set the number of channels when the supplicant is reported as alive.
bug:2083601
Split BluetoothDevice into BluetoothDevice and BluetoothAdapter.
BluetoothAdapter: Represents the local BT adapter. Operations on the local
adapter (start a scan, etc).
BluetoothDevice: Represents a remote BT device. Operations on remote devices
(pair, connect, etc).
IBluetoothDevice.aidl -> Bluetooth.aidl
BluetoothDeviceService.java -> BluetoothDeviceService.java
TODO:
Javadoc
Merge commit '41c104339951e0e5e78240e1f48455c21b3ba5fd'
* commit '41c104339951e0e5e78240e1f48455c21b3ba5fd':
Fix MulticastLock API to match WifiLock API.
This fixes a problem that resulted in the interface not being up when resuming
an authenticated connection.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '356d4a14aa96cf52c16f7a4d381044ce28b01af3'
* commit '356d4a14aa96cf52c16f7a4d381044ce28b01af3':
Add the phase2 field for EAP WiFi configuration.
Apparently this code was not 100% correct, and now the Wifi driver is responsible
for setting the scan mode to active for hidden networks, so this is no longer needed.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '463aacfbd220c9ef2f6ed915d54092289fdac05b'
* commit '463aacfbd220c9ef2f6ed915d54092289fdac05b':
wifi: WifiManager.startScan() will now do passive scans by default.
Active scans will only happen if a hidden AP is in use, or if the new method
WifiManager.startScanActive() is called.
This fixes some audio playback problems with bluetooth A2DP.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '3bc64a2cb97da7bf7dc203416ad6c7d86c5925fc'
* commit '3bc64a2cb97da7bf7dc203416ad6c7d86c5925fc':
WifiManager: Limit the number of WifiLocks that can be active simultaneously.
1. the certtool.h is modified for avoiding the side effect,
for saving the configuration with wpa_supplicant.
2. put the loadLibrary back in CertTool.java
3. Fix incorrect JNI declarations.
This is to prevent a bad app from using up all the global references in the
system process due to allocating too many DeathRecipients.
Signed-off-by: Mike Lockwood <lockwood@android.com>
Merge commit '19cd309f9eccdf8454dc6e5076013588b7a170a3'
* commit '19cd309f9eccdf8454dc6e5076013588b7a170a3':
Add the EAP related fields for WiFi configuration.
Merge commit '1e2e44e900cb9a25d548e27a20d65292a7f321bc'
* commit '1e2e44e900cb9a25d548e27a20d65292a7f321bc':
Fix wifi multicast API for public use.
Revert "Bug fixes and performance improvements"