Wifi Privacy Switch without rebooting
#1
Lightbulb 
update 2020.06.16: some recent kernel update has changed the naming of the wifi device - now fe310000.mmc. For those who like a compact one-liner:

Code:
sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/{un,}bind <<< "$(basename /sys/devices/platform/fe310*)"



TL;DR: use the two commands here to restart the Wifi driver after powering the Wifi again with the Privacy Switch for Wifi (Pine + F11) :
Code:
$ echo 'fe310000.dwmmc' | sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/unbind
$ echo 'fe310000.dwmmc' | sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/bind



The full story :

(Moving to a more general thread, because currently my reply is burried in the middle of the Manjaro discussion)

Currently, the privacy switch for Wifi cannot put back Wifi on because soldered-on-motherboard SDIO modules aren't Plug'n'Play.

Here's what you normally see if you try the usual rmmod  + modprobe route:

Code:
$ sudo rmmod brcmfmac brcmutil cfg80211
$ modprobe brcmfmac
$ dmesg
[ 1299.511038] usbcore: deregistering interface driver brcmfmac
[ 1313.114017] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1313.114781] cfg80211: failed to load regulatory.db
[ 1313.132537] brcmfmac: probe of mmc0:0001:1 failed with error -110
[ 1313.133192] brcmfmac: probe of mmc0:0001:2 failed with error -110
[ 1313.133865] usbcore: registered new interface driver brcmfmac



There is a way though:

You can find the actual soldered device that answers on the mmcn mentioned above and unbind and re-bind it.

Code:
$ ls -d /sys/devices/platform/*.dwmmc/mmc_host/mmc0
/sys/devices/platform/fe310000.dwmmc/mmc_host/mmc0
$ ls -d /sys/devices/platform/*.dwmmc/mmc_host/mmc*/mmc*/mmc*/ieee80211
/sys/devices/platform/fe310000.dwmmc/mmc_host/mmc0/mmc0:0001/mmc0:0001:2/ieee80211
$ echo 'fe310000.dwmmc' | sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/unbind
$ echo 'fe310000.dwmmc' | sudo tee /sys/bus/platform/drivers/dwmmc_rockchip/bind
$ dmesg
[ 1845.593897] mmc0: card 0001 removed
[ 1849.712047] dwmmc_rockchip fe310000.dwmmc: IDMAC supports 32-bit address mode.
[ 1849.712707] dwmmc_rockchip fe310000.dwmmc: Using internal DMA controller.
[ 1849.713307] dwmmc_rockchip fe310000.dwmmc: Version ID is 270a
[ 1849.713840] dwmmc_rockchip fe310000.dwmmc: DW MMC controller at irq 27,32 bit host data width,256 deep fifo
[ 1849.714799] dwmmc_rockchip fe310000.dwmmc: allocated mmc-pwrseq
[ 1849.715321] mmc_host mmc0: card is non-removable.
[ 1849.728861] mmc_host mmc0: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[ 1849.777673] mmc_host mmc0: Bus speed (slot 0) = 148500000Hz (slot req 150000000Hz, actual 148500000HZ div = 0)
[ 1850.622467] dwmmc_rockchip fe310000.dwmmc: Successfully tuned phase to 47
[ 1850.627007] mmc0: new ultra high speed SDR104 SDIO card at address 0001
[ 1850.636215] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
[ 1852.731997] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
[ 1852.732808] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[ 1852.734049] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/9 wl0: Sep  7 2018 14:33:37 version 7.45.96.27 (42b546f@shgit) (r) FWID 01-c958c084 es7.c5.n4.a3
[ 1860.053215] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

Note -if I'm not mistaken :
  • the 'mmc0' numbering might change depending on how your OS enumerate its devices (see how /dev/mmcblk changes - on Manjaro the Wifi is on mmc0 and the internal eMMC is on mmc2, but on the factory shipped Debian - Wifi is on mmc2 and mmc0 has the external µSD)
  • but fe310000.dwmmc is how this soldered MMC interface is mapped to the Rockchip and is fixed accross OSes (it is set in the .dtb)

the bind + unbind trick can also be used if the Broadcom Wifi chip has gone crazy and needs restarting.

(source: other people with similar problems of soldered MMC modules)


Messages In This Thread
Wifi Privacy Switch without rebooting - by DrYak - 11-13-2019, 12:30 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Manjaro ARM: enabling external monitors & fixing Broadcom WiFi after updating trifleneurotic 2 1,635 11-14-2023, 10:57 AM
Last Post: trifleneurotic
  Unable to install Debian Bullseye because of missing wifi firmware Pino64 7 5,367 07-15-2023, 02:58 PM
Last Post: u974615
  5GHz wifi not working snorwood 11 7,486 01-16-2023, 03:41 PM
Last Post: ehcorn
  Pinebook Pro wifi not working Queliffrel 1 1,692 11-30-2022, 06:30 AM
Last Post: myself600
  WiFi stopped on Pinebook Pro after update tkudog 3 3,497 11-24-2022, 04:32 PM
Last Post: tkudog
  Archlinux - missing firmware for wifi adapter RudderDuck 9 6,347 11-07-2022, 04:56 PM
Last Post: wgahnagl
  Help with Kali Linux wifi not working but works with Manjaro PineSupporter 2 2,964 08-25-2022, 02:15 PM
Last Post: Niko
  Manjaro and Arch repository with privacy oriented software as400 86 133,610 04-27-2022, 07:44 AM
Last Post: annahellrothsparent
Information Found newer firmware for broadcom wifi (brcmfmac43456-sdio) cobratbq 2 3,885 04-12-2022, 02:36 PM
Last Post: cobratbq
  Pinebook Pro wifi not working seyo-iv 2 4,347 10-26-2021, 02:27 AM
Last Post: wangyukunshan

Forum Jump:


Users browsing this thread: 2 Guest(s)