| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Added wpasupplicant as alternative backend for the network settings.
Change-Id: Ic05b3e87def2c9a143c30e4045a36db294ce8719
Reviewed-by: Risto Avila <risto.avila@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Make wifi library available from c++
1) included with "#include <B2QtWifi>", available classes are:
QWifiDevice, QWifiManager, QWifiConfiguration
- Re-design of API:
1) connectedSSID -> currentSSID
get current network from this property instead of networks state change events
2) networkStateChanaged(QWifiNetwork *) -> networkStateChanged(NetworkState)
Don't expose QWifiNetwork objects to library users, use data model roles
instead, no need to pollute API with "read-only" class. The flaws of exposing
QWifiNetwork become apparent when looking at C++ API.
3) New BackendState enum for backend state changes events, backendStateChanged(BackendState)
Initializing backend can be lengthy operation and can block GUI thread,
same is true for DHCP requests, now these operations are moved into a separate thread
and backend state change events are delivered asynchronously.
4) Make WifiManager a Singleton, we don't want several instances starting
and stopping system processes and it makes global state handling simpler.
5) Rename Interface -> WifiDevice
6!) Introducing QWifiConfiguration. This abstraction allows for easy
way to add new features, whatever we choose to support from:
http://w1.fi/cgit/hostap/plain/wpa_supplicant/wpa_supplicant.conf
The idea for it is to be a Qt-style wrapper for "network {}" configurations
from wpa_supplicant.conf.
Also this makes life simpler for developers if they know what network they
will be using, they can omit scanning, listing, selecting parts and do something
like this instead:
WifiConfiguration {
id: config
ssid: "network name"
passphrase: "12345678"
}
if (!WifiManager.connect(config))
print("failed to connect: " + WifiManager.lastError)
- Optimizations:
1) Async. event delivery.
2) eLinux: Don't use "ifup", it is slow because it starts dhcp
request even before any network has been configured. Use
start-stop-daemon and ifconfig directly.
- Bug fixes (many), but most importantly:
1) Get backend state properly when WifiManager is created.
- Public header cleanup
- Other:
1) Added categorized logging.
2) Methods to get/set wifi interface name. Not exposed to qml.
- Missing parts that will be added as a separate patch:
* [doc] Getting started guide for c++ and qml
* [doc] Update for qml docs and new docs for c++. The current docs
are out-of-date.
Task-number: QTEE-649
Task-number: QTEE-810
Change-Id: I7dc8709aed2de622828a119749aef31534a4296d
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a timing issue on a device startup if the
default application calls Wifi.Interface.wifiSupported()
before qconnectivity service has finished initialize wifi
firmware/driver. This results in wifiSupported() returing
false on nexus 2013, even if this device supports wifi.
The solution is to move firmware/driver initialization
to Qt Wifi library.
Change-Id: If5b4650181f8b7237bd19f3fc3afbd2c75f759e8
Task-number: QTEE-770
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Current limitations:
- Wifi adapter must be connected before staring the device (and ethernet
cable should not be connected at the same time).
"allow-hotplug wlan0" in /etc/network/interfaces doesn't seem to help for
detecting wifi adapter on-the-fly.
Change-Id: I8be407e9e042fc86136efd3e220680fb2ce64bd6
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The API is:
ListView {
model: wifiManager.networks
}
currently if user calls print(wifiManager.networks) it will print:
QWifiNetworkList
The docs of ListView states that model property expects a subclass
of QAbstractListModel. QWifiNetworkList sounds like a subclass of
QList which is misleading.
This patch renames the class to QWifiNetworkListModel. This does not
change the public API (doesn't brake compatibility in any way), just
improves the documentation of library.
Task-number: QTEE-445
Change-Id: I71f07cb22617f3a7f41a0403d1c63c4357310325
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
|
|
- Use qconnectivity daemon for dhcp requests. Since dhcp requests are
executed in other process we don't block gui thread for this lengthy
operation.
- Why not to use "do_dhcp_request" - it is a legacy implementation of a
dhcp client and is not used anywhere in the Android source code itself.
It appears that do_dhcp_request was not removed from the libhardware_legacy
to keep compatibility for others, whose code might still depend on it.
- Differnet changes to the internal implementation and the public API.
- Add 'Interface' singleton type, installing a singleton type allows
developers to provide arbitrary functionality to a client without requiring
individual instances of the type to be instantiated by the client. We use
this to determine if Android has wifi interface.
Change-Id: I836f3a2a587b1ebf9f670ed08b10fe3483504b9e
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@digia.com>
|