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:
- Compiling your kernel with the Broadcom drivers
- 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 youyour 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.