It was more of a hardware maintenance issue than a kernel driver issue.
Opening the back laptop cover, removing the mini PCI-E WLAN WiFi board and firmly re-seating it solved the problem. Also took the opportunity to blow dry (without the heater element) all the dust inside the laptop.
Greetings.
I'm running Jessie on an Acer Aspire 5745DG laptop with a Broadcom
BCM43225 wireless chip. Wireless LAN has always worked flawlessly
until recently when it started disconnecting abruptly, showing not
available then disappearing from Network Manager. This can happen
anytime between 10 minutes and 1 week of working with the only way of
recovering being a reboot. Both the open-source and proprietary
drivers produce the same results.
I have since purchased a USB WiFi adaptor (Realtek RT8188eu) as a fall
back measure but would prefer to have the main PCI WiFi adaptor
working again. Any help will be greatly appreciated.
My System.
a) Network controller: Broadcom Corporation BCM43225 802.11b/g/n (rev 01)
b) Driver Modules: brcmsmac, mac80211, cfg80211, bcma, brcmutil, cordic
c) Kernel: Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u4
(2016-02-29) x86_64 GNU/Linux
What I have Tried
a) Restart Network Manager
b) Unloading and reloading the drivers
c) Trying the proprietary wl driver
d) Setting REGDOMAIN in /etc/default/crda
e) Installing rfkill and ensuring Wireless is NOT soft or hard blocked.
f) Googling and trying instructions at
http://askubuntu.com/questions/503936/wireless-randomly-becoming-phantom-hardblocked-only-fixed-by-reboot
Dmesg Snippet
>
> [75536.589575] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: false (implement)
> [75536.589588] brcmsmac bcma0:0: brcms_ops_config: change power-save mode: false (implement)
> [75536.590676] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
> [75539.587022] wlan0: authenticate with e0:69:95:xx.xx.xx
> [75539.587103] wlan0: send auth to e0:69:95:xx.xx.xx (try 1/3)
> [75539.589717] wlan0: authenticated
> [75539.589961] wlan0: associate with e0:69:95:38:38:d3 (try 1/3)
> [75539.592452] wlan0: RX AssocResp from e0:69:95:38:38:d3 (capab=0x411 status=0 aid=4)
> [75539.593092] brcmsmac bcma0:0: brcmsmac: brcms_ops_bss_info_changed: associated
> [75539.593097] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: true (implement)
> [75539.593108] wlan0: associated
> [75539.593121] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
> [75539.596486] brcmsmac bcma0:0: wl0: brcms_c_d11hdrs_mac80211: \xffffffd8sۚ txop exceeded phylen 159/256 dur 1778/1504
> [75539.602524] brcmsmac bcma0:0: wl0: brcms_c_d11hdrs_mac80211: \xffffffd8sۚ txop exceeded phylen 137/256 dur 1602/1504
> [75563.605657] brcmsmac bcma0:0: brcms_ops_bss_info_changed: arp filtering: 1 addresses (implement)
> [81755.330981] brcmsmac bcma0:0: wl0: brcms_c_watchdog: dead chip
> [81755.462986] brcmsmac bcma0:0: ops->tx called while down
> [81755.988124] brcmsmac bcma0:0: brcmsmac: brcms_ops_bss_info_changed: disassociated
> [81755.988136] brcmsmac bcma0:0: brcms_ops_bss_info_changed: arp filtering: 1 addresses (implement)
> [81755.988140] brcmsmac bcma0:0: brcms_ops_bss_info_changed: qos enabled: false (implement)
> [81755.988145] brcmsmac bcma0:0: wl0: brcms_c_wme_setparams : no-clock
> [81755.988148] brcmsmac bcma0:0: wl0: brcms_c_wme_setparams : no-clock
> [81755.988151] brcmsmac bcma0:0: wl0: brcms_c_wme_setparams : no-clock
> [81755.988153] brcmsmac bcma0:0: wl0: brcms_c_wme_setparams : no-clock
> [81755.995598] cfg80211: Calling CRDA to update world regulatory domain
> [81756.115171] brcmsmac bcma0:0: ops->tx called while down
> [81756.115183] brcmsmac bcma0:0: ops->tx called while down
> ...
> ...
> [81756.283287] brcmsmac bcma0:0: ops->tx called while down
> [81756.330413] cfg80211: World regulatory domain updated:
> [81756.330419] cfg80211: DFS Master region: unset
> [81756.330421] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
> [81756.330426] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
> [81756.330429] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
> [81756.330433] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
> [81756.330437] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
> [81756.330441] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
> [81756.330444] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
> [81756.330447] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
> [81756.330451] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
> [81756.339190] brcmsmac bcma0:0: ops->tx called while down
> [81756.339202] brcmsmac bcma0:0: ops->tx called while down
> ...
> ...
> [81756.395272] brcmsmac bcma0:0: ops->tx called while down
--
Thanks & Regards
Alphonse Ogulla