2

I have a raspberry pi 4 running Raspbian Buster. I'll be the first to admit this particular instalation is non-standard. It's been upgraded a version or two and was definitely active on my pi-3 if not my pi-2 as well. By that I mean I've popped the SD card from one and put it in the next, fixing the boot loader where necessary. So its possible probable that I don't have a few packages that are now shipped as standard with Raspbian.

For the first time I'm trying to get wireless working. At the moment I don't have a wireless interface listed when I type ip link. I suspect this is a simple matter of drivers, but am at a loss to find exactly what I need to install to get the wifi card to recognise.

For completeness here's the output of lsmod:

Module                  Size  Used by
bnep                   20480  2
hci_uart               40960  1
btbcm                  16384  1 hci_uart
serdev                 20480  1 hci_uart
bluetooth             389120  24 hci_uart,bnep,btbcm
ecdh_generic           28672  1 bluetooth
sg                     28672  0
brcmfmac              311296  0
vc4                   176128  0
brcmutil               16384  1 brcmfmac
sha256_generic         20480  0
cfg80211              614400  1 brcmfmac
v3d                    61440  0
drm_kms_helper        184320  1 vc4
rfkill                 28672  4 bluetooth,cfg80211
gpu_sched              28672  1 v3d
raspberrypi_hwmon      16384  0
hwmon                  16384  1 raspberrypi_hwmon
drm                   442368  5 v3d,vc4,gpu_sched,drm_kms_helper
bcm2835_codec          36864  0
bcm2835_v4l2           45056  0
v4l2_mem2mem           24576  1 bcm2835_codec
drm_panel_orientation_quirks    16384  1 drm
bcm2835_mmal_vchiq     32768  2 bcm2835_codec,bcm2835_v4l2
v4l2_common            16384  1 bcm2835_v4l2
videobuf2_vmalloc      16384  1 bcm2835_v4l2
videobuf2_dma_contig    20480  1 bcm2835_codec
snd_soc_core          192512  1 vc4
snd_bcm2835            24576  1
videobuf2_memops       16384  2 videobuf2_dma_contig,videobuf2_vmalloc
snd_compress           20480  1 snd_soc_core
videobuf2_v4l2         24576  3 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem
snd_pcm_dmaengine      16384  1 snd_soc_core
snd_pcm               102400  4 vc4,snd_pcm_dmaengine,snd_bcm2835,snd_soc_core
videobuf2_common       45056  4 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
snd_timer              32768  1 snd_pcm
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
snd                    73728  7 snd_compress,snd_timer,snd_bcm2835,snd_soc_core,snd_pcm
videodev              200704  6 bcm2835_codec,v4l2_common,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
media                  36864  3 bcm2835_codec,videodev,v4l2_mem2mem
vc_sm_cma              36864  1 bcm2835_mmal_vchiq
rpivid_mem             16384  0
uio_pdrv_genirq        16384  0
fixed                  16384  0
uio                    20480  1 uio_pdrv_genirq
ip_tables              24576  0
x_tables               32768  1 ip_tables
ipv6                  450560  46

Could anyone point me in the right direction of what I may be missing?


For completeness, the accepted answer led me to believe the required drivers are there, but there's a different problem. Here's the output from journalctl for future reference.

journalctl -b | grep brcmfmac

May 06 22:36:14 mercury kernel: brcmfmac: F1 signature read @0x18000000=0x15264345
May 06 22:36:14 mercury kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
May 06 22:36:14 mercury kernel: usbcore: registered new interface driver brcmfmac
May 06 22:36:15 mercury kernel: brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
May 06 22:36:16 mercury kernel: brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
5
  • the current raspbian image will run, unmodified on pi0 through to pi4 - so there would not be the need to "fix the bootloader" - something else you've done, perhaps added something to a file in /etc/modprobe.d or maybe even in /etc/sysctl.d is more likely to be the problem - also, check for wlan0 in the output of dmesg – Jaromanda X May 5 '20 at 22:52
  • I was misled by I have a raspberry pi 4 running Raspbian Buster - yes, I missed the point about it being upgraded "a version or two" - sorry for the intrusion – Jaromanda X May 6 '20 at 10:10
  • No worries, it happens ;-) – Philip Couling May 6 '20 at 10:15
  • If by "It's been upgraded a version or two" you mean "upgrading" from Stretch or Jessie this is unsupported - do a fresh install. – Milliways May 6 '20 at 12:31
  • @Milliways Unsupported by the Raspbian team doesn't mean unsupported by the community at large. Doing a "fresh install" would take a couple of weeks to completely rebuild the setup. That's why I migrated it the way I did in the first place. – Philip Couling May 6 '20 at 21:13
4

On a Raspberry Pi 4 only Raspbian Buster is running out of the box. On a Buster installation you will find the firmware with:

rpi ~$ apt list *raspberrypi*
Listing... Done
libraspberrypi-bin/testing,now 1.20200212-1 armhf [installed]
libraspberrypi-dev/testing,now 1.20200212-1 armhf [installed]
libraspberrypi-doc/testing,now 1.20200212-1 armhf [installed]
libraspberrypi0/testing,now 1.20200212-1 armhf [installed]
raspberrypi-archive-keyring/testing 2016.10.31 all
raspberrypi-artwork/testing 20150921 all
raspberrypi-bootloader/testing,now 1.20200212-1 armhf [installed]
raspberrypi-kernel-headers/testing 1.20200212-1 armhf
raspberrypi-kernel/testing,now 1.20200212-1 armhf [installed]
raspberrypi-net-mods/testing,now 1.3.0 all [installed]
raspberrypi-sys-mods/testing,now 20191105 armhf [installed]
raspberrypi-ui-mods/testing 1.20200218 all

addressed with:

rpi ~$ cat /etc/apt/sources.list.d/raspi.list
deb http://archive.raspberrypi.org/debian/ buster main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ buster main

It may help you to identify where to look for overlays. From the journal I find for the WiFi driver brcmfmac:

rpi ~$ journalctl -b | grep brcmfmac
May 05 22:46:12 raspberrypi kernel: brcmfmac: F1 signature read @0x18000000=0x15264345
May 05 22:46:12 raspberrypi kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
May 05 22:46:12 raspberrypi kernel: usbcore: registered new interface driver brcmfmac
May 05 22:46:12 raspberrypi kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
May 05 22:46:12 raspberrypi kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar  2 2020 23:30:41 version 7.45.202 (r724630 CY) FWID 01-72f6ece2
May 05 22:46:15 raspberrypi kernel: brcmfmac: power management disabled
May 05 23:14:13 raspberrypi kernel: brcmfmac: power management disabled

The most important here seems to be
Firmware: BCM4345/6 wl0: Mar 2 2020 23:30:41 version 7.45.202 (r724630 CY) FWID 01-72f6ece2

The package containing the driver I find with:

rpi ~$ apt search bcm4345
Sorting... Done
Full Text Search... Done
firmware-brcm80211/testing,now 1:20190114-1+rpt6 all [installed]
  Binary firmware for Broadcom/Cypress 802.11 wireless cards

Now its up to you to make it running on your system ;-)

UPDATE:
And yes, Philip was able to make it running on his system as he wrote in a comment:

there's a comment here about this error being caused by corrupt driver files. I downloaded a fresh copy of the driver for brcmfmac43455 from from here and everything worked fine.

4
  • Hmm. That is all installed. Guess it may not be drivers then. I'll loop back around and look for something else. Thanks for your answer. – Philip Couling May 6 '20 at 21:21
  • @PhilipCouling Do you also get a successful load of the firmware from the journal? – Ingo May 6 '20 at 21:34
  • looks like something isn't right in the journal. For completeness I'll add it to the end of my question, but for now I'll mark the question as resolved since it looks like the drivers are there. – Philip Couling May 6 '20 at 21:40
  • 1
    Hmm there's a comment here about this error being caused by corrupt driver files. I downloaded a fresh copy of the driver for brcmfmac43455 from from here and everything worked fine. Thanks very much for your help. That gave me a nudge in the right direction! – Philip Couling May 7 '20 at 10:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.