RPi-3 brcmfmac errors on boot

Michael Zoran mzoran at crowfest.net
Wed Nov 23 13:53:35 PST 2016


On Wed, 2016-11-23 at 16:45 -0500, Don Zickus wrote:
> On Wed, Nov 23, 2016 at 12:00:03PM -0800, Michael Zoran wrote:
> > On Wed, 2016-11-23 at 14:35 -0500, Don Zickus wrote:
> > > Hi,
> > > 
> > > I am trying to get bluetooth working on the RPi-3 and realized I
> > > needed some
> > > out-of-box drivers in Gerd's tree:
> > > 
> > > https://www.kraxel.org/cgit/linux/log/?h=bcm2837-wifi
> > > 
> > > Combining his tree with a patch to remove pwr
> > > 
> > > https://github.com/anholt/linux/commit/a44e87b47148c6ee6b78509f47
> > > e6a1
> > > 5c0fae890a
> > > 
> > > I can get the SDIO device detected and the brcmfmac driver to
> > > probe
> > > it.
> > > 
> > > However, that results in the following error message:
> > > 
> > > """
> > > brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl
> > > 0x50
> > > """
> > > 
> > > and neither the wifi nor bluetooth device get detected and added
> > > to
> > > the bus.
> > > 
> > 
> > I see this alot on the downstream tree if the firmware file hasn't
> > been
> > copied from Raspbian.   So just to ask an obvious question, did you
> > copy the firmware file?
> 
> Hi Michael,
> 
> Which firmware file would that be?  I see the driver trying to load
> the file
> and sort of succeed and fail (my debug statements are added below):
> 
> [  876.598387] brcmfmac:brcmf_sdio_probe_attach: brcmfmac: F1
> signature read @0x18000000=0x1541a9a6
> [  876.639996] usbcore: registered new interface driver brcmfmac
> [  876.640356] DON: Trying firmware path:
> /lib/firmware/updates/4.9.0-rc3.final2-bcm2837+/brcm/brcmfmac43430-
> sdio.bin
> [  876.640835] DON: Trying firmware path:
> /lib/firmware/updates/brcm/brcmfmac43430-sdio.bin
> [  876.641173] DON: Trying firmware path: /lib/firmware/4.9.0-
> rc3.final2-bcm2837+/brcm/brcmfmac43430-sdio.bin
> [  876.641595] DON: Trying firmware path:
> /lib/firmware/brcm/brcmfmac43430-sdio.bin
> [  876.643265] DON: requested firmware brcm/brcmfmac43430-sdio.bin,
> rc 0
> [  876.643693] DON: Trying firmware path:
> /lib/firmware/updates/4.9.0-rc3.final2-bcm2837+/brcm/brcmfmac43430-
> sdio.txt
> [  876.644278] DON: Trying firmware path:
> /lib/firmware/updates/brcm/brcmfmac43430-sdio.txt
> [  876.644652] DON: Trying firmware path: /lib/firmware/4.9.0-
> rc3.final2-bcm2837+/brcm/brcmfmac43430-sdio.txt
> [  876.645147] DON: Trying firmware path:
> /lib/firmware/brcm/brcmfmac43430-sdio.txt
> [  876.645594] brcmfmac mmc1:0001:1: Direct firmware load for
> brcm/brcmfmac43430-sdio.txt failed with error -2
> [  876.646000] DON: requested firmware brcm/brcmfmac43430-sdio.txt,
> rc -2
> [  877.681507] brcmfmac: brcmf_sdio_htclk: HT Avail timeout
> (1000000): clkctl 0x50
> [  878.695236] brcmfmac: brcmf_sdio_htclk: HT Avail timeout
> (1000000): clkctl 0x50
> 
> It finds /lib/firmware/brcm/brcmfmac43430-sdio.bin but then fails to
> find
> /lib/firmware/brcm/brcmfmac43430-sdio.txt, which makes sense for the
> files I
> have.
> 
> Not sure if that means the firmware was loaded, nor if those are even
> the
> right ones _to_ load.b
> 
> Cheers,
> Don

On my RPI I have both brcmfmac43430-sdio.bin and brcmfmac43430-sdio.txt 
so I think you need both.  If the firmware succeeds, then if I remember
it prints the firmware version and build time on the kernel log.

As you know, these files are probably copyrighted so I don't know if
this is for personal/testing use or if you are going to put it in a
distribution.  If you are going to put it in a distribution as you know
you may need to get permission from somebody...
 




More information about the linux-rpi-kernel mailing list