[WiFi] Cannot connect to hidden network after initial connection, known network appears as "not in range"

RESOLVED FIXED in Firefox OS v2.1

Status

Firefox OS
Wifi
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: Jeremiah Lee, Assigned: eragonj)

Tracking

({regression})

unspecified
2.2 S5 (6feb)
ARM
Gonk (Firefox OS)
regression

Firefox Tracking Flags

(blocking-b2g:2.1+, b2g-v2.0 unaffected, b2g-v2.1 verified, b2g-v2.1S affected, b2g-v2.2 verified, b2g-master verified)

Details

(Whiteboard: [2.2-flame-reduced-run], PTR1_BLOCK, URL)

Attachments

(4 attachments)

(Reporter)

Description

3 years ago
Created attachment 8532226 [details]
hidden_logcat.txt

Description:
If connecting to hidden network and then forgetting the network, attempting to reconnect to hidden network will fail. "Not in Range" text appears on Manage Networks screen.

Hidden network connection attempts:
1 - Connected, but appears as "Not in Range" on Manage Networks screen
2 - After Forget network: Did not connect. "Not in Range" on Manage Networks and WiFi list
3 - After Forget network: Did not connect. "Not in Range" on Manage Networks and WiFi list
4 - After Forget network: Did not connect. "Not in Range" on Manage Networks and WiFi list
5 - After Forget network: Did not connect. No Known Networks on Manage Networks screen. Turned off WiFi automatically.
6 - After Forget network: Did not connect. "Not in Range" on Manage Networks and WiFi list
7 - (After restart of phone) Connected. "Not in Range" on Manage Networks and WiFi list
8 - After Forget network: Did not connect. "Not in Range" on Manage Networks. Shows signal on WiFi list, but still doesn't connect. After restarting Settings, it did connect to hidden network.
9 - After Forget network: Connected, but appears as "Not in Range" on Manage Networks screen
10 - After Forget network: Did not connect. "Not in Range" on Manage Networks. Shows signal on WiFi list, but still doesn't connect.
   
   
Repro Steps:

 *Need a modem set up with hidden network before steps, Have WiFi connection to non-hidden network.
 
1) Update a Flame device to BuildID: 20141203040207
2) Open Settings > WiFi settings > Manage Networks > Join Hidden Network > Enter name/password > Tap OK to attempt to connect to hidden network (should connect on first attempt)
3) Go to Manage Networks > Tap on hidden network > Forget network
4) Tap Join Hidden Network > Enter name/password > Tap OK to attempt to reconnect to hidden network
5) Notice status of networks on Manage Network screen > Go back to WiFi list > Notice status of connection
  
Actual:
After connection to hidden network, forgetting the network, then attempting to reconnect to hidden network the connection will fail. "Not in Range" text appears on known network on Manage Networks screen and on WiFi list (text issue not in 2.1).
  
Expected: 
After connection to hidden network, forgetting the network, then attempting to reconnect to hidden network the connection will be successful. "Not in Range" text does not appear on known networks on Manage Networks screen and on WiFi list (if networks are in range).
  
Environmental Variables:
Device: Flame 2.2 Master (319mb)(KitKat)(Full Flash)
BuildID: 20141203040207
Gaia: 725685831f5336cf007e36d9a812aad689604695
Gecko: 2c9781c3e9b5
Gonk: 48835395daa6a49b281db62c50805bd6ca24077e
Version: 37.0a1 (2.2 Master)
Firmware: V188-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
  
Notes: Turning off/on WiFi removes hidden network from known network list if not connected to it (and appears as "Not in Range" on WiFi list).
  
Repro frequency: 100%
Link to failed test case: https://moztrap.mozilla.org/manage/case/3528/
See attached: video clip (http://youtu.be/ZPvbGu63nD4), logcat (hidden_logcat.txt)
(Reporter)

Comment 1

3 years ago
Issue occurs on Flame 2.1.

After connection to hidden network, forgetting the network, then attempting to reconnect to hidden network the connection will fail. *"Not in Range" text issue not in 2.1.

Device: Flame 2.1 (319mb)(KitKat)(Full Flash)
Build ID: 20141203001205
Gaia: dbaf3e31c9ba9c3436e074381744f2971e15c7bf
Gecko: ebce587d2194
Gonk: 48835395daa6a49b281db62c50805bd6ca24077e
Version: 34.0 (2.1)
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0



Issue does not occur on Flame 2.0.

After connection to hidden network, forgetting the network, then attempting to reconnect to hidden network the connection will be successful. "Not in Range" text does not appear on known networks on Manage Networks screen and on WiFi list (if networks are in range).

Device: Flame 2.0 (319mb)(KitKat)(Full Flash)
Build ID: 20141203000201
Gaia: 8d1e868864c8a8f1e037685f0656d1da70d08c06
Gecko: 29222e215db8
Gonk: 48835395daa6a49b281db62c50805bd6ca24077e
Version: 32.0 (2.0)
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(dharris)
The manage networks screen becomes blank, and shows incorrect information. NI Wifi owner for a blocking decision on this one.
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(dharris) → needinfo?(gchang)
This bug also occurs in the FTE/FTU Wifi page on Flame 2.2 Master (319mb)(KitKat)(Full Flash)

Links to Failed Test Cases: 
2338 - Verify Select network signal strength icon
https://moztrap.mozilla.org/manage/case/2338/

2349 - Verify Select network refresh button
https://moztrap.mozilla.org/manage/case/2349/
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(dharris)
Sorry, ignore 2338 test case. It is irrelevant to this bug.
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(dharris)
Hi Vincent,
This might need your help to dispatch the issue.
Flags: needinfo?(gchang) → needinfo?(vchang)
Hi Arthur, can you help to check this issue ? I found the input parameters when calling associate(network) are not correct. But it seems normal when connect to the AP without security.
Flags: needinfo?(vchang) → needinfo?(arthur.chen)
EJ, could you help check this? Thanks.
Flags: needinfo?(arthur.chen) → needinfo?(ejchen)
Let me check what's wrong here, set myself as assignee first.
Assignee: nobody → ejchen
Flags: needinfo?(ejchen)
Hi EJ -

Almost forget about this one, do you have any update on this one?

Thanks
Flags: needinfo?(ejchen)
Hi Steven, could you help to move this forward, according to Comment#1 this issue is a regression issue. We should fix it in v2.1/v2.1s

Thanks
Flags: needinfo?(styang)
Stuck by too many bugs, I'll start to investigate this bug from now on.

Sorry for being late. :[
Status: NEW → ASSIGNED
Flags: needinfo?(ejchen)
Mark as 2.2? then cherry pick to 2.1S once it's fixed.
blocking-b2g: --- → 2.2?
Vincent, I just noticed that `WifiManager.getKnownNetworks` would return networks without `security` & `signalStrength` and this would make us unable to show its original encryption type and would show `Not in Range` instead.

Is this by design or ? 

Any ideas for this would be appreciated :) Thanks !!
Flags: needinfo?(vchang)
Created attachment 8551121 [details] [review]
patch on master

Extract the same logics out from wifi_network_list and make hidden_networks_list can be highlighted and display some useful information.
Created attachment 8551122 [details] [review]
patch on 2.1

Fixed the problem that we can't join hidden networks for the second time.

Comment 16

3 years ago
thanks EJ:
  One question : We need both attachment 8551121 [details] [review] and 8551122 on v2.1 right? If so, attachment 8551121 [details] [review] could directly patch on v2.1 ? thank you.
Flags: needinfo?(ejchen)
(In reply to EJ Chen [:eragonj][:小龍哥][ni? if you need me] from comment #13)
> Vincent, I just noticed that `WifiManager.getKnownNetworks` would return
> networks without `security` & `signalStrength` and this would make us unable
> to show its original encryption type and would show `Not in Range` instead.
> 
> Is this by design or ? 
> 
> Any ideas for this would be appreciated :) Thanks !!

Hi EJ, the known network information is kept in wpa_supplicant, we don't keep the information in gecko. The information is limited due to command response. What information would you like to have from getKnownNetworks API ?
Flags: needinfo?(vchang)
(In reply to siiaceon from comment #16)
> thanks EJ:
>   One question : We need both attachment 8551121 [details] [review] and 8551122 on
> v2.1 right? If so, attachment 8551121 [details] [review] could directly patch on v2.1
> ? thank you.

For v2.1, you need attachment 8551122 [details] [review].
For v2.2 and master(v3.0), you need attachment 8551121 [details] [review].
Flags: needinfo?(ejchen)

Comment 19

3 years ago
(In reply to EJ Chen [:eragonj][:小龍哥][ni? if you need me] from comment #18)
> (In reply to siiaceon from comment #16)
> > thanks EJ:
> >   One question : We need both attachment 8551121 [details] [review] and 8551122 on
> > v2.1 right? If so, attachment 8551121 [details] [review] could directly patch on v2.1
> > ? thank you.
> 
> For v2.1, you need attachment 8551122 [details] [review].
> For v2.2 and master(v3.0), you need attachment 8551121 [details] [review].

Thanks EJ
Comment on attachment 8551121 [details] [review]
patch on master

Arthur, can you help me review this patch ? What we fixed in this patch is :

--
1. extract the same "update logics" out off `wifi_network_list.js` and integrated them into WifiUtils.

2. For "Manage networks" panel
2.1 we will sort "connected" AP to the top.
2.2 we will observe "wifiEnabled" and "wifiStatusChange" to reflect latest status of connected AP

3. introduce another parameter in WifiUtils.newListItem called "showNotInRange", with this parameter, we can decide whether we would show "Not in range" on UI or not. Currently, for "Wifi panel", we want to show "Not in range" if the AP is not in range, while for "Manage networks panel", because Gecko can't supply latest signal strength from know networks (if you check "wpa_supplicant.conf", we can only get ssid & its encryption method), so let's show its encryption method instead of "Not in range".

4. updated unit tests
--

Thanks !
Attachment #8551121 - Flags: review?(arthur.chen)
Comment on attachment 8551122 [details] [review]
patch on 2.1

Arthur, for 2.1 patch, let's just fix the problem that we can't connect to hidden wifi after the first time.

Please help me review this simple patch, thanks :)
Attachment #8551122 - Flags: review?(arthur.chen)
(In reply to Vincent Chang[:vchang] from comment #17)
> (In reply to EJ Chen [:eragonj][:小龍哥][ni? if you need me] from comment #13)
> > Vincent, I just noticed that `WifiManager.getKnownNetworks` would return
> > networks without `security` & `signalStrength` and this would make us unable
> > to show its original encryption type and would show `Not in Range` instead.
> > 
> > Is this by design or ? 
> > 
> > Any ideas for this would be appreciated :) Thanks !!
> 
> Hi EJ, the known network information is kept in wpa_supplicant, we don't
> keep the information in gecko. The information is limited due to command
> response. What information would you like to have from getKnownNetworks API ?

Thanks Vincent, I would try to show its encryption method based on returned data like what we did in 2.1.
Whiteboard: [2.2-flame-reduced-run] → [2.2-flame-reduced-run], PTR1_BLOCK

Updated

3 years ago
status-b2g-v2.1S: --- → affected
Flags: needinfo?(styang)
Comment on attachment 8551121 [details] [review]
patch on master

Thanks for the patch. The only concern would be the signature of the function defined in `WifiUtils`. Details please check github.
Attachment #8551121 - Flags: review?(arthur.chen) → feedback+
[Blocking Requested - why for this release]:
I know it is already CC in 2.1 branch but this bug seems to be a regression so according to https://wiki.mozilla.org/B2G/Triage#Issues_that_Should_Block, I would like to nominate it to land in 2.1, 2.1S and 2.2.
blocking-b2g: 2.2? → 2.1?
Comment on attachment 8551121 [details] [review]
patch on master

Hi Arthur,

I just updated the patch with tests attached. For parameter problems, I did leave reasons why I prefer to have this kind of implementation on GitHub. Please go check it and hope this patch looks nice to you :)

And by the way, I also need you review for 2.1 patch, thanks !!
Attachment #8551121 - Flags: review?(arthur.chen)
Comment on attachment 8551121 [details] [review]
patch on master

The patch is looking good, r=me.
Attachment #8551121 - Flags: review?(arthur.chen) → review+
Comment on attachment 8551122 [details] [review]
patch on 2.1

r=me.
Attachment #8551122 - Flags: review?(arthur.chen) → review+

Comment 28

3 years ago
Triage: regression, blocking
blocking-b2g: 2.1? → 2.1+
Thanks Arthur, merged this patch to Gaia/master : https://github.com/mozilla-b2g/gaia/commit/aab627154bec76debe119adebebd6515f8d40004
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
status-b2g-v2.2: affected → fixed
Resolution: --- → FIXED
Comment on attachment 8551122 [details] [review]
patch on 2.1

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #): no
[User impact] if declined: Users would be not able to re-join hidden network after first time. All they can do is kill the Settings app and redo that again.
[Testing completed]: no
[Risk to taking this patch] (and alternatives if risky): low
[String changes made]: no

For v2.1 patch, there is no not-in-range problem, we mainly focus on fixing the problem that we set the value to the wrong properties.
Attachment #8551122 - Flags: approval-gaia-v2.1?
status-b2g-v2.2: fixed → affected
status-b2g-master: --- → fixed
Comment on attachment 8551121 [details] [review]
patch on master

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #): no
[User impact] if declined: Users will see not-in-range wordings on known networks but this is wrong.
[Testing completed]: yes
[Risk to taking this patch] (and alternatives if risky): low
[String changes made]: no

For v2.2/master patch, we expect that after connection to hidden network, forgetting the network, then attempting to reconnect to hidden network the connection will be successful. "Not in Range" text does not appear on known networks on Manage Networks screen and on WiFi list (if networks are in range).
Attachment #8551121 - Flags: approval-gaia-v2.2?

Updated

3 years ago
Attachment #8551121 - Flags: approval-gaia-v2.2? → approval-gaia-v2.2+

Updated

3 years ago
Attachment #8551122 - Flags: approval-gaia-v2.1? → approval-gaia-v2.1+
v2.2: https://github.com/mozilla-b2g/gaia/commit/7ab1f9c7484d44275bb2deb7f950b6656a2e33e3
v2.1: https://github.com/mozilla-b2g/gaia/commit/01bf4bd548be38a762c4e4582925159e6226dfa2
status-b2g-v2.1: affected → fixed
status-b2g-v2.2: affected → fixed
Target Milestone: --- → 2.2 S5 (6feb)

Updated

2 years ago
QA Contact: zikui.yang

Comment 33

2 years ago
Created attachment 8622809 [details]
1838.3gp

This bug has been verified as "pass" on latest build of Flame v2.1&v2.2&v3.0  
STR same as in comment 0.

Actual result:
After connecting to hidden network, forget the network, then retry connecting to hidden network. It will succeed. "Not in Range" text does not appear under known networks on “Manage Networks” and “WiFi” view.
Reproduce rate: 0/10
See attachment: 1838.3gp

Device information:
Device Flame 2.1:(pass)
Build ID               20150615001205
Gaia Revision          f8b848c82d1ed589f7a1eb5cc099830c867ff1d4
Gaia Date              2015-06-08 09:48:23
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/7d767fc15126
Gecko Version          34.0
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150615.040550
Firmware Date          Mon Jun 15 04:06:02 EDT 2015
Bootloader             L1TC000118D0

Device Flame 2.2:(pass)
Build ID               20150615002503
Gaia Revision          e7a0c6d5f4df04d45fb3f726efb9e8223600cb79
Gaia Date              2015-06-15 06:12:18
Gecko Revision         https://hg.mozilla.org/releases/mozilla-b2g37_v2_2/rev/f278c675d51f
Gecko Version          37.0
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150615.040806
Firmware Date          Mon Jun 15 04:08:18 EDT 2015
Bootloader             L1TC000118D0

Device Flame 3.0:(pass)
Build ID               20150615160205
Gaia Revision          0c073eda92b099bc008488e52edb0745c5f7975e
Gaia Date              2015-06-15 16:02:05
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/cd0d976e5f5c
Gecko Version          41.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150615.191939
Firmware Date          Mon Jun 15 19:19:48 EDT 2015
Bootloader             L1TC000118D0

Updated

2 years ago
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+] [MGSEI-Triage+]
status-b2g-v2.1: fixed → verified
status-b2g-v2.2: fixed → verified
status-b2g-master: fixed → verified
You need to log in before you can comment on or make changes to this bug.