Author: fmueller
Date: Thu Aug 26 00:16:04 2010
New Revision: 9068
URL: http://svn.slimdevices.com/jive?rev=9068&view=rev
Log:
Bug: 16468
Description: Fix wireless driver to report disconnect events to wpa_supplicant.
This reduces time to reconnect to a few seconds. (Before it could easily take
up to 30 seconds to reconnect.)
Added:
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/atheros/files/atheros_send_disconnect_event.patch
Modified:
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/atheros/atheros-ar6-module-src_svn.bb
Modified:
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/atheros/atheros-ar6-module-src_svn.bb
URL:
http://svn.slimdevices.com/jive/7.6/trunk/squeezeos/poky/meta-squeezeos/packages/atheros/atheros-ar6-module-src_svn.bb?rev=9068&r1=9067&r2=9068&view=diff
==============================================================================
---
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/atheros/atheros-ar6-module-src_svn.bb
(original)
+++
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/atheros/atheros-ar6-module-src_svn.bb
Thu Aug 26 00:16:04 2010
@@ -3,7 +3,7 @@
LICENSE = "binary only"
PV = "1.0"
-PR = "r19"
+PR = "r20"
PROVIDES = "atheros-ar6-module"
@@ -17,6 +17,7 @@
file://change-ar6k-semaphore-type.patch;patch=1 \
file://atheros_disable_tcmd.patch;patch=1 \
file://atheros_shorter_scan_list_cache_timeout.patch;patch=1 \
+ file://atheros_send_disconnect_event.patch;patch=1 \
file://wlan \
file://athwlan.bin \
file://calData_ar6102_15dBm.bin \
Added:
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/atheros/files/atheros_send_disconnect_event.patch
URL:
http://svn.slimdevices.com/jive/7.6/trunk/squeezeos/poky/meta-squeezeos/packages/atheros/files/atheros_send_disconnect_event.patch?rev=9068&view=auto
==============================================================================
---
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/atheros/files/atheros_send_disconnect_event.patch
(added)
+++
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/atheros/files/atheros_send_disconnect_event.patch
Thu Aug 26 00:16:04 2010
@@ -1,0 +1,66 @@
+--- AR6kSDK.build_sw.62/host/os/linux/ar6000_drv.c.orig 2010-08-17
13:11:42.000000000 +0200
++++ AR6kSDK.build_sw.62/host/os/linux/ar6000_drv.c 2010-08-25
19:26:52.000000000 +0200
+@@ -2451,6 +2451,16 @@ ar6000_disconnect_event(AR_SOFTC_T *ar,
+ {
+ A_UINT8 i;
+
++ if (NO_NETWORK_AVAIL != reason) {
++ union iwreq_data wrqu;
++ A_MEMZERO(&wrqu, sizeof(wrqu));
++ A_MEMCPY(wrqu.addr.sa_data, "\x00\x00\x00\x00\x00\x00",
IEEE80211_ADDR_LEN);
++ wrqu.addr.sa_family = ARPHRD_ETHER;
++
++ /* Send disconnect event to supplicant */
++ wireless_send_event(ar->arNetDev, SIOCGIWAP, &wrqu, NULL);
++ }
++
+ A_PRINTF("AR6000 disconnected");
+ if (bssid[0] || bssid[1] || bssid[2] || bssid[3] || bssid[4] || bssid[5])
{
+ A_PRINTF(" from %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x ",
+@@ -2467,7 +2477,7 @@ ar6000_disconnect_event(AR_SOFTC_T *ar,
+ }
+ AR_DEBUG_PRINTF("%2.2x ", assocInfo[i]);
+ }
+- AR_DEBUG_PRINTF("\n");
++ A_PRINTF("\n");
+ /*
+ * If the event is due to disconnect cmd from the host, only they the
target
+ * would stop trying to connect. Under any other condition, target would
+@@ -2488,6 +2498,37 @@ ar6000_disconnect_event(AR_SOFTC_T *ar,
+ return;
+ }
+ }
++
++ if ((TRUE == ar->arConnected) && (reason == NO_NETWORK_AVAIL))
++ {
++ bss_t *pWmiSsidnode = NULL;
++
++ /* remove the current associated bssid node */
++ wmi_free_node (ar->arWmi, bssid);
++
++ /*
++ * In case any other same SSID nodes are present
++ * remove it, since those nodes also not available now
++ */
++ do
++ {
++ /*
++ * Find the nodes based on SSID and remove it
++ * NOTE :: This case will not work out for Hidden-SSID
++ */
++ pWmiSsidnode = wmi_find_Ssidnode (ar->arWmi, ar->arSsid,
ar->arSsidLen, FALSE, TRUE);
++
++ if (pWmiSsidnode)
++ {
++ wmi_free_node (ar->arWmi, pWmiSsidnode->ni_macaddr);
++ }
++
++ }while (pWmiSsidnode);
++
++ ar6000_init_profile_info(ar);
++ wmi_disconnect_cmd(ar->arWmi);
++ }
++
+ ar->arConnected = FALSE;
+
+ if( (reason != CSERV_DISCONNECT) || (reconnect_flag != 1) ) {
_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins