Age | Commit message (Collapse) | Author | Files | Lines |
|
In wifi plugin this means that we combine three wifi scan
functions (normal, fast, hidden) into one scan function.
|
|
We must not add duplicate entries to list of hidden AP.
There can be more that one service file for each AP if
we have multiple wifi cards in the system.
Fixes BMC#24779
|
|
We should scan hidden AP even if the AP is not marked
as autoconnectable so that the user is able to connect
to it manually.
|
|
|
|
Fixes BMC#25561
|
|
Convert a warn message to debug one because it is printed
too often to be usefull as a warning message.
|
|
|
|
|
|
Fixes BMC#25244
|
|
This is necessary for the next coming patches, to fix country setting by interface
|
|
Always check what connman_device_get_data() returns and act
accordingly.
|
|
The wifi pointer in device might be NULL if wpa_supplicant dies
between autoscans.
|
|
|
|
Rename the callback function since it's not used only for
autoscan.
|
|
The functionality of the callbacks are the same, thus start using
scan_callback() only. As a result move code around.
|
|
Setting device scanning to false will clean up all networks not
seen so far. If a user scan happens to be requested while the
emulated background scan is running, the background scan will
be cancelled and the non-discovered networks cleared. This causes
unnecessary clearing and re-discovery of WiFi networks when the
user scan is completed.
Create a reset autoscan function that will only reset the autoscan
parameters and not set device scanning to false. Call this function
when starting a scan.
|
|
If the wifi data structure is NULL, it was already removed due to
a call to wifi_remove() and is thus not an error condition.
|
|
Move wifi scan stopping from wifi remove to wifi disable since
only wifi disable is called when the wifi technology is disabled.
Removing a wifi device will first disable it and then continue
with the removal procedure.
|
|
If the user is connecting to hidden network, then we delay the
return of the reply to caller until the real service has connected.
This way the user connect to hidden and non-hidden networks works
the same way from caller point of view.
|
|
If not stopped before checking the scanning status of the device, we might
not raise a user initiated scan just because an autoscan is going one which
is bogus.
|
|
gsupplicant's interface scanning value is slow to be updated since it's wpa_s event
which updates it, thus leading to a time gap where it is possible to request another scan.
It will therefore reference once again device, which will lead to too many references hold
by wifi plugin
|
|
|
|
|
|
|
|
|
|
This enables service to autoconnect to hidden wifi service.
Fixes BMC#11860
|
|
Move add_scan_param() to start of the file for the next patch.
|
|
Do no limit the scan entries to 4 (G_SUPPLICANT_MAX_FAST_SCAN)
but use the limit given by the driver. The limit is given by wpa_s.
If the supplicant does not return the limit, then use 4 as a max
value.
|
|
|
|
|
|
This way it will trigger the error which will be reported to service.
|
|
|
|
- stop_autoscan() should unref the device only when relevant, i.e. when
interval and/or timeout have been set.
- autoscan_scan_callback() should unref the device since it has been
referenced in throw_wifi_scan()
|
|
|
|
A base of 2 creates too many scans on too short times, so a base of 3 reduces
this amount. And a limit of 3600 is way too much, a scan every 5 minute is
more relevant.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Currently adhoc networks are shown in the service list, although
connecting to those is not supported. Filtering in network.c fails
because the WiFi.Mode was not set so far.
Fixes BMC#24737
|
|
By always setting scanning to FALSE in the scan callback,
information for a stopped scan will be processed in
device.c.
|
|
Currently we set wifi interface to NULL in interface_remove_callback.
commit 80e2e08b4887c4e133d3ca7d42ac844fbb974bb8 avoid to use stale
pointer by get wifi pointer through interface, but interface already
removed and should be NULL, then the interface value in wifi will never
set to NULL and will be a wild pointer. Which may cause connman crash
when we connect wifi service after we disable the wifi. This issue does
not exist in latest connman due to connect-service method is removed.
we can set wifi interface in interface_removed which called in remove_interface
in supplicant.c, because after interface is freed in supplicant, we should not
hold this pointer anymore.
Fixes BMC#24364
|
|
In interface_removed function, connman_device_set_powered may not be
called due to wifi->device is freed before supplicant callback. This
happens when we remove the second wifi device. This may lead technology
refcount inbalance, which could potentially prevent the wifi technology to
be enabled again.
|
|
Implement connman_device_driver scan_hidden function. Supply scan
parameters for the hidden network when calling g_supplicant scan
functionality. When a new scan result is added, compare the SSID
with the one looked for. If detected, connect the hidden network.
When detected or when the scan is done, clear the hidden network
parameters.
|
|
Disable WiFi network when it ends up in disconnected state
in order to prevent wpa_supplicant looping forever retrying.
Fixes BMC#23973
|
|
As interface_added can potentially show up before the interface creation
callback, the device powered flag can be set from the latter.
|
|
When a wlan interface is removed we call proper method in
supplicant dbus interface. As the return message from supplicant
might come very late, we must not use the wifi pointer as
user data in interface remove callback. This is because the wifi
pointer might be removed before the answer comes from supplicant and
the callback user data pointer would not be valid at that point.
|
|
|