Raspberry Pi 3B+/4B で USB Wi-Fi モジュールを取り付けた際にオンボード Wi-Fi より先にナンバリングされてしまう問題の解決 [udev]

2020/01/28 追記
この設定を入れても稀に入れ替わりが発生するため、modprobe を用いてドライバロードの順序を制御する手法を別記事にて記述

Raspberry Pi 3B+/4B で USB Wi-Fi モジュールを取り付けると、オンボードの Wi-Fi よりも先に検出されてしまい、その結果 wlan0 が USB 側になってしまう場合があることを思い出した。
udev のルールを二行書くことで回避可能なので、それをメモしておく。

■現在のデバイス位置を確認

# ethtool -i wlan0
driver: brcmfmac
version: 7.45.154
firmware-version: 01-4fbe0b04
expansion-rom-version:
bus-info: mmc1:0001:1
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

この bus-info が今回のキモとなる値。
少なくとも RaspberryPi 3 Model B+ 及び RaspberryPi 4 Model B は同一だった。

■USB Wi-Fi モジュールを取り付けて、デバイスの位置を確認

# ethtool -i wlan1
driver: rt2800usb
version: 4.19.88-v7.1.el7.tsc
firmware-version: 0.36
expansion-rom-version:
bus-info: 1-1.1.2:1.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no

USB ポートの位置によって、bus-info が変動するので、心に決めたポートだけを使おう!

■udev のルールを記述

# vi /etc/udev/rules.d/99-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", KERNEL=="wlan*", SUBSYSTEMS=="pci", KERNELS=="mmc1:0001:1", NAME="wlan0"
SUBSYSTEM=="net", ACTION=="add", KERNEL=="wlan*", SUBSYSTEMS=="pci", KERNELS=="1-1.1.2:1.0", NAME="wlan1"

これで固定化されるはず。

カテゴリー: めも パーマリンク

1 Response to Raspberry Pi 3B+/4B で USB Wi-Fi モジュールを取り付けた際にオンボード Wi-Fi より先にナンバリングされてしまう問題の解決 [udev]

  1. ピンバック: Raspberry Pi 3B+/4B で USB Wi-Fi モジュールを取り付けた際にオンボード Wi-Fi より先にナンバリングされてしまう問題の解決 [modprobe] | まこぴかっと

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です