I'm still getting the error. I managed to hack by doing this patch:
--- a/external/wpa_supplicant/src/drivers/driver_wext.c 2010-11-05
13:40:07.089582001 -0700
+++ b/external/wpa_supplicant/src/drivers/driver_wext.c 2010-11-05
13:39:11.901582003 -0700
@@ -539,8 +539,9 @@
if (!drv->skip_disconnect) {
drv->skip_disconnect = 1;
#endif
- wpa_supplicant_event(ctx,
EVENT_DISASSOC,
- NULL);
+// wpa_supplicant_event(ctx,
EVENT_DISASSOC,
+// NULL);
+wpa_printf(MSG_DEBUG, "Debug This is where disconnect occurs");
#ifdef ANDROID
}
#endif
then wifi doesn't disconnect. But it's not clean because it's
intercepting at wpa level while the wrong "disconnect" command is
coming from the Android upper stack.
Two comments:
- The skip_disconnect variable of wpa_supplicant introduced by Android
is really odd. Somebody at Google will have to explain me one day what
it is about. In any case, it shows that the Wifi framework is not
clean, from the wpa_supplicant point of view.
- the disconnection only occurs once, and it seems to be always after
300s (it appears at 300s in dmesg...). 300=5minutes. I have searched
and searched in the code for anything about that but I haven't found
anything,
Grégoire
On Oct 31, 5:38 pm, G2 <[email protected]> wrote:
> I'm facing the exact same issue with Touch Book (OMAP3530) + USB
> RT3070? Have you managed to find the culprit?
>
> Grégoire
>
> On Sep 27, 4:28 am, Elvis Dowson <[email protected]> wrote:
>
> > Here is the log output, to the point where the network shuts down
>
> > D/wpa_supplicant( 1088): AWEXT: wpa_driver_priv_driver_cmd RSSI-APPROX
> > D/wpa_supplicant( 1088): >>>. DRIVER AWEXT RSSI
> > D/wpa_supplicant( 1088): AWEXT: wpa_driver_priv_driver_cmd LINKSPEED
> > D/wpa_supplicant( 1088): Link Speed command
> > rt28xx_get_wireless_stats --->
> > <--- rt28xx_get_wireless_stats
> > D/wpa_supplicant( 1088): AWEXT: wpa_driver_priv_driver_cmd RSSI-APPROX
> > D/wpa_supplicant( 1088): >>>. DRIVER AWEXT RSSI
> > D/wpa_supplicant( 1088): AWEXT: wpa_driver_priv_driver_cmd LINKSPEED
> > D/wpa_supplicant( 1088): Link Speed command
> > SYNC - send NULL Frame @24 Mbps...
> > rt28xx_get_wireless_stats --->
> > <--- rt28xx_get_wireless_stats
> > D/wpa_supplicant( 1088): AWEXT: wpa_driver_priv_driver_cmd RSSI-APPROX
> > D/wpa_supplicant( 1088): >>>. DRIVER AWEXT RSSI
> > D/wpa_supplicant( 1088): AWEXT: wpa_driver_priv_driver_cmd LINKSPEED
> > D/wpa_supplicant( 1088): Link Speed command
> > BEACON lost > 512 msec with TxOkCnt=0 -> CQI=0
> > MMCHK - No BEACON. Dead CQI. Auto Recovery attempt #0
> > !!! LINK DOWN !!!
> > !!! LINK DOWN 2!!!
> > BAOriSessionTearDown===>Wcid=1.TID=0
> > ===>Idx = 1, Wcid=1.TID=0, ORI_BA_Status = 3
> > ==> MlmeDELBAAction(), Initiator(1)
> > BA - MlmeDELBAAction() . Send BAR to refresh peer reordering buffer
> > BA - MlmeDELBAAction() . 3 DELBA sent. Initiator(1)
> > BATableFreeOriEntry numAsOriginator= 1
> > BARecSessionTearDown===>Wcid=1.TID=0
> > ===>Idx = 1, Wcid=1.TID=0, REC_BA_Status = 3
> > ==> MlmeDELBAAction(), Initiator(0)
> > BA - MlmeDELBAAction() . Send BAR to refresh peer reordering buffer
> > BA - MlmeDELBAAction() . 3 DELBA sent. Initiator(0)
> > MacTableDeleteEntry1 - Total= 0
> > CmdThread : CMDTHREAD_SET_ASIC_WCID : WCID = 1, SetTid = ffffffff,
> > DeleteTid = ffffffff.
> > 1-MACValue= 0,
> > AsicSetEdcaParm
> > 2-MACValue= 10000,
> > CmdThread : CMDTHREAD_SET_ASIC_WCID : WCID = 1, SetTid = ffffffff,
> > DeleteTid = 10000.
> > 1-MACValue= 0,
> > 2-MACValue= 0,
> > RTMPSetLED::Mode=1,HighByte=0x20,LowByte=0x01
> > --->Disable TSF synchronization
> > LinkDownCleanMlmeAux.ExtCapInfo!
> > D/wpa_supplicant( 1088): RTM_NEWAsicUpdateWcidAttributeEntry : WCID
> > #1, KeyIndex #0, Alg=none
> > LINK: operstate=1 ifi_flags=0x11Driver auto reconnect to last
> > OID_802_11_SSID setting - Olympus2, len - 8
> > 043 ([UP][RUNNING][LOWER_UP])
> > D WCIDAttri = 0x1
> > /wpa_supplicant( 1088): RTM_NEWLCntlOidSsidProc():CNTL - 0 BSS of 0
> > BSS match the desire INK, IFLA_IFNAME: Interface
> > 'wlaAsicRemovePairwiseKeyEntry : Wcid #1
> > n0' added
> > D/wpa_supplicant( 108(8)SSID - Olympus2
> > 8): Wireless event: cmd=0x8b15 lCntlOidSsidProc():CNTL - No matching
> > BSS, start a new scan
> > en=20
> > D/wpa_supplicant( 1088): AsicRemoveSharedKeyEntry: #0
> > Wireless event: new AP: 00:00:00SCANNING, suspend MSDU
> > transmission ...
> > :00:00:00
> > D/wpa_supplicant( 108Write: SHARED_KEY_MODE_BASE at this Bss[0] =
> > 0x300
> > 8): Setting scan request: 0 sec rt_ioctl_siwencodeext::Remove all keys!
> > (encoding->flags = 8001)
> > 100000 usec
> > D/wpa_supplicant( 1SYNC - BBP R4 to 20MHz.l
> > 088): Added BSSID 68:7f:74:1c:e4AsicUpdateWcidAttributeEntry : WCID
> > #1, KeyIndex #0, Alg=none
> > :7c into blacklist
> > I/wpa_suppli WCIDAttri = 0x1
> > cant( 1088): CTRL-EVENT-DISCONNEAsicRemovePairwiseKeyEntry : Wcid #1
> > CTED - Disconnect event - removeAsicRemoveSharedKeyEntry: #1
> > keys
> > V/WifiMonitor( 959): EveWrite: SHARED_KEY_MODE_BASE at this Bss[0] =
> > 0x300
> > nt [CTRL-EVENT-DISCONNECTED - Dirt_ioctl_siwencodeext::Remove all keys!
> > (encoding->flags = 8002)
> > sconnect event - remove keys]
> > DAsicUpdateWcidAttributeEntry : WCID #1, KeyIndex #0, Alg=none
> > /wpa_supplicant( 1088): wpa_drivAsicSwitchChannel#1(RF=5, Pwr0=17,
> > Pwr1=5, 1T), N=0xF1, K=0x02, R=0x02
> > er_wext_set_key: alg=0 key_idx=0 WCIDAttri = 0x1
> > set_tx=0 seq_len=0 key_len=0
> > VAsicRemovePairwiseKeyEntry : Wcid #1
> > /WifiStateTracker( 959): New neAsicRemoveSharedKeyEntry: #2
> > twork state is DISCONNECTED
> > I/eWrite: SHARED_KEY_MODE_BASE at this Bss[0] = 0x0
> > thernet( 959): recvmsg get datart_ioctl_siwencodeext::Remove all keys!
> > (encoding->flags = 8003)
>
> > I/ethernet( 959): event :16 AsicUpdateWcidAttributeEntry : WCID #1,
> > KeyIndex #0, Alg=none
> > found
> > I/ethernet( 959): the d WCIDAttri = 0x1
> > evice flag :11043
> > I/ethernet( AsicRemovePairwiseKeyEntry : Wcid #1
> > 959): Done parsing
> > I/ethernet( AsicRemoveSharedKeyEntry: #3
> > 959): poll state :, left:4096
> > Write: SHARED_KEY_MODE_BASE at this Bss[0] = 0x0
> > I/ethernet( 959): Poll events frt_ioctl_siwencodeext::Remove all keys!
> > (encoding->flags = 8004)
> > rom ethernet devices
> > I/EthernetAsicUpdateWcidAttributeEntry : WCID #1, KeyIndex #0,
> > Alg=none
> > Monitor( 959): get event
> > I/Et WCIDAttri = 0x1
> > hernetMonitor( 959): go poll evAsicRemovePairwiseKeyEntry : Wcid #1
> > ents
> > I/ethernet( 959): recvmsgAsicRemoveSharedKeyEntry: #0
> > get data
> > I/ethernet( 959): eWrite: SHARED_KEY_MODE_BASE at this Bss[0] = 0x0
> > vent :16 found
> > I/ethernet( 95rt_ioctl_siwencodeext::Remove all keys!(encoding->flags
> > = 8001)
> > 9): the device flag :11043
> > I/ethernet( 959): Done parsing
> > I/ethernet( 959): poll state :, leAsicUpdateWcidAttributeEntry : WCID
> > #1, KeyIndex #0, Alg=none
> > ft:4096
> > I/ethernet( 959): Poll events from ethernet devices
> > I WCIDAttri = 0x1
> > /EthernetMonitor( 959): get eveAsicRemovePairwiseKeyEntry : Wcid #1
> > nt
> > I/EthernetMonitor( 959): gAsicRemoveSharedKeyEntry: #0
> > o poll events
> > D/wpa_supplicant(Write: SHARED_KEY_MODE_BASE at this Bss[0] = 0x0
> > 1088): wpa_driver_wext_set_key:rt_ioctl_siwencodeext::Remove all keys!
> > (encoding->flags = 8001)
> > alg=0 key_idx=1 set_tx=0 seq_leAsicUpdateWcidAttributeEntry : WCID
> > #1, KeyIndex #0, Alg=none
> > n=0 key_len=0
> > D/wpa_supplicant( WCIDAttri = 0x1
> > 1088): wpa_driver_wext_set_key:AsicRemovePairwiseKeyEntry : Wcid #1
> > alg=0 key_idx=2 set_tx=0 seq_leAsicRemoveSharedKeyEntry: #1
> > n=0 key_len=0
> > D/wpa_supplicant(Write: SHARED_KEY_MODE_BASE at this Bss[0] = 0x0
> > 1088): wpa_driver_wext_set_key:AsicSwitchChannel#2(RF=5, Pwr0=17,
> > Pwr1=5, 1T), N=0xF1, K=0x07, R=0x02
> > alg=0 key_idx=3 set_tx=0 seq_lert_ioctl_siwencodeext::Remove all keys!
> > (encoding->flags = 8002)
> > n=0 key_len=0
> > D/wpa_supplicant( 1088):
> > wpa_driver_wext_set_key:AsicUpdateWcidAttributeEntry : WCID #1,
> > KeyIndex #0, Alg=none
> > alg=0 key_idx=0 set_tx=0 seq_le WCIDAttri = 0x1
> > n=0 key_len=0
> > D/wpa_supplicant(AsicRemovePairwiseKeyEntry : Wcid #1
> > 1088): State: COMPLETED -> DISCAsicRemoveSharedKeyEntry: #2
> > ONNECTED
> > I/wpa_supplicant( 1088Write: SHARED_KEY_MODE_BASE at this Bss[0] =
> > 0x0
> > ): CTRL-EVENT-STATE-CHANGE id=0 rt_ioctl_siwencodeext::Remove all keys!
> > (encoding->flags = 8003)
> > state=0
> > V/WifiMonitor( 959): EAsicUpdateWcidAttributeEntry : WCID #1,
> > KeyIndex #0, Alg=none
> > vent [CTRL-EVENT-STATE-CHANGE id WCIDAttri = 0x1
> > =0 state=0]
> > V/WifiStateTracker(AsicRemovePairwiseKeyEntry : Wcid #1
> > 959): Changing supplicant statAsicRemoveSharedKeyEntry: #3
> > e: COMPLETED ==> DISCONNECTED
> > DWrite: SHARED_KEY_MODE_BASE at this Bss[0] = 0x0
> > /wpa_supplicant( 1088): wpa_drivrt_ioctl_siwencodeext::Remove all keys!
> > (encoding->flags = 8004)
> > er_wext_set_operstate: operstateAsicUpdateWcidAttributeEntry : WCID
> > #1, KeyIndex #0, Alg=none
> > 1->0 (DORMANT)
> > D/wpa_supplican WCIDAttri = 0x1
> > t( 1088): WEXT: Operstate: linkmAsicRemovePairwiseKeyEntry : Wcid #1
> > ode=-1, operstate=5
> > D/wpa_supplAsicRemoveSharedKeyEntry: #0
> > icant( 1088): EAPOL: External noWrite: SHARED_KEY_MODE_BASE at this
> > Bss[0] = 0x0
> > tification - portEnabled=0
> > D/wprt_ioctl_siwencodeext::Remove all keys!(encoding->flags = 8001)
> > a_supplicant( 1088): EAPOL: SUPP_PAE entering state DISCONNECTED
> > D/wpa_supplicant( 1088): EAPOL: SUPP_BE entering state INITIAL!!! MLME
> > busy, reset MLME state machine !!!
> > IZE
> > D/wpa_supplicant( 1088): EAAsicSwitchChannel#3(RF=5, Pwr0=17, Pwr1=5,
> > 1T), N=0xF2, K=0x02, R=0x02
> > POL: External notification - portValid=0
> > D/wpa_supplicant( 1088): EAPOL: External notification !!! reset MLME
> > state machine !!!
> > - EAP success=0
> > D/wpa_supplicanMlmeRestartStateMachine
> > t( 1088): RTM_NEWLINK: operstate=0 ifi_flags=0x11043 ([UP][RUNNING]
> > [LOWER_UP])
> > D/wpa_supplicantAsicSwitchChannel#6(RF=5, Pwr0=17, Pwr1=5, 1T),
> > N=0xF3, K=0x07, R=0x02
> > ( 1088): RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
> > D/wpSCAN done, resume MSDU transmission ...
> > a_supplicant( 1088): Wireless evSCANNING, suspend MSDU
> > transmission ...
> > ent: cmd=0x8b15 len=20
> > I/ethernSYNC - BBP R4 to 20MHz.l
> > et( 959): recvmsg get data
> > D/wpa_supplicant( 1088): Wireless event: new AP: 00:00:00:00:00:00
> > I/ethernet( 959): event :16 found
> > D/wpa_supplicant( 1088): AsicSwitchChannel#1(RF=5, Pwr0=17, Pwr1=5,
> > 1T), N=0xF1, K=0x02, R=0x02
> > Added BSSID 00:00:00:00:00:00 into blacklist
> > I/wpa_supplicant( 1088): CTRL-EVENT-DISCONNECTED - Disconnect event -
> > remove keys
> > D/wpa_supplicant( 1088): wpa_driver_wext_set_key: alg=0 key_idx=0
> > set_tx=0 seq_len=0 key_len=0
> > I/ethernet( 959): the device flag :11003
> > I/ethernet( 959): Done parsing
> > I/ethernet( 959): poll state :, left:4096
> > I/ethernet( 959): Poll events from ethernet devices
> > V/WifiMonitor( 959): Event [CTRL-EVENT-DISCONNECTED - Disconnect
> > event - remove keys]
> > V/WifiStateTracker( 959): New network state is DISCONNECTED
>
> ...
>
> read more »
--
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting