Action Item #556

Enable Pi Zero W / RPi 3 Wifi

Added by Hammel over 2 years ago. Updated 2 months ago.

Status:ClosedStart date:23 Oct 2016
Priority:UrgentDue date:
Assignee:Hammel% Done:

100%

Category:-
Target version:-
Severity:01 - Critical

Description

Associated revisions

Revision c951ae12
Added by Hammel 12 months ago

RM #556: Add brcmfmac firmware to build. Make it possible to specify install directories for both kernel firmware and downloaded firmware objects like brcmfmac's txt file.

Revision c951ae12
Added by Hammel 12 months ago

RM #556: Add brcmfmac firmware to build. Make it possible to specify install directories for both kernel firmware and downloaded firmware objects like brcmfmac's txt file.

Revision 59207ec1
Added by Hammel 2 months ago

RM #556: Pull brcmfmac43430-sdio.txt from RAW github url so we get the proper configuration text instead of a GitHub HTML response. This is what was keeping the Pi Zero W from making the wifi interface available.

History

#1 Updated by Hammel over 2 years ago

  • Target version changed from 0.13.0 to 0.12.0

#2 Updated by Hammel over 2 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

Note that it may be possible to run RPi2 code on the RPi3, but the port would allow for optimization of the toolchain for that processor.

#3 Updated by Hammel over 2 years ago

  • % Done changed from 10 to 30

Pi2 build boots fine on the Pi3, however it doesn't support the on-board wifi. Digging around it seems the wifi is custom and the module driver to load is the brcmfmac. This module is available in my RPi2 build.

Also, there are firmware files that need to be installed under /lib/firmware/brcm. This firmware is not included in my RPi2 build.

Might get some additional help from the RPi Distro repo on github.

Note that it seems that the Pi3 wifi may have some issues. It may not have good range without an antenna.

The Bluetooth appears to be loaded but I'm not really positive of that yet.

#4 Updated by Hammel about 2 years ago

  • Severity changed from 01 - Critical to 05 - Very Low

#5 Updated by Hammel 12 months ago

I added the brcmfmac firmware (a .bin and a .txt) to the firmware handling in the core builds. However, I wasn't able to get the wifi working on a Model 3 yet. For now, at least the firmware is present and appears to allow the driver module to load.

#6 Updated by Hammel 9 months ago

  • Priority changed from Immediate to Urgent
  • Severity changed from 05 - Very Low to 02 - High

#7 Updated by Hammel 3 months ago

  • Project changed from PiBox to Xeon
  • Category deleted (01 - Cross Toolchain)
  • Target version deleted (0.12.0)
  • Severity changed from 02 - High to 01 - Critical

Moving to project Xeon because the Pi Zero W is being used there.

#8 Updated by Hammel 2 months ago

  • Subject changed from Port to RPi 3 to Enable Pi Zero W / RPi 3 Wifi

#9 Updated by Hammel 2 months ago

  • % Done changed from 30 to 70

Finally figured this one out. I'm downloading a config file for the brcmfmac firmware called brcmfmac43430-sdio.txt, but I was doing it from a direct link out of github. This got me an HTML page instead of the configuration file. So the driver loaded and pretended to load the firmware but the wlan0 device never became available.

The fix is to use the correct RAW url: https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/master/brcm/brcmfmac43430-sdio.txt
The reason we need to copy this from the RPi-Distro repo instead of the upstream kernel.org firmware repo is that this file is not included in the upstream. It's only available from the RPi-Distro repo for some reason.

Putting that config file in with the actual firmware brought the wifi device up, ready to be configured for use. Now I just need to add the MAC address to my local network.

As long as the RPi-Distro repo remains available this will work. It's arguable that I should put this firmware in the PiBox repo but it probably belongs in a local mirror that PiBox can pull from. Still the file is very tiny so adding it to the PiBox source tree is not really a big deal. I may do that later. For now, I pull from RPi-Distro.

#10 Updated by Hammel 2 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 70 to 100

Changes tested, committed and pushed.

Closing issue.

Also available in: Atom PDF