(Еще одна) проблема Wi-Fi после приостанавливает в Ubuntu 16.04

Я отправляю здесь как испытывание затруднений из-за Wi-Fi после того, как приостановят.

Я недавно купил новую pcie карту Wi-Fi (ССЫЛКА TP TL-WN881N), и все это работает отлично. К сожалению, кажется, что вещи становятся плохими, когда я поместил свой компьютер для сна, поскольку Wi-Fi не работает правильно после пробуждения.

В поверхности проблема является странной. Это действительно соединяется с сетью Wi-Fi, соединение, показал в nm-апплете, соединение кажется в порядке в ifconfig, маршруты прекрасны, но кажется, что драйверы входят в ошибочный режим, где я не могу даже проверить с помощью ping-запросов (или достигнуть в так или иначе), мой шлюз или любое другое местоположение.

Я попробовал различные меры, как тот здесь, Wi-Fi не работает, после приостанавливают после 16,04 обновлений или здесь Беспроводных сетей, не работающих после резюме в Ubuntu 14.04 и ни один из них не работал. Самая странная вещь, если я пытаюсь вручную перезапустить услуги администратора сети, вещи не становятся решенными, и вместо этого я даже получаю проблемы, перечисляющие сети Wi-Fi. Перезагрузка походит на единственный способ решить проблему до сих пор.

Вот некоторые детали о моей карте и драйвере:

$sudo lshw -class network
  *-network               
       description: Wireless interface
       product: RTL8192EE PCIe Wireless Network Adapter
       vendor: Realtek Semiconductor Co., Ltd.
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlp2s0
       version: 00
       serial: 30:b4:9e:72:08:78
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=rtl8192ee driverversion=4.10.0-32-generic firmware=N/A ip=192.168.2.2 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:127 ioport:d000(size=256) memory:f7100000-f7103fff

Спасибо!

править:

Решенный! Спасибо @WinEunuuchs2Unix, кажется, что путем применения похожего метода, чем тот, описанный здесь, переключатели значка сигнала WiFi к значку Ethernet (стрелки вниз) после Приостанавливают?, мне удалось решить проблему.

Условия не были точно тем же, и я должен был адаптировать решение. В основном перезапуск администратора сети не решает проблему, но разгрузка перезагрузки модуля ядра работала! Таким образом, вот то, как я адаптировал сценарий:

#!/bin/sh                                                                                     

# NAME: /lib/systemd/system-sleep/wifi-reset                                                  
# DESC: Resets Realtek WiFi after a long suspend.                                             
# DATE: Aug 25, 2017. Modified Aug 25, 2017.                                                  

MYNAME=$0                                                                                     

DRIVER=rtl8192ee                                                                              

restart_wifi() {                                                                              
    /usr/bin/logger $MYNAME 'restart_wifi BEGIN'                                              
    /sbin/modprobe -v -r $DRIVER # This removes the driver                                    
    /sbin/modprobe -v $DRIVER   # This starts the driver                                      
    #systemctl restart NetworkManager.service # network manager restart disabled as not needed
    /usr/bin/logger $MYNAME 'restart_wifi END'                                                
}                                                                                             

/usr/bin/logger $MYNAME 'case=[' ${1}' ]'                                                     
case "${1}/${2}" in                                                                           
    hibernate|suspend|pre*)                                                                   
    ;;                                                                                        
    resume|thaw|post*)                                                                        
        restart_wifi;;                                                                        
esac                                                                                          

Это работает отлично теперь :)

Спасибо, ребята!

2
задан 25 August 2017 в 05:09

4 ответа

Решенный! Спасибо @WinEunuuchs2Unix, кажется, что путем применения похожего метода, чем тот, описанный здесь, переключатели значка сигнала WiFi к значку Ethernet (стрелки вниз) после Приостанавливают?, мне удалось решить проблему.

Условия не были точно тем же, и я должен был адаптировать решение. В основном перезапуск администратора сети не решает проблему, но разгрузка перезагрузки модуля ядра работала! Таким образом, вот то, как я адаптировал сценарий:

#!/bin/sh                                                                                     

# NAME: /lib/systemd/system-sleep/wifi-reset                                                  
# DESC: Resets Realtek WiFi after a long suspend.                                             
# DATE: Aug 25, 2017. Modified Aug 25, 2017.                                                  

MYNAME=$0                                                                                     

DRIVER=rtl8192ee                                                                              

restart_wifi() {                                                                              
    /usr/bin/logger $MYNAME 'restart_wifi BEGIN'                                              
    /sbin/modprobe -v -r $DRIVER # This removes the driver                                    
    /sbin/modprobe -v $DRIVER   # This starts the driver                                      
    #systemctl restart NetworkManager.service # network manager restart disabled as not needed
    /usr/bin/logger $MYNAME 'restart_wifi END'                                                
}                                                                                             

/usr/bin/logger $MYNAME 'case=[' ${1}' ]'                                                     
case "${1}/${2}" in                                                                           
    hibernate|suspend|pre*)                                                                   
    ;;                                                                                        
    resume|thaw|post*)                                                                        
        restart_wifi;;                                                                        
esac                                                                                          

Это работает отлично теперь :)

Спасибо, ребята!

3
ответ дан 2 December 2019 в 02:46

У меня была подобная проблема, но с несколькими различиями все же.

Моим ноутбуком является Lenovo ThinkPad T470s под управлением Ubuntu 16.04.4 (гостеприимный) LTS.

После приостановки и возобновления, у меня было следующее поведение:

  • администратор сети перезапустил бы, и список сетей Wi-Fi будет в порядке,
  • это не имело бы никакого значения, был ли ПК приостановлен в течение кратковременного или долгого времени,
  • это на самом деле снова соединилось бы с Wi-Fi после резюме,
  • Я мог успешно проверить с помощью ping-запросов ПК на LAN,
  • Я ничего не мог проверить с помощью ping-запросов вне LAN и не мог соединиться с Интернетом.
  • (очень странный) перезапустив диск вручную однажды (см., фиксируют ниже), эта проблема пошла бы. Я мог приостановить и возобновиться, и Wi-Fi будет работать, не имея необходимость перезапускать драйвер во второй раз. Для репродуцирования проблемы я должен был перезагрузить и приостановить снова.

Перезапуск администратора сети (sudo systemctl restart network-manager.service) не устранил бы проблему. Остановка его, ожидание в течение некоторого времени и запуск его снова не зафиксировали бы его также.

Ручная фиксация

Для фиксации вручную я имел к:

  • определите мой драйвер Wi-Fi:

    $ sudo lshw -C network
      *-network
           description: Wireless interface
           product: Intel Corporation
           vendor: Intel Corporation
           physical id: 0
           bus info: pci@0000:3a:00.0
           logical name: wlp58s0
           version: 78
           serial: 00:e1:8c:dc:8c:7d
           width: 64 bits
           clock: 33MHz
           capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
           configuration: broadcast=yes driver=iwlwifi driverversion=4.13.0-43-generic firmware=31.560484.0 ip=192.168.0.9 latency=0 link=yes multicast=yes wireless=IEEE 802.11
           resources: irq:128 memory:ec100000-ec101fff
    
  • перезапустите драйвер:

    $ sudo /sbin/modprobe -r iwlwifi
    $ sudo /sbin/modprobe iwlwifi
    

Автоматическая фиксация

Для автоматического перезапуска драйвера после системного резюме я сделал somethings, подобные

Переключатели значка сигнала WiFi к значку Ethernet (стрелки вниз) после Приостанавливают?

то есть, я создал следующий сценарий iwlwifi-reset в /lib/systemd/system-sleep/, и сделанный этим исполняемый файл.

#!/bin/sh

# NAME: /lib/systemd/system-sleep/iwlwifi-reset
# DESC: Resets Intel WiFi after suspend.
# DATE: Jun 3, 2018.

MYNAME=$0

restart_wifi() {
    /usr/bin/logger $MYNAME 'restart_wifi BEGIN'
    /sbin/modprobe -r iwlwifi
    /sbin/modprobe iwlwifi
    /usr/bin/logger $MYNAME 'restart_wifi END'
}

/usr/bin/logger $MYNAME 'case=[' ${1}' ]'
case "${1}/${2}" in
    hibernate|suspend|pre*)
        ;;
    resume|thaw|post*)
        restart_wifi;;
esac
0
ответ дан 2 December 2019 в 02:46

В Ubuntu 18.04, чтобы заставить сценарий, который назовут на системное резюме, я должен был сделать выполняющие дополнительные шаги (я использую старый адаптер Edimax USB WiFi, таким образом, я назвал /lib/systemd/system-sleep/ сценарий edimax_wifi_wakeup):

  • Создайте "сервисный" файл: sudo vi /etc/systemd/system/sleep-resume.service
  • Его содержание:

    [Unit]
    Description=Edimax USB WiFi system suspend/resume handling
    Before=sleep.target
    StopWhenUnneeded=yes
    
    [Service]
    Type=simple
    RemainAfterExit=yes
    ExecStart=-/lib/systemd/system-sleep/edimax_wifi_wakeup suspend
    ExecStop=-/lib/systemd/system-sleep/edimax_wifi_wakeup resume
    
    [Install]
    WantedBy=sleep.target
    
  • Включите сервис sudo systemctl enable sleep-resume

0
ответ дан 2 December 2019 в 02:46

Это произошло после того, как у меня сработало несколько разных обходных путей: включая правильное представление SSID сети WIFI, значок сети WIFI (а не Ethernet на его месте) цвет значка (показывающий «подключено» и не пусто). Спасибо большое.

Единственное предложение для поиска подразумеваемого привода для тех, кто знает и использует его:

$ inxi -i
Network:
  Device-1: Intel 82566MM Gigabit Network driver: e1000e 
  IF: enp0s25 state: down mac: 00:xx:xx:xx:xx:xx 
  Device-2: Qualcomm Atheros AR93xx Wireless Network Adapter driver: ath9k 
  IF: wls3 state: up mac: 00:yy:yy:yy:yy:yy 
  IP v4: 192.168.188.144/24 type: dynamic scope: global 
  IP v6: fe80::abf3:8fd0:3e74:915f/64 scope: link 
  WAN IP: 5.90.33.85 

намного проще, мгновенно и полно других функций.

0
ответ дан 27 January 2020 в 11:11

Другие вопросы по тегам:

Похожие вопросы: