I am trying to build a working embedded system for Raspberry Pi Zero W with Buildroot. I'm testing it in QEMU for now. The system boots OK from sdcard.img, but the wifi drivers will not load. I am loading the wifi kernel module in an init script /etc/init.d/S39wifidrivers
:
#!/bin/sh
# Load Wifi driver
printf "Loading Wifi Driver: "
/sbin/modprobe brcmfmac
[ $? = 0 ] && echo "OK" || echo "FAIL"
But on boot I get the error message:
modprobe: can't change directory to '4.4.34+'. No such file or directory
If I recompile using mdev instead of the above script, I get the same error. I'm also getting two other boot errors that might be related -
Starting network: Successfully initialized wpa_supplicant
n180211: 'n180211' generic netlink not found
Failed to initialize driver 'n180211'
wlan0: Unsupported driver 'n180211'
And,
/bin/sh: can't access tty; job control turned off
Which prevents me from logging in to the getty. Any suggestions would be greatly appreciated, as I'm pretty far out of my depth here!
Here's my defconfig:
BR2_arm=y
BR2_arm1176jzf_s=y
BR2_CCACHE=y
BR2_KERNEL_HEADERS_4_4=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
BR2_ROOTFS_USERS_TABLES="../br-external/board/users.config"
BR2_ROOTFS_OVERLAY="../br-external/board/rootfs_overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi0w/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi0w/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c)/linux-83b36f98e1a48d143f0b466fcf9f8c4e382c9a1c.tar.gz"
BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-0-w"
BR2_PACKAGE_RPI_FIRMWARE=y
BR2_PACKAGE_RPI_WIFI_FIRMWARE=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_OPENSSH=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="80M"
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
And my ../br-external/board/rootfs_overlay/etc/network/interfaces
:
auto wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf -B
post-down killall -q wpa_supplicant
And my ../br-external/board/users.config
:
jez -1 jezgroup -1 =passwd /home/jez /bin/sh tty Comment
The output of ls output/target/lib/modules/
:
4.14.95
I tried changing that to 4.4.34+ just to see what would happen and the modprobe error went away, but it was followed by other errors complaining about the same thing.
Thanks in advance!!!!!!