It is impossible to hardware reset wifi adapter without reboot
by naikin from LinuxQuestions.org on (#54E1X)
Sometimes my wifi adapter enters an error state and after hours of searching, I have not found a way to hardware reset it without rebooting.
When I say error state, I mean that the hardware is not at all responding, so tricks such as restarting the networkmanager or bringing down the wlan0 peripheral using ip link are completely useless. Sometimes, reloading the driver works
Code:sudo modprobe -r brcmfmac && sudo modprobe brcmfmacHowever, this sometimes fails, the wifi device stops appearing in the output of ifconfig and no wifi networks are visible.
The output of dmesg is
Code:[161668.714290] debugfs: File 'le_min_key_size' in directory 'hci0' already present!
[161668.714292] debugfs: File 'le_max_key_size' in directory 'hci0' already present!
[161680.670394] usbcore: deregistering interface driver brcmfmac
[161680.721685] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[161680.721978] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[161680.727730] usbcore: registered new interface driver brcmfmac
[161680.832509] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43602-pcie for chip BCM43602/1
[161680.832860] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.Dell Inc.-XPS 15 9550.txt failed with error -2
[161680.832867] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.txt failed with error -2
[161681.335921] swiotlb_tbl_map_single: 3 callbacks suppressed
[161681.335923] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.335927] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.335929] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.335930] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.335932] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.335933] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.347185] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.347189] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.347191] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.359179] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.359184] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.359187] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.372162] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.372167] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.372169] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.384077] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.384080] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.384081] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.397171] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.397193] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.397194] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.409185] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.409187] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.409189] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.421021] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.421029] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.421031] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.433192] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.433195] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.433197] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.445191] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.445193] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.457188] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.457190] ieee80211 phy0: brcmf_msgbuf_rxbuf_ctrl_post: No PKTID available !!
[161681.457192] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.457193] ieee80211 phy0: brcmf_msgbuf_rxbuf_ctrl_post: No PKTID available !!
[161681.457981] ieee80211 phy0: brcmf_msgbuf_process_gen_status: Firmware reported general error: 9
[161683.504174] ieee80211 phy0: brcmf_msgbuf_query_dcmd: Timeout on response for query command
[161683.504177] ieee80211 phy0: brcmf_c_preinit_dcmds: Retrieving cur_etheraddr failed, -5
[161683.504178] ieee80211 phy0: brcmf_bus_started: failed: -5
[161683.504202] ieee80211 phy0: brcmf_attach: dongle is not responding: err=-5Looks like the device is in an error state. Is anyone aware of a way I can power it down and back up or send some code that will make it hardware reset, without rebooting my laptop?
OS: Slackware current
WIFI adapter:
Code: $ lspci | grep -i 802
02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC (rev 01)Laptop: Dell XPS15 9550


When I say error state, I mean that the hardware is not at all responding, so tricks such as restarting the networkmanager or bringing down the wlan0 peripheral using ip link are completely useless. Sometimes, reloading the driver works
Code:sudo modprobe -r brcmfmac && sudo modprobe brcmfmacHowever, this sometimes fails, the wifi device stops appearing in the output of ifconfig and no wifi networks are visible.
The output of dmesg is
Code:[161668.714290] debugfs: File 'le_min_key_size' in directory 'hci0' already present!
[161668.714292] debugfs: File 'le_max_key_size' in directory 'hci0' already present!
[161680.670394] usbcore: deregistering interface driver brcmfmac
[161680.721685] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[161680.721978] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[161680.727730] usbcore: registered new interface driver brcmfmac
[161680.832509] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43602-pcie for chip BCM43602/1
[161680.832860] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.Dell Inc.-XPS 15 9550.txt failed with error -2
[161680.832867] brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.txt failed with error -2
[161681.335921] swiotlb_tbl_map_single: 3 callbacks suppressed
[161681.335923] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.335927] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.335929] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.335930] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.335932] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.335933] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.347185] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.347189] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.347191] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.359179] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.359184] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.359187] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.372162] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.372167] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.372169] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.384077] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.384080] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.384081] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.397171] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.397193] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.397194] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.409185] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.409187] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.409189] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.421021] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.421029] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.421031] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.433192] brcmfmac 0000:02:00.0: swiotlb buffer is full (sz: 2048 bytes), total 32768 (slots), used 32768 (slots)
[161681.433195] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.433197] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.445191] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.445193] ieee80211 phy0: brcmf_msgbuf_rxbuf_data_post: No PKTID available !!
[161681.457188] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.457190] ieee80211 phy0: brcmf_msgbuf_rxbuf_ctrl_post: No PKTID available !!
[161681.457192] brcmfmac: brcmf_msgbuf_alloc_pktid: dma_map_single failed !!
[161681.457193] ieee80211 phy0: brcmf_msgbuf_rxbuf_ctrl_post: No PKTID available !!
[161681.457981] ieee80211 phy0: brcmf_msgbuf_process_gen_status: Firmware reported general error: 9
[161683.504174] ieee80211 phy0: brcmf_msgbuf_query_dcmd: Timeout on response for query command
[161683.504177] ieee80211 phy0: brcmf_c_preinit_dcmds: Retrieving cur_etheraddr failed, -5
[161683.504178] ieee80211 phy0: brcmf_bus_started: failed: -5
[161683.504202] ieee80211 phy0: brcmf_attach: dongle is not responding: err=-5Looks like the device is in an error state. Is anyone aware of a way I can power it down and back up or send some code that will make it hardware reset, without rebooting my laptop?
OS: Slackware current
WIFI adapter:
Code: $ lspci | grep -i 802
02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC (rev 01)Laptop: Dell XPS15 9550