connect_wireless can unintentionally choose a non-wireless connection to connect to
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox |
Fix Released
|
Medium
|
Brendan Donegan | ||
checkbox (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Oneiric |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Output from requested commands:
[danne@
NAME UUID DEVICES DEFAULT VPN
Auto wiberg.nu 00d990e8-
[danne@
GENERAL.DEVICE: wlan0
GENERAL.TYPE: 802-11-wireless
GENERAL.DRIVER: brcmsmac
GENERAL.HWADDR: 48:5D:60:D1:94:CA
GENERAL.STATE: connected
CAPABILITIES.
CAPABILITIES.SPEED: 72 Mb/s
WIFI-PROPERTIES
WIFI-PROPERTIES
WIFI-PROPERTIES
WIFI-PROPERTIES
WIFI-PROPERTIES
AP1.SSID: 'TN_private_A394FY'
AP1.BSSID: 90:84:0D:F0:1D:81
AP1.MODE: Infrastructure
AP1.FREQ: 2442 MHz
AP1.RATE: 54 MB/s
AP1.SIGNAL: 32
AP1.SECURITY: WPA
AP1.ACTIVE: no
AP2.SSID: 'TROSKVERK12'
AP2.BSSID: 00:14:6C:78:8E:32
AP2.MODE: Infrastructure
AP2.FREQ: 2462 MHz
AP2.RATE: 54 MB/s
AP2.SIGNAL: 35
AP2.SECURITY: WEP
AP2.ACTIVE: no
AP3.SSID: 'mickeHemma'
AP3.BSSID: 00:1F:33:42:91:FB
AP3.MODE: Infrastructure
AP3.FREQ: 2417 MHz
AP3.RATE: 54 MB/s
AP3.SIGNAL: 45
AP3.SECURITY: WPA WPA2
AP3.ACTIVE: no
AP4.SSID: 'wiberg.nu'
AP4.BSSID: 68:EF:BD:FC:D3:21
AP4.MODE: Infrastructure
AP4.FREQ: 2447 MHz
AP4.RATE: 54 MB/s
AP4.SIGNAL: 85
AP4.SECURITY: WPA2
AP4.ACTIVE: yes
IP4-SETTINGS.
IP4-SETTINGS.
IP4-SETTINGS.
IP4-DNS1.DNS: 192.168.243.12
IP4-DNS2.DNS: 8.8.8.8
GENERAL.DEVICE: eth0
GENERAL.TYPE: 802-3-ethernet
GENERAL.DRIVER: atl1c
GENERAL.HWADDR: BC:AE:C5:A4:59:09
GENERAL.STATE: unavailable
CAPABILITIES.
CAPABILITIES.SPEED: unknown
WIRED-PROPERTIE
ProblemType: BugDistroRelease: Ubuntu 11.10
Package: checkbox 0.12.8
ProcVersionSign
Uname: Linux 3.0.0-12-generic i686
ApportVersion: 1.23-0ubuntu3
Architecture: i386
CheckboxSubmission: 996d1de4f6d61b1
CheckboxSystem: 9c26adf6eed2f68
Date: Tue Oct 18 23:24:44 2011Installatio
UpgradeStatus: No upgrade log present (probably fresh install)
[Impact]
Under certain cases (such as the reported one, where a VPN and the wireless connection had the same name) the connect_wireless script can become confused and attempt to bring up the non-wireless connection. This obviously makes the wireless tests fail even though the wireless connection may be working fine. Wireless is considered important for portable systems, so this will also wrongly and negatively affect the Ubuntu Friendly ratings of systems.
[Development fix]
Checkbox revision 1113 fixes this by including the connection types when calling "nm con list" and then grepping to select only the ones with type "wireless".
[Stable fix]
This is fixed in http://
[Test case]
- Configure a wireless and wired connections so that the name as returned in "nmcli -t -f NAME,TYPE con list" is the same for both.
- Ensure that the system is connected through wireless and the wired connection is not active (disconnect the cable).
- run /usr/share/
Expected result:
- All connections are brought down, and the wireless connection is re-brought up. End result: only wireless is connected.
Actual result:
- All connections are brought down, and nothing is brought back up (though an attempt will be made to wrongly activate the ethernet connection).
[Regression potential]
An attempt to bring up an ethernet connection would fail anyway, so even if we find no wireless connections when we previously found at least one (potentially not wireless) connection (which would result in a failed test either way) this doesn't regress from a previous, known-good behavior.
About the only possible regression case is if the output of nmcli con list ever returns wireless connections with a type other than "wireless", as they will then not be picked up by the grep section of the script, where previously they were picked up.
Related branches
- Daniel Manrique (community): Approve
-
Diff: 40 lines (+5/-3)2 files modifieddebian/changelog (+4/-2)
scripts/connect_wireless (+1/-1)
- Ubuntu Sponsors: Pending requested
-
Diff: 18858 lines (+9936/-3266)93 files modifiedcheckbox/application.py (+5/-5)
checkbox/contrib/persist.py (+5/-4)
checkbox/dispatcher.py (+201/-0)
checkbox/lib/bit.py (+5/-4)
checkbox/lib/config.py (+15/-2)
checkbox/lib/conversion.py (+131/-42)
checkbox/lib/dmi.py (+169/-18)
checkbox/lib/safe.py (+5/-0)
checkbox/lib/template.py (+1/-1)
checkbox/message.py (+4/-3)
checkbox/parsers/cpuinfo.py (+30/-41)
checkbox/parsers/cputable (+40/-0)
checkbox/parsers/cputable.py (+42/-0)
checkbox/parsers/deferred.py (+27/-0)
checkbox/parsers/dmidecode.py (+123/-0)
checkbox/parsers/meminfo.py (+46/-0)
checkbox/parsers/submission.py (+474/-383)
checkbox/parsers/udevadm.py (+178/-317)
checkbox_cli/cli_interface.py (+9/-1)
checkbox_gtk/gtk_interface.py (+4/-4)
data/whitelists/default.whitelist (+1/-0)
debian/changelog (+59/-0)
debian/po/ro.po (+118/-0)
examples/checkbox.ini (+1/-1)
gtk/checkbox-gtk.ui (+37/-37)
jobs/apport.txt.in (+0/-5)
jobs/audio.txt.in (+44/-24)
jobs/autotest.txt.in (+4/-2)
jobs/bluetooth.txt.in (+64/-52)
jobs/camera.txt.in (+19/-12)
jobs/codecs.txt.in (+16/-38)
jobs/cpu.txt.in (+3/-3)
jobs/daemons.txt.in (+11/-11)
jobs/disk.txt.in (+6/-5)
jobs/evolution.txt.in (+0/-26)
jobs/fingerprint.txt.in (+24/-20)
jobs/firewire.txt.in (+9/-8)
jobs/gcalctool.txt.in (+0/-52)
jobs/gedit.txt.in (+0/-22)
jobs/gnome-terminal.txt.in (+0/-12)
jobs/graphics.txt.in (+63/-51)
jobs/hibernate.txt.in (+9/-7)
jobs/info.txt.in (+47/-27)
jobs/input.txt.in (+15/-7)
jobs/install.txt.in (+1/-1)
jobs/keys.txt.in (+58/-45)
jobs/local.txt.in (+41/-6)
jobs/ltp.txt.in (+3/-2)
jobs/mago.txt.in (+4/-2)
jobs/mediacard.txt.in (+106/-84)
jobs/memory.txt.in (+8/-5)
jobs/miscellanea.txt.in (+19/-8)
jobs/monitor.txt.in (+43/-24)
jobs/networking.txt.in (+31/-32)
jobs/optical.txt.in (+56/-42)
jobs/panel_clock_test.txt.in (+18/-15)
jobs/panel_reboot.txt.in (+8/-6)
jobs/pcmcia-pcix.txt.in (+6/-3)
jobs/peripheral.txt.in (+27/-22)
jobs/phoronix.txt.in (+4/-2)
jobs/power-management.txt.in (+32/-18)
jobs/qa_regression.txt.in (+4/-2)
jobs/resource.txt.in (+15/-0)
jobs/screenshot.txt.in (+0/-13)
jobs/server-services.txt.in (+12/-12)
jobs/stress.txt.in (+18/-10)
jobs/suspend.txt.in (+52/-31)
jobs/usb.txt.in (+55/-36)
jobs/user_apps.txt.in (+337/-110)
jobs/wireless.txt.in (+9/-9)
plugins/apport_prompt.py (+1/-1)
plugins/launchpad_report.py (+6/-4)
plugins/persist_info.py (+2/-1)
plugins/resource_info.py (+14/-1)
plugins/system_info.py (+2/-2)
po/POTFILES.in (+0/-6)
po/ca@valencia.po (+2897/-0)
po/el.po (+229/-293)
po/en_GB.po (+240/-240)
po/gd.po (+2606/-0)
po/ja.po (+297/-335)
po/lt.po (+294/-357)
po/tr.po (+217/-177)
scripts/connect_wireless (+1/-1)
scripts/cpuinfo_resource (+13/-17)
scripts/dmi_resource (+55/-0)
scripts/hal_resource (+0/-5)
scripts/meminfo_resource (+15/-27)
scripts/package_resource (+6/-0)
scripts/udev_resource (+2/-2)
scripts/usb_test (+5/-3)
setup.cfg (+1/-7)
setup.py (+2/-0)
- Luke Yelavich (community): Approve
-
Diff: 279 lines (+82/-54)10 files modifiedcheckbox/contrib/persist.py (+5/-4)
checkbox/lib/safe.py (+5/-0)
checkbox/message.py (+4/-3)
checkbox_gtk/gtk_interface.py (+2/-4)
debian/changelog (+20/-0)
gtk/checkbox-gtk.ui (+37/-37)
jobs/input.txt.in (+1/-1)
plugins/persist_info.py (+2/-1)
scripts/connect_wireless (+1/-1)
scripts/usb_test (+5/-3)
summary: |
- wireless_before_suspend failed + connect_wireless can unintentionally choose a non-wireless connection to + connect to |
Changed in checkbox (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in checkbox: | |
status: | New → In Progress |
assignee: | nobody → Brendan Donegan (brendan-donegan) |
Changed in checkbox (Ubuntu): | |
assignee: | Brendan Donegan (brendan-donegan) → nobody |
Changed in checkbox: | |
importance: | Undecided → Medium |
milestone: | none → 0.12.9 |
Changed in checkbox (Ubuntu): | |
importance: | High → Medium |
Changed in checkbox: | |
status: | In Progress → Fix Committed |
Changed in checkbox (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in checkbox: | |
status: | Fix Committed → Fix Released |
description: | updated |
description: | updated |
Changed in checkbox (Ubuntu Oneiric): | |
status: | Fix Committed → Triaged |
tags: | removed: verification-failed |
Based on discussion with the original reporter, it seems "eth0" was mentioned by the wireless_ before_ suspend test, this leads me to believe that at the time of running the test, eth0 was connected and maybe the wireless interface wasn't. Another possibility was that some other wireless connections were configured thus confusing the test script.
Even though strictly speaking it's unconfirmed I'll set to importance: High as wireless testing needs to be reliable.