Action Item #556


Enable Pi Zero W / RPi 3 Wifi

Added by Hammel over 7 years ago. Updated about 5 years ago.

Target version:
Start date:
23 Oct 2016
Due date:
% Done:


Estimated time:
01 - Critical


Actions #1

Updated by Hammel over 7 years ago

  • Target version changed from 0.13.0 to 0.12.0
Actions #2

Updated by Hammel over 7 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.

Actions #3

Updated by Hammel over 7 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.

Actions #4

Updated by Hammel about 7 years ago

  • Severity changed from 01 - Critical to 05 - Very Low
Actions #5

Updated by Hammel almost 6 years 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.

Actions #6

Updated by Hammel over 5 years ago

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

Updated by Hammel about 5 years 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.

Actions #8

Updated by Hammel about 5 years ago

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

Updated by Hammel about 5 years 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:
The reason we need to copy this from the RPi-Distro repo instead of the upstream 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.

Actions #10

Updated by Hammel about 5 years 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