web-dev-qa-db-ja.com

Buildroot Zero-Wワイヤレス

Raspberry Pi Zero WのビルドルートでWiFiが動作している人はいますか?オンラインのメモやウォークスルーが見つかりません。

raspberrypi0_defconfigはかなりうまく機能しますが、ワイヤレスは含まれません。

私はbuildrootの最新のイテレーション、2017-08を使用しています。 rpi-wifi-firmwareを追加しました。 WiFiネットワークに接続するには、最低限どのパッケージが必要ですか?

4
svenema

不適切な/ etc/network/interfacesや/ etc/wpa_supplicantが原因であることが判明しました。ビルドの合間に追加のパッケージを追加しているので、これらがすべて必要かどうかは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/network/interfacesauto lo iface lo inet loopback allow-hotplug wlan0 iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/ etc/wpa_supplicant.confctrl_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であり、いくつかのより重要なものを最初に開始する必要があるため、起動後にネットワークがうまく立ち上がるようにしたいと思います。そのため、起動スクリプトのどこかに追加します。起動時にインターフェースを有効にしたい場合は、どこかで起動プロセスに追加してください。これは、この質問の範囲外と見なします。

だから、これはうまくいきます。完璧ではありませんが、私のような苦労した人にとっては良い出発点になるでしょう。記載されているすべてのパッケージが最低限必要なわけではないことは確かですが、/ sbin/wpa_actionも存在しませんが、省略した場合はインタラクティブモードに入ります。この回答をしっかり把握したら、この回答を絞り込みます。提案は大歓迎です!

1
svenema

また、buildrootを使用してRPi Zero Wの「最小限のワイヤレス」を見つけようとしたので、このQ&Aは検索結果で非常に高くなりました。元の回答はある程度役に立ったものの、それは間違いなく最良の回答ではないので、自分の調査結果を共有する価値はありますが。

Buildroot 2018.02.2の使用

make raspberrypi0_defconfig

あなたの設定をきれいにする。次に、(make menuconfigと)Target packagesから以下を選択します:

Hardware Handling -> Firmware -> rpi-wifi-firmware
Networking applications -> wpa_supplicant
Networking applications -> wpa_supplicant - Enable 80211 support

他に必要なものはすべて事前に選択されているはずです。

次に/ 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

そして/ etc/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1

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

そして今、まだ秘密の要素が不足しています:ネットワーキングinit-scriptsが開始する前に、wifiドライバーをロードする必要があります。あなたcouldWCHARサポートを有効にする(ツールチェーン-menuで)eudev/ dev managementとして(システム構成で) -menu)ドライバーのロードを自動的に処理します。実際、UBSデバイスをRPiに接続する場合は、これをお勧めします。

...しかし、そうでない場合は、rcスクリプトが実行される直前に/ etc/inittabおよびmodprobe brcmfmacを自分で編集します。

...
# Load Wifi driver
::sysinit:/sbin/modprobe brcmfmac 

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

それでおしまい。

8
Simo Erkinheimo