summaryrefslogtreecommitdiffstats
path: root/src/wifi
Commit message (Collapse)AuthorAgeFilesLines
* Add notice for wpa_supplicat socket codeGatis Paeglis2016-01-251-0/+6
| | | | | Change-Id: I02e8a0a0b9e2700c3c881eeb42b1c312084053db Reviewed-by: Teemu Holappa <teemu.holappa@theqtcompany.com>
* Try to unblock "soft blocked" wifiGatis Paeglis2016-01-251-0/+5
| | | | | | Change-Id: Idebad16aa7824a74e094bf67beb1128c16a64c43 Task-number: QTEE-1037 Reviewed-by: Teemu Holappa <teemu.holappa@theqtcompany.com>
* Use lastError to report relevant errorsGatis Paeglis2016-01-254-52/+87
| | | | | | | | | This improves the error handling situation in the module. Change-Id: I9a67038efd3d82d7a2b87c2184cce52ad5b855e7 Task-number: QTEE-1037 Reviewed-by: Teemu Holappa <teemu.holappa@theqtcompany.com>
* Fix SSID decodingGatis Paeglis2016-01-254-39/+41
| | | | | | | | Allocate sufficient buffer size. Change-Id: Id2c885d132814553a93b9baa026fa044d667527b Task-number: QTEE-1038 Reviewed-by: Teemu Holappa <teemu.holappa@theqtcompany.com>
* wifi: add missing includeSamuli Piippo2016-01-211-0/+1
| | | | | Change-Id: Iec6b71a5e905dc98776637a912cfbfe681397c18 Reviewed-by: Teemu Holappa <teemu.holappa@theqtcompany.com>
* Doc: Fix documentation warningsTopi Reinio2015-12-101-2/+2
| | | | | | | | Literal backslashes need to be escaped, otherwise they are interpreted as broken QDoc commands. Change-Id: I9fe23f672c2e596f316e72b771d674ac65fc44d7 Reviewed-by: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
* Wifi: more refactoringGatis Paeglis2015-07-1013-618/+503
| | | | | | | | | Move supplicant related code into a proper class. Before it was implementad as C-style API to match with Android code. Change-Id: Idf9610ab9c42bbca34f69b8d5041efb75bb61f57 Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
* Wifi: Remove android specific code pathsGatis Paeglis2015-07-065-306/+26
| | | | | | | eAndroid support has been deprecated. Change-Id: Id62ce140917dc1e45e94e800dc8cdc54736dfc36 Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
* Fix finding start of ctrl_interface parameter valuePasi Petäjäjärvi2015-06-291-1/+1
| | | | | | | | Current magic value misses slash parameter from beginning of path. Change-Id: I2b402601f657accd6c586ea79d2ef9a89b8cc2b3 Reviewed-by: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
* Use a custom supplicant configuration fileGatis Paeglis2015-06-295-1/+50
| | | | | | | | | | | | | | | A default configuration file contains: network={ key_mgmt=NONE } which means that supplicant will try to connect to *any* network where key_mgmt is set to NONE. We don't want that. Change-Id: Ibde643dfa2371cffdec2bfc53f96957fda7ac452 Reviewed-by: Kalle Viironen <kalle.viironen@theqtcompany.com>
* Use 'killall' to stop wpa_supplicantGatis Paeglis2015-06-291-0/+6
| | | | | | | | This is a workaround for QTEE-957 Change-Id: Idb0900e8315d2ccf895ea6e950b0f6587bfebc92 Task-number: QTEE-957 Reviewed-by: Kalle Viironen <kalle.viironen@theqtcompany.com>
* Fix regression introduced by b47a30fGatis Paeglis2015-04-241-5/+6
| | | | | Change-Id: I4fd63ca0c47adfbb772ba0b8915c6bacef8c513c Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Fix signal calculation for WEXT-based driversGatis Paeglis2015-04-162-8/+15
| | | | | | | | | | | | | | | | | | | | | This patch introduces a behavior change. Previously the 'SignalStrength' role was interpreted as dBm. This was working fine for nl80211 based drivers, for WEXT-based drivers it contained garbage values. Now the 'SignalStrength' role will always be interpreted as percentage. The wpa_supplicant passes back only the 'level' of the scanned BSS, which with nl80211-based driver is almost always dBm (val < 0). WEXT-based driver has its own interpretation of 'level' - it can contain dBm, percentage [0-100] (and some other values for historical reasons, but these are converted by the wpa_supplicant to dBm). This is what I have concluded from looking at NetworkManager and wpa_supplicant sources and git history. Even the official GUI tool wpa_gui for the wpa_supplicant is out-of-date and can not be used as a referance. Change-Id: I70d15e26e0a1700ad0f7d19d23cbade2d3d46054 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@theqtcompany.com>
* Prevent reading wifi events from closed connectionGatis Paeglis2015-02-193-9/+7
| | | | | | | | | | Stop wifi event thread before closing down a connection to wpa-supplicant to avoid race-condition where we can end up reading events from closed socket and blocking the new connection from attaching to the socket. Change-Id: Ie1efabf35791e0dac3f57fa8038b0e414cbff1f5 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Simplify current SSID handlingGatis Paeglis2015-02-175-76/+47
| | | | | | | | by extracting SSID from "Trying to associate" message. Change-Id: If90e85d5cedf2366947c810a55fb486d7559d66f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Pass "-D nl80211,wext" to supplicant by defaultGatis Paeglis2015-02-091-39/+49
| | | | | | | | | | | | | | | nl80211 is the current standard, but not all wireless chip's modules support it, wext is currently deprecated, but still widely supported. Supplicant will choose which of the these kernel interfaces to use for controlling a wireless driver on a specific device. This for example fixes the issue of QtWifi not working properly on a Nitrogen6_Max board with a wifi chip that comes on it by default. Change-Id: I6f24df7126e761bf196ec6ee76918a96d03307a5 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Add support for hidden SSIDsGatis Paeglis2015-02-093-0/+35
| | | | | | | | | | | | Wifi access points may be configured not to broadcast its SSID, connecting to such networks requires a SSID-specific probe request. Add new property to WifiConfiguration for describing this type of networks. Change-Id: I068ac53936a860e3752e31b8151b87ba4308c510 Task-number: QTEE-816 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Decode ASCII encoded SSID namesGatis Paeglis2015-02-096-15/+194
| | | | | | | | | This patch adds a decodeHexEncoded() utility function for decoding wpa_supplicant's hex encoded strings. Task-number: QTEE-817 Change-Id: I257a8892cdc48ce285561fd879b8a9ab0a50bfc4 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Fix failure handling when backend processes failGatis Paeglis2015-02-063-17/+18
| | | | | | | | Make sure that m_backendState is updated accordingly if backend initialization and/or termination fails. Change-Id: I28b6dbb3ecbefb14edbc9ffe5d4497b8ddc37946 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Doc: Fix issues in Wifi module documentationTopi Reinio2015-01-083-49/+15
| | | | | | | | | | | | | - Make QWifiDevice reference appear - Fix warnings: - Document constructor/destructor for QWifiConfiguration - Remove signal documentation unused by qdoc - Fix undocumented parameters, \reimp tag Task-number: QTEE-882 Change-Id: Id53feac755bc9d898fee9cbcbfb52e46b6ae17bb Reviewed-by: Eirik Aavitsland <eirik.aavitsland@theqtcompany.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
* Wifi - c++/qml getting started guide and wifi doc updateGatis Paeglis2014-12-057-325/+275
| | | | | | | | | | | | c++ getting started guide qml getting started guide documenting qml elements documenting c++ classes Task-number: QTEE-810 Change-Id: I669d11c65e5359fc9ec863b03b8b56ce2ef1151b Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@theqtcompany.com> Reviewed-by: Kalle Viironen <kalle.viironen@theqtcompany.com>
* [Wifi] graduate from Qt.labs.wifi 0.1 to B2Qt.Wifi 1.0Gatis Paeglis2014-12-0216-0/+2536
- 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>