Беспроводная сеть не работает после возобновления в Ubuntu 14.04

79

[Обновление]:
та же проблема существует в Kubuntu и решается таким же образом.
[Решено]:
применив следующую команду, nmcli nmя получил следующее:

Перед приостановкой

RUNNING         STATE           WIFI-HARDWARE   WIFI       WWAN-HARDWARE   WWAN      
running         connected       enabled         enabled    enabled         enabled  

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

После приостановки

RUNNING         STATE           WIFI-HARDWARE   WIFI       WWAN-HARDWARE   WWAN      
running         asleep          enabled         enabled    enabled         disabled

Как вы можете видеть, состояние спит, что означает, что наш дорогой сетевой менеджер все еще дремлет, поэтому для решения воспользуйтесь следующей командной строкой:
sudo nmcli nm sleep false
это говорит сетевому администратору проснуться. чтобы сделать это постоянным:
создайте скрипт, /etc/pm/sleep.dобращаясь к следующему (и не забудьте пометить скрипт как исполняемый):

#!/bin/sh

case "${1}" in
        resume|thaw)
        nmcli nm sleep false
                ;;
esac

Благодаря этому

Оригинальная проблема:

Я только что скачал Ubuntu 14.04 и установил на свой ноутбук: ASUS X61SL с процессором Intel P8400 Core2Duo x64.
Когда я закрываю крышку, система приостанавливается, но когда я снова открываю крышку и возобновляю работу, беспроводная сеть не активируется (сеть в целом отключена), и когда я выбираю «Включить сеть», ничего не происходит.
Это информация о моем беспроводном адаптере:

$ lspci | grep -i wireless
02:00.0 Network controller: Qualcomm Atheros AR928X Wireless Network Adapter (PCI-Express) (rev 01)  

Эта проблема отсутствовала в Ubuntu 13.04, Linux Mint Debian Edition или Debian 7 wheezy (GNOME или KDE).

Изменить: несколько тестов со следующими результатами:
Проблема влияет на мои беспроводные и проводные сети.
Примечание: мне нужно добавить pci=nomsiстроку в grub для загрузки.
При выходе из системы вручную, затем приостановить, затем возобновить, а затем войти в систему все работает нормально.
При приостановке напрямую во время входа в систему проблема возникает.
Блокировка и приостановка вызывает ту же проблему, что и прямая приостановка.
Также эта проблема, по-видимому, влияет на функцию выхода из системы: если вы выбрали выход из пользовательского меню на панели Unity, вы не выйдете из системы, но если вы используете командную строку, gnome-session-quit --logoutвы можете выйти из системы.
Теперь с lshw -C networkвыводом:
Normal (полнофункциональная сеть):

  *-network               
       description: Ethernet interface
       product: 191 Gigabit Ethernet Adapter
       vendor: Silicon Integrated Systems [SiS]
       physical id: 4
       bus info: pci@0000:00:04.0
       logical name: eth0
       version: 02
       serial: 00:24:8c:1e:f8:53
       size: 10Mbit/s
       capacity: 100Mbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=sis190 driverversion=1.4 duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:19 memory:fddfcc00-fddfcc7f ioport:cc00(size=128)
  *-network
       description: Wireless interface
       product: AR928X Wireless Network Adapter (PCI-Express)
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlan0
       version: 01
       serial: 00:15:af:e2:13:db
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath9k driverversion=3.13.0-24-generic firmware=N/A ip=6.6.6.8 latency=0 link=yes multicast=yes wireless=IEEE 802.11bgn
       resources: irq:16 memory:fdff0000-fdffffff

После возобновления («/etc/pm/config.d» не содержит «unload_modules»):

 *-network DISABLED      
       description: Ethernet interface
       product: 191 Gigabit Ethernet Adapter
       vendor: Silicon Integrated Systems [SiS]
       physical id: 4
       bus info: pci@0000:00:04.0
       logical name: eth0
       version: 02
       serial: 00:24:8c:1e:f8:53
       size: 10Mbit/s
       capacity: 100Mbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=sis190 driverversion=1.4 duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:19 memory:fddfcc00-fddfcc7f ioport:cc00(size=128)
  *-network DISABLED
       description: Wireless interface
       product: AR928X Wireless Network Adapter (PCI-Express)
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlan0
       version: 01
       serial: 00:15:af:e2:13:db
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath9k driverversion=3.13.0-24-generic firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11bgn
       resources: irq:16 memory:fdff0000-fdffffff

Когда я добавил файл unload_modules в каталог "/etc/pm/config.d", как предлагается здесь , после выхода из системы приостановить, возобновить, а затем войти в сеть работает, но я не могу подключиться к моей беспроводной сети.
Снова результат « lshw -C network После возобновления» («/etc/pm/config.d» содержит «unload_modules»):

 *-network DISABLED      
       description: Ethernet interface
       product: 191 Gigabit Ethernet Adapter
       vendor: Silicon Integrated Systems [SiS]
       physical id: 4
       bus info: pci@0000:00:04.0
       logical name: eth0
       version: 02
       serial: 00:24:8c:1e:f8:53
       size: 10Mbit/s
       capacity: 100Mbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=sis190 driverversion=1.4 duplex=half latency=0 link=no multicast=yes port=MII speed=10Mbit/s
       resources: irq:19 memory:fddfcc00-fddfcc7f ioport:cc00(size=128)
  *-network DISABLED
       description: Wireless interface
       product: AR928X Wireless Network Adapter (PCI-Express)
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:02:00.0
       logical name: wlan0
       version: 01
       serial: 00:15:af:e2:13:db
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath9k driverversion=3.13.0-24-generic firmware=N/A latency=0 link=no multicast=yes wireless=IEEE 802.11bgn
       resources: irq:16 memory:fdff0000-fdffffff

Содержимое 'unload_modules ", где:

SUSPEND_MODULES="$SUSPEND_MODULES ath9k"
SUSPEND_MODULES="$SUSPEND_MODULES sis190"

Где 'ath9k' - это мой беспроводной модуль, а 'sis190' - это мой модуль Ethernet.

Оссама Насер
источник
Я отключился вместо того, чтобы спать в моем статусе, как я могу решить проблему с этим? Спасибо
Луиджи Тибурзи
11
Если вы решаете свою собственную проблему, вы должны опубликовать ответ, а не включать ответ в свой вопрос.
Дункан Джонс
3
Все еще нет официального решения этой проблемы? Согласно чтению сообщения об ошибке нет. Но это очень удивительно, так как кажется, что это затрагивает довольно многих людей ...
Августин Ридингер
5
Команда nmcli nmжалуется:Object 'nm' is unknown
Алиреза
1
@umpirsky trynmcli general status
rsht

Ответы:

27

Вышеуказанные ответы не сработали для меня 14.10. После небольшого количества проб и ошибок я закончил с этим,

#!/bin/sh

case "${1}" in
  resume|thaw)
    nmcli r wifi off && nmcli r wifi on ;;
esac

Поместите это в /etc/pm/sleep.d/10_resume_wifi
Make it extable, sudo chmod 755 /etc/pm/sleep.d/10_resume_wifi и проблема должна быть решена немедленно.

Оваис Лоне
источник
1
это решило это для меня 15.04
STW
Почему бы не "выключиться" перед сном?
Петр Гладких
2
Для чего нужен «г»? Я получаю «Ошибка: объект« r »неизвестен». Кажется, это работает для меня: "NMCLI WIFI ON;" (Ubuntu 14.04 - ноутбук высокой точности Dell)
FizxMike
1
Работал для меня 16.04
тимкофу
@FizxMike rОпределяет объект 'radio' в моей версии nmcli(Ubuntu 16.04). Когда я печатаю nmcli r --help, я вижу доступные цели команды COMMAND := { all | wifi | wwan }и доступные команды [ on | off]. Я предполагаю, что до Ubuntu 14.10 было невозможно ориентироваться на отдельные объекты, которые контролируются NetworkManager.
MDMower
21

У меня есть решение, но оно просто для перезапуска вашего сетевого менеджера.

sudo service network-manager restart

Это не постоянное решение.

hmjha
источник
Это единственное решение, которое работало для меня 15.10 с Intel Wireless 7260
Антон Матосов
Это решение также работало 14.04 LTS и 14.10
hmjha
Работал. @hmjha Может быть, мы можем написать скрипт, /etc/pm/sleep.dкоторый проверяет, работает ли Wi-Fi, и перезапускает, network-managerесли нет?
Умпирский
@umpirsky да, мы можем сделать из этого метода также. Спасибо
хмха,
2
Работал для меня на Ubuntu 16.10. Однако, по-видимому, /etc/pm/sleep.d больше не используется. Я поместил его вместо этого в / lib / systemd / system-sleep, как: #! / Bin / sh case $ 1 в post) service network manager manager restart ;; esac
Марк
4

Сценарий, который наконец-то сработал для меня:

$ cat /etc/pm/sleep.d/10_resume_wifi 
#!/bin/sh

case "${1}" in
  resume|thaw) nmcli nm sleep false ;;
esac

$ ll /etc/pm/sleep.d/10_resume_wifi
-rwxr-xr-x 1 root root 70 mars  31 09:09 /etc/pm/sleep.d/10_resume_wifi

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

Августин Ридингер
источник
Могу ли я как-то проверить это, не делая его постоянным? Что делают команды?
Токам
Tokam, см. Мой комментарий выше к сообщению Овайса о том, что «nmcli nm wifi on» сначала работает в сценарии. По сути, поместив сценарий в каталог sleep.d, он будет выполнен во время возобновления и получит «resume» или «thaw». Сценарий проверяет наличие аргументов, передаваемых в сценарий, и выполняет команду nmcli (интерфейс командной строки Network Manager). Конкретная команда, которую я упомянул, эквивалентна нажатию на менеджер сети в строке состояния и проверке «Включить WiFi». Для проверки введите «nmcli nm help» в терминале. Также вам необходимо убедиться, что скрипт является исполняемым.
FizxMike
Это работает для меня на Mint Mate 18, который основан на Ubuntu 16.04.1.
Эрик Ван
0

У меня это работало на Ubuntu 14.04 на ноутбуке Dell Precision.

В терминале введите:

sudo nano /etc/pm/sleep.d/10_resume_wifi

Затем вставьте (Ctrl + V):

#!/bin/sh
case "${1}" in
resume|thaw)
    nmcli nm wifi on
    ;;
esac

Затем сделайте скрипт исполняемым:

sudo chmod +x /etc/pm/sleep.d/10_resume_wifi

Проверьте приостановку и проснитесь, чтобы увидеть WiFi!

FizxMike
источник
-3

Вы пытались сделать другой скрипт, как этот, введите в Кейт:

#/bin/sh

    case ![1] in
        ./bin/sh
        network="true"
        nmcli nm -c sleep=false -network
    endasc

и сохраните его как файл jsin7 в / etc / network, и назовите его network.d, и это может работать нормально.

Майкл
источник
1
Я думаю, что синтаксис недавно изменился, я nmcli nm sleep falseпоследовал, nm wifi onчтобы запустить его. +1 за совет!
Махмуд Аль-Кудси
Команда sudo nmcli nm sleep falseработает на меня, поэтому я не застрял. Но /etc/network/network.dсценарий не возобновляется автоматически. Если я попытаюсь выполнить это, я получу Syntax error: newline unexpected (expecting ")"). Не могли бы вы более подробно остановиться на 1. Почему это не работает? 2. Что должен делать сценарий (чтобы мы могли исправить это индивидуально)? 3. почему network.d? Спасибо!
Августин Ридингер
3
Что это должно делать? Что такое ![$]? Почему ./bin/sh? Ты /etc/networkтам, там не будет ./bin/sh. Что за jsin7файл? Заявления по делу заканчиваются esac, а не easc. Им также нужны переменная и условие.
Terdon