Closed
Bug 981472
Opened 12 years ago
Closed 8 years ago
[Sora][Wi-Fi] Join an invalid network, the current connection will be disconnected
Categories
(Firefox OS Graveyard :: Wifi, defect, P1)
Firefox OS Graveyard
Wifi
Tracking
(tracking-b2g:backlog)
RESOLVED
WONTFIX
| tracking-b2g | backlog |
People
(Reporter: sync-1, Assigned: vchang)
Details
Attachments
(1 file)
|
1.31 KB,
patch
|
Details | Diff | Splinter Review |
Mozilla build ID: 20140226004002
DEFECT DESCRIPTION:
Join an invaild netwrok,the current connection will be disconnected.
REPRODUCING PROCEDURES:
1,Home->Setting->Open Wi-Fi->connect an available network->Join hidden network->input an invaild network name,choose the security,tap "ok"->the current connection will be disconnected.-> KO
Bettle lite also has this pr
EXPECTED BEHAVIOUR:
Join an invaild netwrok,the current connection can't be disconnected
ASSOCIATE SPECIFICATION:
TEST PLAN REFERENCE:
TOOLS AND PLATFORMS USED:
USER IMPACT:
REPRODUCING RATE:
For FT PR, Please list reference mobile's behavior:
Comment 1•12 years ago
|
||
(In reply to sync-1 from comment #0)
> Mozilla build ID: 20140226004002
> DEFECT DESCRIPTION:
> Join an invaild netwrok,the current connection will be disconnected.
> REPRODUCING PROCEDURES:
> 1,Home->Setting->Open Wi-Fi->connect an available network->Join hidden
> network->input an invaild network name,choose the security,tap "ok"->the
> current connection will be disconnected.-> KO
After phone fails in connecting to that invalid SSID, can phone connect back to original network?
After test, other networks are disabled while try to connect to the invalid SSID, but not re-enabled after fail.
Assignee: nobody → chulee
In such condition, State in Wifi Worker goes from COMPLETED -> DISCONNECTED -> SCANNING -> DISCONNECTED, and seems doesn't trigger re-enable network function.
Updated•12 years ago
|
Summary: [Sora][Wi-Fi]Join an invaild netwrok,the current connection will be disconnected → [Sora][Wi-Fi] Join an invalid network, the current connection will be disconnected
The state change flow can't trigger the disconnect handling in Wifi Worker, so it seems can only be handled by state machine in Wifi Manager.
There might be more unexpected state flows afterwards, but it seems we can only fix them one by one while we bumped into them.
Attachment #8391060 -
Flags: feedback?(vchang)
| Assignee | ||
Comment 6•12 years ago
|
||
Comment on attachment 8391060 [details] [diff] [review]
WIP - Handle state change from scan to disconnect.
Review of attachment 8391060 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/wifi/WifiWorker.js
@@ +1891,5 @@
> this.prevState === "UNINITIALIZED") {
> return;
> }
>
> + if (this.prevState === "SCANNING") {
It looks more like a workaround solution to check prevState is SCANNING.
Can we check how Android handle this ? Does they check existed APs using scan command ?
Attachment #8391060 -
Flags: feedback?(vchang)
Android has two ways to re-enable networks:
1. SupplicantStateTracker.java: Monitors connection fail events[1][2] and re-enable networks while fail count exceeds the limit [3].
But it requires connect fail event which won't be triggered in this bug, so it doesn't work here.
2. Android transited to DISCONNECTING state right after connect command[4], which will transit into DISCONNECTED state on any state change[5] if incoming event doesn't change the state. But it also doesn't handle such condition.
3. Wifi will be re-enabled in scan mode state[6], but it is controlled by wifi lock[7]. Seems not quite fit our situation.
[1] http://androidxref.com/4.4.2_r2/xref/frameworks/base/wifi/java/android/net/wifi/SupplicantStateTracker.java#173
[2] http://androidxref.com/4.4.2_r2/xref/frameworks/base/wifi/java/android/net/wifi/SupplicantStateTracker.java#191
[3] http://androidxref.com/4.4.2_r2/xref/frameworks/base/wifi/java/android/net/wifi/SupplicantStateTracker.java#224
[4] http://androidxref.com/4.4.2_r2/xref/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java#3530
[5] http://androidxref.com/4.4.2_r2/xref/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java#3886
[6] http://androidxref.com/4.4.2_r2/xref/frameworks/base/wifi/java/android/net/wifi/WifiStateMachine.java#3366
[7] http://androidxref.com/4.4.2_r2/xref/frameworks/base/services/java/com/android/server/wifi/WifiController.java#505
Based on comment 7, I think android framework doesn't handle such situation neither.
I tested with three android phones:
1. Nexus 5(4.4.2): Only add network into network list but doesn't connect to the added network.
2. Acro S(4.1.2): Only add network into network list but doesn't connect to the added network.
3. Galaxy SII(4.1.2): All networks are disabled at beginning, recovered after next automatic scan.
Also, Android uses "Add network" in Settings UI instead of "Join Hidden Network".
So I can only think of two way to resolve this bug:
1. Re-enable wifi while entering DISCONNECTED state, as original patch. Maybe remove the check of |prevState|.
2. Re-enable wifi while entering SCANNING state. This might be break connection state check auth failure and loop detection.
I would prefer fix this bug based on current patch.
Updated•11 years ago
|
blocking-b2g: --- → backlog
| Assignee | ||
Comment 9•11 years ago
|
||
I am going to take over this bug. Feel free to take it back if you are still working on it.
Assignee: chuckli0706 → vchang
Updated•11 years ago
|
blocking-b2g: backlog → ---
tracking-b2g:
--- → backlog
Comment 10•8 years ago
|
||
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•