Age | Commit message (Collapse) | Author | Files | Lines |
|
desc: Set connection error when AP is removed.
Change ASSOC_RETRY_COUNT(3 -> 4).
send the scan request after connecting - check the ap availability
fix the too much scan in associating
Change-Id: Ia1d0367a2f792f6c2f92a6ef498b37511840135d
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Change-Id: I11fd7baa7d00fa3f3a12bdafda7ff7aa6943d020
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Change-Id: Id436db5828febaabd8273c2e0aab91f9ee9572ff
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Change-Id: I4248b2de4d00d4218dcfac078bcda3e95db83896
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
- gsupplicant: fix stucking in scanning state when scan failed.
- Apply ASLR option.
- Add ""TIZEN_WEARABLE"" check in service file.
- change the dhcp client device name.
- default internet service: fix not cleared if pdp activation failed.
- Change Russia cert build feature.
- Update the Connman.service.in file.
- Remove connection retry when association fail.
Change-Id: I3ac8e49d0a3c229b298296f8e7cbf34845c2c90d
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Change-Id: Idc4ff4294ada3b234dd4af29558c0923b9aff017
Signed-off-by: Niraj Kumar Goit <niraj.g@samsung.com>
|
|
Change-Id: I5531a2e3e45da6b3d4caa6d5df15f54ebc2700d8
|
|
Change-Id: I2958446c35966d9ed72df0120b80561be7d89f54
Signed-off-by: Taesub Kim <taesub.kim@samsung.com>
|
|
Change-Id: I02fc50820cccc66aed702a97a9928981e73b43cf
Signed-off-by: Taesub Kim <taesub.kim@samsung.com>
|
|
Signed-off-by: hyunuktak <hyunuk.tak@samsung.com>
Change-Id: I84a42375b5c59739e4caca1f726699ea7647ef17
|
|
Change-Id: Ia624ab6e2ddc967c1581ed48a7eababa0cdb909f
Signed-off-by: pradeep kumar B <b.pradeep@samsung.com
|
|
Change-Id: Ie8374a6c8d401a2178ad701e94978a6cdc1517e7
Signed-off-by: pradeep kumar B <b.pradeep@samsung.com>
|
|
Change-Id: I73fccf5f322ee2597f8f58d5e3d7f60ddeb0a641
|
|
Change-Id: I2f699e42ec5ce7f148b8c1d685b52ee32e2e236b
|
|
Network client requires additional wifi specific info
Export the BSSID property
Export the MaxRate property
Export the detailed info for encryption mode(mixed,aes,tkip,wep,none)
Export the connman_network get/set method for bssid, maxrate,
encryption_mode property
Change-Id: Ic5744978282e49cb2f70165aaadc7822dc718dfb
|
|
|
|
|
|
Previously the number of scanned hidden WiFi networks was
restricted by the fast scan limit of the WiFi driver. This
patch takes into account the driver fast scan limit and will
scan for all configured hidden WiFi networks.
Thanks to Jukka for testing this.
|
|
Per MEEGO-25999 <https://bugs.meego.com/show_bug.cgi?id=25999>, there
exists a race between scan_callback and wifi_disable such that a care-
fully-timed deassertion of the technology Powered property between
throw_wifi_scan and scan_callback will lead to a device reference
count underflow. A second Powered property false -> true -> false
transition will then deallocate the device and Wi-Fi will no longer
function until connman or the system is restarted.
This patch improves upon and revises the prior patch to address this
issue by recognizing that hidden networks involve a slightly different
code path and timing and that both this and the prior case can be
addressed by tracking the device scanning state and only releasing the
device when the state is asserted.
|
|
Per MEEGO-25999 <https://bugs.meego.com/show_bug.cgi?id=25999>, there
exists a race between scan_callback and wifi_disable such that a care-
fully-timed deassertion of the technology Powered property between
throw_wifi_scan and scan_callback will lead to a device reference
count underflow. A second Powered property false -> true -> false
transition will then deallocate the device and Wi-Fi will no longer
function until connman or the system is restarted.
This patch addresses that race by tracking and observing the disabling
state such that scan_callback ad wifi_disable can effectively negotiate
which has performed the device release, thereby avoiding the double
release and resulting underflow.
|
|
This terminates the body of stop_autoscan if autoscan is
not active. Per MEEGO-25987 <http://bugs.meego.com/show_bug.cgi?id=25987>,
running stop_autoscan when changing connected services can prematurely and
incorrectly terminate a new, in-flight service connection and result in a
failure of that connection with "net.connman.Error.OperationAborted:
Operation aborted".
When a scan is started, all networks are marked unavailable. Should the check
added in this patch not be present, device scanning is set to false and all
not yet found networks are removed. Thus the service will not be able to
connect if its network wasn't already found.
|
|
Currently, it relies on max_ssids to know how many SSIDs it can provide as
paremeters. However, patch 6af0579c434058536fb40480f40f5e9895cfe863, which
fixes an issue about fast scanning, affects such feature.
Therefore, as a default, it will fallback to 1 if given max_ssids is 0.
There is still the issue that it will autoscan only max_ssid (1 or more)
known hidden SSIDs. This need to be fixed.
Reported by Sameer Naik
|
|
|
|
If -ECONNABORTED is received from the gsupplicant network disconnect
callback, it's an indication that the interface has already been
removed from wpa_supplicant side. This can happen due to a race condition
between rtnl and wpa_supplicant interface removal when a USB WiFi dongle
is pulled out.
The pointers given to the callback can no longer be trusted, don't touch
them in the callback. The have been removed by other code at this point.
|
|
If service settings cannot be loaded, then skip that service.
Thanks for Felipe Tonello for reporting the issue.
|
|
|
|
When soft rfkill is on, wpa_supplicant sets the interface disabled and
sends a state named 'interface_disabled'. Taking this information into
account fixes the following issue:
- disable wifi (user setting) and hard rfkill it
- then un-hard rfkill it, whereafter rfkill states (soft/hard) will go
like this:
* from 1/1 to 0/0
* from 0/0 to 1/0
when 0/0 occurs, connman will request to enable wifi
The problem with this is that enabling wifi takes quite some time and
in between ConnMan will soft block wifi to disable it (according to
previous user setting). Thus it will request to disable wifi but since
enabling is still going on, this request won't do anything. Meanwhile
wpa_supplicant will also catch the soft rfkill event and wpa_supplicant
will set the state to 'interface_disabled', but since it's not handled
properly by ConnMan, the wifi_enable() callback will be called and the
function will assume wifi got enabled.
|
|
Wifi tethering works with kernel 3.4, but not with 3.5. Bisecting
showed that the following kernel patch causes the breakage:
"3edaf3e mac80211: manage AP netdev carrier state".
Running connman with debugging enabled showed that in case of 3.4
we have the following sequence of RTM_NEWLINK events from the kernel:
1. IFF_UP not set, ifi_change=1
2. IFF_UP,IFF_LOWER_UP, ifi_change=1
which makes connman do the following:
connmand[210]: plugins/wifi.c:wifi_newlink() index 4 flags 4098 change 1
connmand[210]: plugins/wifi.c:wifi_newlink() interface down
connmand[210]: plugins/wifi.c:wifi_newlink() index 4 flags 69635 change 1
connmand[210]: plugins/wifi.c:wifi_newlink() interface up
connmand[210]: plugins/wifi.c:wifi_newlink() carrier on
connmand[210]: plugins/wifi.c:handle_tethering() index 4 bridge tether
However, in 3.5 we have the following sequents of events from the kernel:
1. IFF_UP, ifi_change=1
2. IFF_UP,IFF_LOWER_UP, ifi_change=0
which makes connman do the following:
connmand[493]: plugins/wifi.c:wifi_newlink() index 4 flags 4099 change 1
connmand[493]: plugins/wifi.c:wifi_newlink() interface up
connmand[493]: plugins/wifi.c:wifi_newlink() index 4 flags 69635 change 0
The root-cause for it is that connman handles the "ifi_change" flag
incorrectly. Connman interprets it as "if non-zero, there was some change",
which is wrong. According to RFC 3549, it is "reserved for future use.
Must be set to 0xFFFFFFFF". Thus, just remove that check, which makes
tethering work.
|
|
Convert usage of g_slist_append() to g_slist_prepend() where
appropriate. gdbus, dnsproxy, resolver, rtnl, session and session
unit test have ordering requirements and thus not touched.
|
|
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
|