UPDATE:
I reenabled the bcm4313 by simply bringing up eth1 with:
Code:
sudo ifconfig eth1 up
now
gives me this:
Code:
*-network
description: Wireless interface
product: BCM4313 802.11b/g LP-PHY
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:04:00.0
logical name: eth1
version: 01
serial: 00:26:82:dd:24:d5
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=wl0 driverversion=5.60.48.36 latency=0 multicast=yes wireless=IEEE 802.11
resources: irq:17 memory:f2500000-f2503fff
But it still doesn't fix my problem and when I reload the wl module it comes back on DISABLED.
Code:
od@minion:~$ sudo modprobe -r wl
od@minion:~$ sudo modprobe wl
od@minion:~$ sudo lshw -C Network
[SNIP]
*-network DISABLED
description: Wireless interface
product: BCM4313 802.11b/g LP-PHY
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:04:00.0
logical name: eth1
version: 01
serial: 00:26:82:dd:24:d5
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=wl0 driverversion=5.60.48.36 latency=0 multicast=yes wireless=IEEE 802.11
resources: irq:17 memory:f2500000-f2503fff
UPDATE:
I said eth1 exists after resuming, but theres a difference (besides the not working LED) in
before the suspend:
Code:
eth1 IEEE 802.11 ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Bit Rate:8 Mb/s Tx-Power:24 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Managementmode:All packets received
Link Quality=5/5 Signal level=0 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
and after resume:
Code:
eth1 IEEE 802.11 Access Point: Not-Associated
Link Quality:5 Signal level:0 Noise level:0
Rx invalid nwid:0 invalid crypt:0 invalid misc:0
So, here's still something broken
UPDATE:
My card now works with the most recent wl driver I compiled from Broadcoms sourcecode.
Code:
od@minion:~$ dmesg |grep eth1
[ 6.961425] eth1: Broadcom BCM4727 802.11 Hybrid Wireless Controller 5.60.246.6
After resuming from suspend I just unload, load the wl driver and bring up eth1.
One Problem remained: wireless connections were always disabled in KNetworkManager after suspend. A Bug report on this issue has already been filed (which I can't find right now) against network-manager so it might be fixed some day.
Until then, this works for me:
- unload wl module
- load wl module
- bring up eth1
- restart networking
- restart network-manager
- wait 1 second
- send dbus command to (re)enable wifi
I wrote (found and modified) a script that takes care of my wifi after suspend.
Code:
#!/bin/sh
. "${PM_FUNCTIONS}"
resume_wifi()
{
# Remove and reload the module for the wifi card
modprobe -rf wl
modprobe wl
# bring up interface
ifconfig eth1 up
# restart networking and network-manager
restart networking
restart network-manager
# wait a sec
sleep 1
# enables wifi in Networkmanager
dbus-send --system --type=method_call --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.DBus.Properties.Set string:org.freedesktop.NetworkManager string:WirelessEnabled variant:boolean:true
}
case "$1" in
thaw|resume)
resume_wifi
;;
*) exit $NA
;;
esac
Just put it in /etc/pm/sleep.d/90fixwifi.sh, make it executable and go to sleep
Now wifi is always on after suspend, even if it was off before. I'll fix that ...
Bookmarks