首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Buildroot零W无线

Buildroot零W无线
EN

Unix & Linux用户
提问于 2017-10-04 19:52:47
回答 2查看 6.5K关注 0票数 4

有没有人让WiFi在Raspberry Pi的buildroot里工作?我在上面找不到任何网上笔记或漫游。

raspberrypi0_defconfig运行得相当好,但不包括无线。

我正在使用buildroot的最新版本,2017-08。我增加了rpi-wifi固件。连接到WiFi网络所需的最起码的软件包是什么?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2017-10-05 13:19:26

事实证明,错误的/etc/网络/接口和/或/etc/wpa_恳求者是罪魁祸首。在构建过程中,我一直在添加额外的包,所以我不能100%确定这些包是否都需要,但无论如何,这些都是我包括的:

硬件处理Hardware Handling -> Firmware -> linux-firmware -> Broadcom BRCM bcm43xxx Hardware Handling -> Firmware -> rpi-firmware (extended 'x' firmware) Hardware Handling -> Firmware -> Install DTB overlays Hardware Handling -> Firmware -> rpi-wifi-firmware Hardware Handling -> dbus Hardware Handling -> dbus-glib

网络应用Networking applications -> dhcpd Networking applications -> ifupdown scripts Networking applications -> iproute2 Networking applications -> iptables Networking applications -> wireless-tools (+install shared lib) Networking applications -> wpa_supplicant Networking applications -> wpa_supplicant - Enable 80211 support Networking applications -> wpa_supplicant - Enable EAP Networking applications -> wpa_supplicant - Install wpa_cli binary Networking applications -> wpa_supplicant - Install wpa_client shared library Networking applications -> wpa_supplicant - Install wpa_passphrase binary

我不认为任何其他类别都与WiFi网络相关。

/etc/网络/接口auto lo iface lo inet loopback allow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/etc/wpa_supplicant.conf ctrl_interface=/var/run/wpa_supplicant update_config=1 network={ ssid="OpenWrt" psk=<your psk key here> }

启动后我运行:wpa_supplicant -B -i wlan0 -W -D nl80211, wext -c /etc/wpa_supplicant.conf wpa_cli -B -i wlan0 -p /var/run/wpa_supplicant -a /sbin/wpa_action dhcpcd -q -w

因为它是嵌入式linux,所以我希望网络能够在引导后很好地发挥出来,并且需要首先启动一些更重要的东西。因此,我将把它添加到某个post引导脚本中。如果您希望在启动时启动您的接口,那么将它们添加到您的启动进程的某个位置。我会考虑这个问题的范围之外。

所以,这是可行的,它并不完美,但对于那些像我这样挣扎的人来说,这将是一个很好的起点。我非常肯定,并不是所有提到的包都是最小值,也不存在/sbin/wpa_action,但是如果不使用它,您将进入交互模式。一旦我对这个问题有了更好的把握,我就会进一步完善这个答案。欢迎提出建议!

票数 1
EN

Unix & Linux用户

发布于 2018-06-07 19:37:25

我还试图使用buildroot为RPi Zero W找到“最起码的无线”,所以这个Q&A在搜索结果上非常高。尽管最初的答案有些帮助,但肯定不是最好的答案,所以我认为值得分享我自己的发现:

使用buildroot 2018.02.2

代码语言:javascript
复制
make raspberrypi0_defconfig

清理你的配置。然后(进行menuconfig并)从目标包中选择以下内容:

代码语言:javascript
复制
Hardware Handling -> Firmware -> rpi-wifi-firmware
Networking applications -> wpa_supplicant
Networking applications -> wpa_supplicant - Enable 80211 support

其他所有必要的东西都应该预先选择好。

然后在/etc/网络/接口处

代码语言:javascript
复制
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

和at /etc/wpa_supplicant.conf

代码语言:javascript
复制
ctrl_interface=/var/run/wpa_supplicant
ap_scan=1

network={
   ssid="My WLAN"
   psk="my_wlan_password"
}

现在,我们仍然缺少一个秘密要素:无线网络驱动程序必须在网络脚本启动之前加载。您可以启用WCHAR支持(在工具链-menu上),以便让eudev作为/dev管理(在系统配置-menu上),它将自动处理驱动程序加载。实际上,如果你要把瑞银的设备连接到你的RPi上,我建议你这么做.

如果不是...but,请在rc脚本运行之前自己编辑/etc/inittab和mod探测brcmfmac:

代码语言:javascript
复制
...
# Load Wifi driver
::sysinit:/sbin/modprobe brcmfmac 

# now run any rc scripts
::sysinit:/etc/init.d/rcS
...

就这样。

更新21.03.2022。使用来自git://git.buildroot.net/buildroot的最新buildroot,似乎有一些更改:

  1. rpi-wifi-firmware被重命名为brcmfmac-sdio-firmware-rpi-wifi,在硬件处理时可以在brcmfmac_sdio-firmware-rpi下找到它。
  2. ctrl_interface=/var/run/wpa_supplicant at wpa_supplicant.conf似乎不再有效,也不再有必要了(如果它曾经有效的话)

我还发现,如果需要通过SSH访问wifi,则应该将OpenSSHhaveged配对,以加快随机生成器的初始化速度。没有它,引导时间可以是几分钟!

为了为直接无头访问做好充分的准备,并考虑到上述情况,我使用rpi-wifi包制作了一个外部buildroot库,它处理从wifi安装到SSH配置的所有必要配置:

rpi-wifi在我的建筑-外部回购

票数 10
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/396151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档