I'm trying to get the Wi-Fi working (again) on my model 3. I am not using Raspbian.

Which kernel config settings and loaded modules are needed for the Wi-Fi device to show up in ifconfig -a?

Once the device is detected by the kernel, what wpa_supplicant settings are needed? For instance, I've found that wpa_supplicant needs -Dnl80211 for the built-in Wi-Fi while my USB based Wi-Fi dongle (RTL8188CUS) needs -Dwext.

Anything else I'm missing?

Bonus Question

How does the Bluetooth section of the wireless chip play into all of this? They're communicating to the SoC via a shared UART, correct?


I am running gentoo on my Raspberry Pi 3, compiling the raspberry pi kernel myself, which was all working well. I had the built-in Wi-Fi working great.

I modified the kernel source ever so slightly to add support for controlling the LEDs in a MagSafe connector (via 1-wire ds2413 module). This broke the built-in Wi-Fi support.

I've tried reverting the changes I made to no avail. This makes me believe there was some other recent change to the RPi linux fork / firmware that I missed.

  • you mean ifconfig -a. ipconfig is a Windows thing :) Easiest way to answer this is to load raspbian (which I know works on the RPi3, that's what I'm using), run lsmod and also look at the boot messages. I'd do it for you, but my 3 is currently off and I'm not at home. – JayEye Apr 21 '16 at 20:48
  • derp. Thanks for the correction. I'll check dmesg again. – Cameron Tacklind Apr 26 '16 at 9:14
  • I have the same issue, I just tried enabling bluetooth but it still does not want to come up. – Archimedes Trajano Jan 18 '17 at 21:00
  • I have raspberrypi-bootloader and firmware-brcm80211. From what I can tell the firmware files are present in /lib/firmware/brcm for the pi which are /lib/firmware/brcm/brcmfmac43430-sdio.bin and /lib/firmware/brcm/brcmfmac43430-sdio.txt but dmesg does not say anything about it – Archimedes Trajano Jan 18 '17 at 23:22
  • What worked for me was to connect to Ethernet for a while and then it should let the WiFi connect. – Peter_Paladin Dec 7 '17 at 12:11

I'm not exactly sure where Gentoo sits with Raspberry Pi compatibility, but best of luck!

If you take a look at ArchLinux and, more specifically Debian's documentation on using aarch64/amd64, you may find some hints.

Michael Stapelberg has some notes, and there is the Debian Raspberry Pi 3 Wiki that helps explain some of the new architecture, including how to get WiFi working. The current image comes with WiFi, so you'll have to look at instructions for images prior to the 2018 one.

I know that you're on Gentoo, but I'm curious if you could follow a similar set of instructions, which is to compile this module, and provide a missing .txt file (/lib/firmware/brcm/brcmfmac43430-sdio.txt).

The steps are documented here but consist of:

  1. Compiling your kernel with the Broadcom drivers
  2. Providing the missing .txt file: /lib/firmware/brcm/brcmfmac43430-sdio.txt
    • This paste is the current version as of June, 2018.
    • This is sourced from Raspbian firmware-brcm80211*.deb, so grabbing it from here is a 'better' way of getting the latest version.

You mention that you've had it working previously. I'm curious if the .txt is missing when you re-compile, incompatible, or if you've compared the files generated by your build to the original, working build.

As for your question around UART, yes, UART, WiFi and Bluetooth are all tied together. This issue discusses some of the limitations and user findings. On my Raspberry Pi that I use GPIO UART, I have disabled Bluetooth and have added core_freq=250 in /boot/config.txt. You'll want to read more information and updates about this, which will point you at the .dts and device tree documentation.

I'm not entirely sure what you're doing, but notro's fbtft framebuffer drivers are a great example of a 'module' that was brought into the mainline Raspberry Pi kernel, showing how to build a new module and how things surrounding that work.


On Debian for my Raspberry Pi 3, I just had to sudo apt install firmware-brcm80211 wireless-tools, then reboot, and I could then issue sudo ip link set dev wlan0 up and sudo iwlist wlan0 scan.

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.