The SSID gets connected directly without password entered properly in WiFi list

Bug #1604322 reported by Jin on 2016-07-19
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Undecided
Unassigned
indicator-network (Ubuntu)
Undecided
Unassigned
unity8 (Ubuntu)
Undecided
Lukáš Tinkl

Bug Description

Description:
The wifi AP get connected directly in OOBE/settings app,
when user is starting to input the password.

Reproduce Steps:
    a) Boot the Ubuntu device to enter the wifi SSID list in OOBE/settings
    b) Select one of the wifi ap in the SSID list
    c) Observe the connection status of the SSID behinds the password dialog

Expected Result:
The status need to be updated according to the password checking result.

Actual Result:
The status shows "connected" directly without entering the password.

Occurrence:
10/10 (100%)

Hardware Information:
    current build number: 6
    device name: midori
    channel: ubuntu-touch/testing/meizu.zh
    last update: 2009-12-31 19:09:56
    version version: 6
    version ubuntu: 20160713
    version device: 1f6553011b1e60b0452bab5e5b0c3a9f9aece23aeac4e2be52c4120f3e7d2391
    version custom: 20160708-982-8-4

Jin (jindallo) wrote :
information type: Public → Private
information type: Private → Public
Michał Sawicz (saviq) on 2016-07-20
affects: unity-api (Ubuntu) → unity8 (Ubuntu)
Changed in unity8 (Ubuntu):
assignee: nobody → Lukáš Tinkl (lukas-kde)
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity8 (Ubuntu):
status: New → Confirmed
Lukáš Tinkl (lukas-kde) wrote :

What happens here is that Network Manager already knows the password and so it automatically connects to the network. indicator-network shouldn't show the dialog in such case and even if it does, it should close the notification immediately when the network is connected.

Changed in unity8 (Ubuntu):
status: Confirmed → Incomplete
Jin (jindallo) wrote :

Hello Lukas,

Please see the reproducing steps I stated above,
no password pre-saved for that.

Which means the boot is the first boot,
no any password stored and the user just see the dialog for asking,
the first beginning password but the status shows "Connected".

It does not make sense since the network manager has no way to know the password,
without any input from user before.

Jin (jindallo) wrote :

The symptom can be reproduced in OOBE,
this is why I mentioned in subject of this bug and the meaning of "first boot".

Lukáš Tinkl (lukas-kde) wrote :

Yup, but... do you mean you have never ever connected to this wifi network before on this device?

Jin (jindallo) wrote :

Hello Lukas,

Exactly, never ever feed the password but it shows "Connected" directly.

It is quite easy to reproduce after reset-to-factory or image flashed,
by the way, I can confirm this issue in krillin, frieza and midori as well...

Lukáš Tinkl (lukas-kde) wrote :

That's what I meant - reflashing or factory resetting the device won't remove the previously remembered password.

You-Sheng Yang (vicamo) wrote :

@lukas-kde, the password doesn't exist on the device ever because it's a newly flashed device. Besides, even somehow the device did not remove the password after the flash process, which I don't really think so, then NetworkManager should have begin the connecting process and automatically connects the AP in a given short time period and indicator icon and the skip/next label should reflect this truth, but this just __doesnot__ happen. It's not about the password. Please focus on the entry connection state not being synced with indicator and skip/next label only.

And please don't set the bug status to Incomplete again.

Changed in unity8 (Ubuntu):
status: Incomplete → Confirmed
Jin (jindallo) wrote :

@Vicamo,

Many thanks for your update,
just confirmed "...not about the password...",
after discussed.

Also I can see such the symptom in settings -> WiFi,
not affect to OOBE only, so the subject need to be changed,
from "...in OOBE WiFi list" to "...in WiFi list".

Besides,
after reset to factory, all passwords seem to be removed properly,
    /etc/NetworkManager/system-connections/<SSID>
for your information.

My device information is as below:
    current build number: 796
    device name: krillin
    channel: ubuntu-touch/rc-proposed/bq-aquaris.en-proposed
    last update: 2016-07-27 19:05:38
    version version: 796
    version ubuntu: 20160727
    version device: 20160606-ab415b2
    version custom: 20160701-981-38-14

summary: The SSID gets connected directly without password entered properly in
- OOBE WiFi list
+ WiFi list
description: updated
You-Sheng Yang (vicamo) wrote :

I did not digg into Unity8 and qmenumodel too much but in ${unity8_srctop}/qml/Wizard/Pages/30-wifi.qml,

  LocalComponents.Page {
    readonly property bool connected: Connectivity.online

    Component {
      id: accessPointComponent
      ListItem {
        readonly property bool isConnected: menuData && menuData.actionState
        onClicked: {
          unityMenuModel.activate(menuIndex);
        }
      }
    }

    Component {
      id: forwardButton
      LocalComponents.StackButton {
        text: (connected || listview.count === 0) ? i18n.tr("Next") : i18n.tr("Skip")
        onClicked: pageStack.next()
      }
    }

Many irrelevant lines removed. So from above source code you see the forwardButton becomes "Next" when `Connectivity.online` evaluates to true, but the list items become "connected" when the `menuData.actionState` is valid. The latter is obviously wrong because its state is changed by the call `unityMenuModel.activate(menuIndex)`, which is always executed on item being clicked.

Please fix the qml accordingly.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in indicator-network (Ubuntu):
status: New → Confirmed
Lukáš Tinkl (lukas-kde) wrote :

readonly property bool isConnected: menuData && menuData.actionState

^^ this means "if action state is true" therefore the respective indicator-network action tells us the AP is connected. Nothing we can do about this in unity8 and as the comment #10 says, it also happens in system settings, therefore this bug is not specific to unity8.

Changed in unity8 (Ubuntu):
status: Confirmed → Incomplete
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers