systemdがUSB WiFiアダプタを再接続した後、インターフェイスの名前を変更しません。

systemdがUSB WiFiアダプタを再接続した後、インターフェイスの名前を変更しません。

WiFiアダプタがあります。ASUS USB-AC53ナノ私自身のコンパイルされたrtl88x2buドライバを使用してください。パソコン起動時の機能のため予測可能なインターフェース名systemdを介して常にインターフェイス名(wlx+対応するMACアドレス)を取得します。場合によっては、アダプターを取り外してから後で再接続する必要があります。ただし、インターフェイス名が.に変更されますwlan0。その後、インターフェイス名でネットワーク接続を識別するため、NetworkManagerは古いWiFiパスワードを無視します。

再接続した後、エラーを示す次の行が見つかりました(詳細なsyslogは下にあり、MACアドレスはに置き換えられましたwlxAABBCCDDEEFF)。

wlan0: Network interface 'wlan0' is already up, refusing to rename to 'wlxAABBCCDDEEFF'.

プラグを抜く前にインターフェイスをシャットダウンするとrfkill問題がなくなります。つまり、インターフェイスの名前変更が成功します。しかし、インターフェイスが切断されるたびにこれを行うのは非常に迷惑です。 WiFiアダプタはホットプラグ可能である必要があり、インターフェイス名変更トリガーを無効にしたくありません。

だから私の質問は、rfkill状態を復元する前にインターフェイス名の変更操作を完了するようにsystemdに指示できますか?または、アダプタを再接続するたびに使用できるようにスクリプトを作成できますか?

以下は私のシステムログから抜粋したものです。 Ubuntu 22.04を使用しています。

Oct 14 20:05:55 qbane-pop kernel: [416632.769664] usb 1-9: USB disconnect, device number 15
Oct 14 20:05:55 qbane-pop dhcpcd[101874]: wlan0: removing interface
Oct 14 20:05:55 qbane-pop NetworkManager[808]: <info>  [1665749155.8863] device (wlan0): state change: disconnected -> unmanaged (reason 'removed', sys-iface-state: 'removed')
Oct 14 20:05:55 qbane-pop NetworkManager[808]: <info>  [1665749155.8906] device (p2p-dev-wlan0): state change: disconnected -> unmanaged (reason 'removed', sys-iface-state: 'removed')
Oct 14 20:05:55 qbane-pop NetworkManager[808]: <info>  [1665749155.9023] radio killswitch /sys/devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/ieee80211/phy4/rfkill4 disappeared
Oct 14 20:05:55 qbane-pop wpa_supplicant[881]: wlan0: CTRL-EVENT-DSCP-POLICY clear_all
Oct 14 20:05:55 qbane-pop systemd[1]: Starting Load/Save RF Kill Switch Status...
Oct 14 20:05:55 qbane-pop systemd[1]: Started Load/Save RF Kill Switch Status.
Oct 14 20:05:55 qbane-pop wpa_supplicant[881]: wlan0: CTRL-EVENT-DSCP-POLICY clear_all
Oct 14 20:05:55 qbane-pop wpa_supplicant[881]: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
Oct 14 20:05:55 qbane-pop kernel: [416632.837039] rtl88x2bu 1-9:1.0: Runtime PM usage count underflow!
Oct 14 20:05:56 qbane-pop kernel: [416633.108966] usb 1-9: new high-speed USB device number 16 using xhci_hcd
Oct 14 20:05:56 qbane-pop kernel: [416633.257416] usb 1-9: New USB device found, idVendor=0b05, idProduct=184c, bcdDevice= 2.10
Oct 14 20:05:56 qbane-pop kernel: [416633.257431] usb 1-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Oct 14 20:05:56 qbane-pop kernel: [416633.257439] usb 1-9: Product: 802.11ac NIC
Oct 14 20:05:56 qbane-pop kernel: [416633.257444] usb 1-9: Manufacturer: Realtek
Oct 14 20:05:56 qbane-pop kernel: [416633.257449] usb 1-9: SerialNumber: 123456
Oct 14 20:05:56 qbane-pop NetworkManager[808]: <info>  [1665749156.5956] device (wlan0): driver supports Access Point (AP) mode
Oct 14 20:05:56 qbane-pop NetworkManager[808]: <info>  [1665749156.5964] manager: (wlan0): new 802.11 Wi-Fi device (/org/freedesktop/NetworkManager/Devices/18)
Oct 14 20:05:56 qbane-pop mtp-probe: checking bus 1, device 16: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-9"
Oct 14 20:05:56 qbane-pop mtp-probe: bus: 1, device: 16 was not an MTP device
Oct 14 20:05:56 qbane-pop systemd-udevd[1127599]: Using default interface naming scheme 'v249'.
Oct 14 20:05:56 qbane-pop NetworkManager[808]: <info>  [1665749156.6197] rfkill5: found Wi-Fi radio killswitch (at /sys/devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/ieee80211/phy5/rfkill5) (driver rtl88x2bu)
Oct 14 20:05:57 qbane-pop kernel: [416634.154843] start_addr=(0x20000), end_addr=(0x40000), buffer_size=(0x20000), smp_number_max=(16384)
Oct 14 20:05:57 qbane-pop dhcpcd[101874]: wlan0: waiting for carrier
Oct 14 20:05:57 qbane-pop systemd-udevd[1127599]: wlan0: Network interface 'wlan0' is already up, refusing to rename to 'wlxAABBCCDDEEFF'.
Oct 14 20:05:57 qbane-pop NetworkManager[808]: <info>  [1665749157.2909] device (wlan0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Oct 14 20:05:57 qbane-pop mtp-probe: checking bus 1, device 16: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-9"
Oct 14 20:05:57 qbane-pop mtp-probe: bus: 1, device: 16 was not an MTP device
Oct 14 20:05:57 qbane-pop NetworkManager[808]: <info>  [1665749157.3798] device (wlan0): supplicant interface state: internal-starting -> disconnected
Oct 14 20:05:57 qbane-pop NetworkManager[808]: <info>  [1665749157.3799] Wi-Fi P2P device controlled by interface wlan0 created
Oct 14 20:05:57 qbane-pop NetworkManager[808]: <info>  [1665749157.3801] manager: (p2p-dev-wlan0): new 802.11 Wi-Fi P2P device (/org/freedesktop/NetworkManager/Devices/19)
Oct 14 20:05:57 qbane-pop NetworkManager[808]: <info>  [1665749157.3802] device (p2p-dev-wlan0): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external')
Oct 14 20:05:57 qbane-pop NetworkManager[808]: <info>  [1665749157.3805] device (wlan0): state change: unavailable -> disconnected (reason 'supplicant-available', sys-iface-state: 'managed')
Oct 14 20:05:57 qbane-pop NetworkManager[808]: <info>  [1665749157.3809] device (p2p-dev-wlan0): state change: unavailable -> disconnected (reason 'none', sys-iface-state: 'managed')

答え1

ルールを試してくださいudev

例えばudevルールファイル直接割り当てNAME=(たとえば、ファイルaを生成できます/etc/udev/rules.d/70-custom-names.rules)ルールファイルに次のルールを追加します。

ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan0", NAME="wlxAABBCCDDEEFF"

この回避策が機能しない場合、問題は他のudevルールに関連する順序/場所である可能性があります。

修正後にシステムを再起動または再起動したくない場合は、次のコマンドを試してください。

udevadm control --reload-rules

私の考えではこれ問題を解決するのに便利なリンクです。

このソリューションはカスタムLinuxディストリビューションで動作しますが、残念ながらUbuntuディストリビューションでは試すことはできません。

関連情報