NetworkManager stops working for wireless after going to sleep (both ram and disk) [newest Hardy; b43]

Bug #209970 reported by Petr Dlouhý
4
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: network-manager

On newest Hardy (1.4.2008) the NetworkManager is unable to configure wireless after going to sleep (ram and also disk) - there is no wireless in the dialog. Reloading of the b43 module is helpless as well as "/etc/init.d/networking restart" or "ifup -a && ifdown -a" - I didn't explore any way to get it back to work but restart. It was working in Gutsy and previous versions of Hardy.

My wireless card is:
01:04.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)

# lsb_release -rd
Description: Ubuntu hardy (development branch)
Release: 8.04

# apt-cache policy network-manager
network-manager:
  Instalovaná verze: 0.6.6-0ubuntu4
  Kandidát: 0.6.6-0ubuntu4
  Tabulka verzí:
 *** 0.6.6-0ubuntu4 0
        500 http://de.archive.ubuntu.com hardy/main Packages
        500 http://archive.ubuntu.com hardy/main Packages
        100 /var/lib/dpkg/status

ps: I hope, that this is not duplicate of #197177

Tags: b43 hardy suspend
Revision history for this message
Petr Dlouhý (petr-dlouhy) wrote :

Sorry for czech version (it is not bad idea to add the LANG="en_EN" to buckreporting guide)

# LANG="en_EN" apt-cache policy network-manager
network-manager:
  Installed: 0.6.6-0ubuntu4
  Candidate: 0.6.6-0ubuntu4
  Version table:
 *** 0.6.6-0ubuntu4 0
        500 http://de.archive.ubuntu.com hardy/main Packages
        500 http://archive.ubuntu.com hardy/main Packages
        100 /var/lib/dpkg/status

Revision history for this message
James Tait (jamestait) wrote :

I'll verify the symptoms, although I suspect it has more to do with the b43 driver not coping with re-initialising the card after suspend/hibernate.

I'm using an Acer Ferrari 4005 WLMi https://wiki.ubuntu.com/LaptopTestingTeam/AcerFerrari4005WLMi

jtait@ferrari:~$ uname -a
Linux ferrari 2.6.24-15-generic #1 SMP Fri Apr 4 03:10:59 UTC 2008 x86_64 GNU/Linux

Revision history for this message
James Tait (jamestait) wrote :
Changed in network-manager:
status: New → Confirmed
Revision history for this message
Petr Dlouhý (petr-dlouhy) wrote :

I have done some exploration, and I think, that it is problem of NetworkManager. It is possible to connect to the network from console through

ifconfig wlan0_rename up
iwconfig wlan0_rename ..................
dhclient wlan0_rename

; it is also possible to scan networks through iwlist scan.

I am also sending my dmesg.

Revision history for this message
James Tait (jamestait) wrote :

Agreed Petr. I did a little more digging earlier today and managed to get scan results immediately after resuming from suspend. When I can get physical access to my AP to reset the WPA2 key, which I've forgotten as I let the Gnome keyring remember it for me, I'll verify whether or not I'm able to actually get wireless connectivity without NM -- I think that is what you're suggesting is possible. If that is indeed the case, I wonder if some event isn't getting through to notify NM of the b43 interface availability after resume.

Running NM and NMDispatcher in no-daemon mode, then modprobe -r b43 followed by modprobe b43, I see no output from NMD, but NM gives:

NetworkManager: <debug> [1207433187.131214] nm_hal_device_removed(): Device removed (hal udi is '/org/freedesktop/Hal/devices/net_00_0e_9b_d3_ce_d0').
NetworkManager: <debug> [1207433187.156125] nm_hal_device_removed(): Device removed (hal udi is '/org/freedesktop/Hal/devices/ssb__null_').
NetworkManager: <debug> [1207433202.221719] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/ssb__null_').
NetworkManager: <debug> [1207433202.252308] nm_hal_device_added(): New device added (hal udi is '/org/freedesktop/Hal/devices/net_00_0e_9b_d3_ce_d0').

I'm not sure which way it's supposed to work, but it looks to me like NMD is responsible for calling /etc/network/if-up.d via /etc/NetworkManager/dispatcher.d/01ifupdown in response to NM interface events. I'm guessing somehow NMD isn't getting the interface events through.

Revision history for this message
Petr Dlouhý (petr-dlouhy) wrote :

1) You can get your password back from NetworkManager through "Edit wireless networks" and "show passwords".
2) Yes, I can get to wireless network without NM after suspend.

Revision history for this message
James Tait (jamestait) wrote :

1) I wasn't aware of that feature, is it new? Nonetheless, the value displayed in the dialogue box does not resemble any passphrase I would have entered -- at the very least it contains hex values for non-printable characters. Nor does it match the output from iwconfig.
2) I spent some time browsing through the NM source. I'm not familiar with it, but I think I identified a few places where some debug comments (in --no-daemon mode) would help us to understand what's going on. Hopefully I'll get chance this evening to take a look.

Revision history for this message
James Tait (jamestait) wrote :

Well my wireless stopped working altogether, which I managed to narrow down to NM wanting me to supply a passphrase but no dialogue box ever appearing. I've now got it working by hard-coding my wireless key into the source code, having had to fix some breakage in my build environment.

This has all been a tremendous learning experience for me, but hasn't advanced things any... until I noticed the following on resume:

lt-NetworkManager: <info> Going to sleep.
CTRL-EVENT-TERMINATING - signal 15 received
sendmsg(CTRL_IFACE monitor): No such file or directory
lt-NetworkManager: <WARN> request_and_convert_scan_results(): unknown error, or the card returned too much scan info: No such device
lt-NetworkManager: <debug> [1207782032.013115] nm_hal_device_removed(): Device removed (hal udi is '/org/freedesktop/Hal/devices/net_00_c0_9f_b7_79_2b').
lt-NetworkManager: <info> Deactivating device eth0.
lt-NetworkManager: <debug> [1207782032.352212] nm_hal_device_removed(): Device removed (hal udi is '/org/freedesktop/Hal/devices/computer_logicaldev_input_5').
lt-NetworkManager: <debug> [1207782032.352542] nm_hal_device_removed(): Device removed (hal udi is '/org/freedesktop/Hal/devices/net_00_0e_9b_d3_ce_d0_0').
lt-NetworkManager: <info> Deactivating device wlan0_rename.
lt-NetworkManager: <WARN> nm_device_802_11_wireless_get_mode(): error getting card mode on wlan0_rename: No such device

I hadn't noticed this before. Now I've seen it I'll attempt to follow up on that.

Revision history for this message
James Tait (jamestait) wrote :

Since applying some new updates yesterday evening this appears to have gone away. I still get an annoying series of beeps on resume, but the wireless works flawlessly through NM.

Linux ferrari 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 x86_64 GNU/Linux

I'm not sure if there's a way to tell which updates I applied yesterday, but I'm fairly sure one of them was an updated linux-restricted-modules (which also appears to have fixed breakage of my sound which occurred when I applied this kernel).

Revision history for this message
James Tait (jamestait) wrote :

I should probably also add that I'm still on pm-utils 0.99.2-3ubuntu8 -- I have the update to -3ubuntu9 still in my available updates, so it wasn't that update that fixed the problem.

Revision history for this message
Petr Dlouhý (petr-dlouhy) wrote :

It is working now also at my notebook, so I am closing the bug.

Changed in network-manager:
status: Confirmed → Fix Committed
Changed in network-manager:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.