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에 지시할 수 있습니까? 아니면 어댑터를 다시 연결할 때마다 사용할 수 있도록 스크립트를 만들 수 있나요?

다음은 내 시스템 로그에서 발췌한 내용입니다. 우분투 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 배포판에서는 시도해 볼 수 없습니다.

관련 정보