외부 USB WiFi 어댑터를 핫 언플러그한 후 네트워크 관리자가 실패합니다.

외부 USB WiFi 어댑터를 핫 언플러그한 후 네트워크 관리자가 실패합니다.

내 Lubuntu 18.04가 외부 WiFi 어댑터를 통해 WiFi 네트워크에 연결되면 외부 WiFi 어댑터를 핫 언플러그합니다.

문제 증상:

  1. 외부 Wi-Fi 어댑터를 컴퓨터에 다시 연결하면 네트워크와 Wi-Fi가 모두 활성화되어 있어도 Wi-Fi 네트워크가 감지되지 않습니다.
  2. 출력에 표시되는 최상위 프로세스는 top다음과 같습니다.

     PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
     1068 root      20   0 1029552   8060   4864 R  85.7  0.1  29:25.70 NetworkManager
    

    패스 sudo kill 1068하거나 sudo service NetworkManager restart/stop 죽이려고 하면 sudo systemctl restart/stop NetworkManager영원히 정지됩니다.

    sudo이와 같은 명령을 실행하려고 하면 sudo pm-suspend똑같이 영원히 중단됩니다.

  3. 외부 WiFi 어댑터가 원래 연결되어 있던 노트북의 USB 포트도 Lubuntu를 다시 시작하지 않으면 다른 외부 장치에서 작동하지 않았습니다.

이 문제를 어떻게 해결할 수 있나요? Lubuntu를 다시 시작하지 않는 것이 좋습니다.

향후 문제를 방지하려면 어떻게 해야 합니까?

감사해요.


통나무:

이것/var/log/syslog문제가 발생한 시간의 일부 입니다 . (플래시 드라이브용 USB 포트를 확보하기 위해 키워드를 뽑은 다음 외부 WiFi 어댑터를 뽑아 프린터용 USB 포트를 확보한 다음 다시 연결했습니다.)

이것에서 journalctl --since "2 days ago".


USB 하위 시스템:

나도 팔로우했다https://www.linux.org/threads/resetting-the-usb-subsystem.10404/다음의 제안외부 USB WiFi 어댑터를 핫 언플러그한 후 네트워크 관리자가 실패합니다.

$ lsusb 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 048: ID 413c:2113 Dell Computer Corp. 
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 009: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 08ff:2810 AuthenTec, Inc. AES2810
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

$ lspci | grep USB
00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)

그러나 sudo명령이 작동하지 않는 것 같으므로 다음은 작동하지 않습니다 sudo(참조https://askubuntu.com/questions/1153207/lsusb-i-get-always-couldnt-open-device-is-this-normal):

$ lsusb -v -s 1:9 | grep iSerial
Couldn't open device, some information will be missing
  iSerial                 3 

$ sudo lsusb -v -s 1:9 | grep iSerial


$ lsusb -v -s 1:9

Couldn't open device, some information will be missing

Bus 001 Device 009: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x7392 Edimax Technology Co., Ltd
  idProduct          0x7811 EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
  bcdDevice            2.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           46
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           4
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1

답변1

Vasconcelos가 위에서 쓴 것처럼 "sudo service NetworkManager restart"(또는 유사하게 "sudo systemctl restart NetworkManager")는 현재 문제에 대한 해결책입니다.

NM은 네트워크를 관리하는 프로세스이기 때문에 "kill"을 사용하여 NetworkManager를 중지하는 것은 좋지 않습니다. 네트워크를 사용하는 모든 프로세스(커널 내의 일부 프로세스 포함)도 종료될 때까지 정상적으로 종료되지 않습니다. (글쎄, "kill -9"는 NM을 멈출 수도 있지만, 그러면 지저분한 상황이 남을 것입니다. 모든 스파크 플러그 와이어를 뽑아 신호등에서 차를 멈추는 것과 비슷합니다.)

여기에는 두 가지 해결책이 있습니다.

  1. "ip a"로 네트워크 인터페이스를 찾아 "sudo link set $NAME_OF_PORT down"으로 끄고 삭제하세요. 이렇게 하면 NM이 USB 포트를 차단하지 않으며 다른 USB 장치를 해당 포트에 연결할 수 있습니다.

  2. "sudo service NetworkManager stop"(또는 "sudo systemctl stop NetworkManager")을 사용하여 NM을 중지하고 무선 WiFi 어댑터를 제거한 다음 NetworkManager를 다시 시작하세요. 좀 더 강렬하지만 효과가 있을 것입니다.

그래도 효과가 없으면 제조업체에 문의하세요. 특히 일부 비표준 단계가 필요한 경우 사용자가 Linux 시스템에서 제품을 적절하게 제거할 수 있는 방법을 알아야 합니다. (그들의 웹사이트에 답변이 있을 수도 있으므로 답변을 어디서 찾을 수 있는지 아는 사람을 찾기 위해 지옥같은 콜센터를 거칠 필요가 없습니다.)

부록: 제가 "journalctl"을 언급한다는 것은 이것이 이 문제를 더 자세히 조사하는 데 필요한 도구라는 뜻입니다. 첨부한 스니펫을 보면 다양한 가능성이 보입니다. 하지만 그 중 어느 것도 문제가 되지는 않을 것이라고 확신합니다.

다음 단계를 시도해 보시기 바랍니다.

먼저 시스템을 알려진 안정적인 상태로 재부팅합니다. 그런 다음 sudo를 사용하여 명령을 실행하고 sudo nmcli con show명령이 중단 없이 완료되면 계속합니다. 그렇지 않다면 이 컴퓨터에 여기서는 진단할 수 없는 문제가 있는 것입니다. (운영 체제를 다시 설치해야 할 수도 있습니다. 이것이 가장 쉬운 해결 방법입니다.)

다음으로, sudo nmcli radio allWi-Fi가 작동하는지 확인해야 합니다.

이때 USB 무선기기를 삭제할 때마다 먼저 삭제 sudo nmcli radio wifi off한 후 기기를 삭제하세요. 그러면 NetworkManager가 검색을 중단하도록 지시하게 되는데, 이것이 문제의 원인인 것 같습니다. 그런 다음 장치를 다시 연결한 후 를 실행하면 sudo nmcli radio wifi onNetworkManager가 해당 장치를 찾기 시작합니다.

이 시점에서 나는 멈춰야 한다. 그래도 도움이 되지 않는다면, 제겐 아이디어가 없는 것입니다. 저는 아직도 Network Manager 사용법을 배우고 있는 중이라는 점을 인정합니다. 지금까지는 그것을 사용하지 않을 수 있었지만 이제는 배워야 합니다.

관련 정보