Description of problem: With NetworkManager enabled in RHEL5.1, if you are connected to a wireless network (using ipw3945 driver) and do suspend/hibernate( S3/S4), upon resuming the wireless network is disabled. Two ways ot enable it: 1)Click the networking icon and uncheck the "Enable Networking" box then recheck the "Enable Networking" box 2) service NetworkManager restart Version-Release number of selected component (if applicable): NetworkManager-0.6.4-6.el5.x86_64.rpm ipw3945.ko version 1.2.0d How reproducible: Always Steps to Reproduce: 1.Install RHEL5.1 2.Enable NetworkManager service 3.Connect to a wireless network 4.Enter S3/S4 and resume Actual results: Wireless Network disabled ( refer to nm-applet icon) Expected results: Resume wireless connection Additional info:
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
This seems more like a driver issue; ipw2100 doesn't seem to have a problem here on RHEL 5.1 with suspend. Will try to get an ipw3945 and investigate.
Seen on a Dell Precision M6300 with kernel-2.6.18-53.1.4.el5 ipw3945d-1.7.22-2.el5 ipw3945-ucode-1.13-2.el5 kmod-ipw3945-1.2.0-4.8.el5
NM hits the ipw3945 driver too early after resume, before the driver has had the change to talk to the regulatory daemon. The driver returns an error because it doesn't yet have regulatory domain information, and NM then discards the device because it cannot get capability information from it.
ipw3945 takes ~3 seconds on the M6300 to become available after resume...
Fixes committed.
Dan Could you elaborate a bit on how this was fixed. Was it a driver + NetworkManager fix? This would help us in future debugging/understanding wireless and S3/S4 related issues. Thanks.. --rez
In this particular case, the bug was specific to the ipw3945 driver because it uses a userspace binary regulatory daemon. After resume when processes unfreeze, the ipw3945 driver took a few seconds (up to 3) to start talking to the regulatory daemon. At the same time, NM gets unfrozen and detects network devices again. It checks the wireless extensions support of the ipw3945 device, which is not yet ready to service WEXT requests because it hasn't sucessfully talked to the regulatory daemon yet, and returns an error. Because of this error, NM fails to detect the device as a wireless device. NM was patched to periodically retry the WEXT support ioctl (SIOCGIWRANGE) for a period of time to allow the ipw3945 driver to successfully initialize at resume time.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2008-0369.html