This change will set country code on P2p interfaces as well, so the
drivers are free to use channels that are permitted regionally. This
is required for FCC style compliance and Miracast certification.
Bug: 10513263
Change-Id: I88c645bd488066d5167e23e2772f2e0e1f40fa8a
There is some validation code that is eventually detecting that we
have an invalid network; only the result is a crash. The right thing
to do is to do validation up front; and fail calls if the network
configuration looks invalid.
Bug: 10571289
Change-Id: I100506b777a34b26ac9a310ba508140560f87a90
This makes WifiStateMachine listen for interface address
changes. When an address changes, WifiStateMachine will update
its LinkProperties to match reality and notify the system that
the link configuration has changed. This allows wifi to keep
track of IPv6 addresses as well (previously it only knew about
the IPv4 address passed in by DHCP).
IP addresses are obtained directly from the kernel and always
match those configured on the interface, so we treat them as
authoritative and ignore addresses passed in via DHCP (by the
time DHCP passes them in we've already been notified by the
kernel anyway).
Since we now have multiple sources of link information (the
kernel for addresses and DHCP for routes and DNS, plus various
bits of static information), also move all the code that sets
mLinkProperties into one place. This allows us to be clearer
about who is authoritative for which parts of mLinkProperties.
Bug: 10232006
Change-Id: I4f262342379ce7fed172b67a1d403e3cd34f4232
The root cause is likely our 'no networks' problem; it caused people
to add new (and duplicate) entries to their list of networks; which
are haunting us now.
This change looks up the dupes, and discards them, even if they came
wifi supplicant.
Bug: 10633813
Change-Id: I656b6bf7240de6763bf84b5b406c50444af6dd48
This change renames the LinkInfo objects to LinkQuailtyInfo. The API is
still hidden; but it can be accessed via reflection.
Bug: 10342372
Change-Id: Ieccea87c467ceae5d7f76298b137573f67396cd6
Both wlan0 and p2p0 state machines are accessing the supplicant socket
simultaneously; and may get responses of each other's command. This
change introduces synchronization between these two processes.
Bug: 10375978
Change-Id: I0ac0b2771311b642affc353958cc9ba2e5dd5716
Fix by not including extraneous delimiters, and changing the delimiter from a
space to a comma.
Bug: 10444428
Change-Id: Ia3197045d44a2f959316935ae085575500e65459
When certification mode is enabled:
- Pass wfd session info to wifi display settings
- Allow sink to connect to source
- Add interface in display manager for pausing/resuming session
- Add interface in WifiP2pManager for setting lc, oc and starting
autonomous GO
Note that we're compliant regardless of certification mode, but
some confusing options (eg. allowing incoming connection from
sink) we want to hide when not being tested.
Bug: 9371882
Change-Id: Icc7dcae4e046453796cfa03f5f197055fabf234b
This change adds some in-memory logging to get some information that
doesn't seem to get captured in bug reports readily. We can remove this
after we've got to the bottom of this issue.
This is the sort of log it produces in bugreport -
WifiConfigStore - Log Begin ----
16:30:06 - loadConfiguredNetwork GoogleGuest
16:30:06 - loadConfiguredNetworks loaded 1networks
16:30:06 - disableAllNetworks
16:30:06 - loadConfiguredNetwork GoogleGuest
16:30:06 - loadConfiguredNetworks loaded 1networks
WifiConfigStore - Log End ----
Bug: 10375978
Change-Id: Iaecd3b391aea3711bf376d6cb520217d3242e6f1
This change starts tracking traffic quality data for WiFi and mobile
networks. The quality is tracked based on incidental traffic, and not
on specific measurements. Theoretical bandwidths are hard-coded, as
well as sampling interval; although sampling interval can be changed
by setting a system policy.
Bugs filed to remove shortcomings of this change -
10342372 Change LinkInfo name to something better
10342318 Move hardcoded values of MobileLinkInfo to resources
so they can be updated without changing code
Bug: 10006249
Change-Id: I83d8c7594da20fe53abbd5e1f909b1f606b035bb
The prefixes in WifiEnterpriseConfig are optional, and should be treated
as such. If the prefix doesn't exist, it is possible for an
exception to be thrown (if the value size is smaller than prefix size).
Bug: 10304089
Change-Id: Id9b2bc0e371c818e35a5aa1913ee1697f167e19e
Add pollBatchedScan API to allow forced retrieval.
Modified driver API, adding MSCAN, removing nextCount and making
the results look more like normal manual scan results.
bug:9301872
Change-Id: I58bce0624c36e2ad8d3c3f5defcb4d4e155dc8f9
My change to post messages without IFACE=<iface> prefix to all interfaces
was correct; but messages sent with IFACE=p2p-p2p0-0 et al were being sent
to p2p monitor only. This change mimics that to resolve some issues
introduced by the single socket change.
Bug: 10257602
Change-Id: Ia6164cb3cfd11c2a0a7b011eceaeabfd9677f62c
This helps to prepare for future updates from external sources.
Bug: 9298955
Change-Id: I4c63ad5fc1ea3564aab38cfce955de19bad75c0c
(cherry picked from commit fb40801ed8c217ae01082fb1cbd0c30bbf5532ac)
PAC (Proxy auto-config) files contain a single javascript function,
FindProxyForURL(url, host). It gets called to determine what proxy should be
used for a specific request.
This adds PAC support to the system. The ProxyProperties has been modified
to hold the PAC file when one is present. The Proxy method
setHttpProxySystemProperty has been modified to insert a PacProxySelector
as the default ProxySelector when it is required. This new ProxySelector
makes calls to the ConnectivityService to parse the PAC file.
The ConnectivityService and the WifiConfigStore have been modified to support
saving the extra PAC file data.
The ConnectivityService now has a class attached (PacProxyNative) that
interfaces to the native calls for PAC files. The parsing of the PAC file
is handled by libpac (which is being added to external/) which utilizes
libv8 to parse the javascript.
As a fallback to applications that don't use the java ProxySelector, the proxy
is setup to point to a local proxy server that will handle the pac parsing.
bug:10182711
Change-Id: I5eb8df893c632fd3e1b732385cb7720ad646f401
When captive portal checking completes pass back the result.
This is used to enable/disable failing fast for mobile. When
failing fast is enabled we don't check for data stalls and thus
won't be continually trying to do recovery operations, such as
restarting the radio.
Bug: 9462512
Change-Id: I0dea0eee519f8ee7f94e79d40e82c18f30d7fe2e
This change exposes couple of internal APIs to enable TDLS between local
machine and a remote machine. The implementation translates client provided
remote IP to a MAC address using system ARP cache, and then instructs the
driver to enable TDLS with that endpoint. Another API takes application
specified MAC address.
Bug: 8538898
Change-Id: Ida343fc42ba3a817a4f380255596e7fb7fcdfb9b
This change flushes all bss data after a band change (because it
is potentially invalid). We do scan for new data just after we've
established connectivity on the new band.
Bug: 7053587
Change-Id: I8ab9d0bbc5c3f8f383c2b7868349634085cf94c1
- Sending a broadcast indicating when scan requests could be serviced so that
apps don't request scans we won't do anything with.
- Fix our batt stats accounting so we only count it if we send the request to
the driver.
bug: 8868201
bug: 9496690
Change-Id: I64a4f1c294c848ac64c50d8854ed4a6a1a47f603