Sieć bezprzewodowa nie działa po wznowieniu pracy w Ubuntu 14.04

79

[Aktualizacja]:
Ten sam problem istnieje w Kubuntu i jest rozwiązany w ten sam sposób.
[Rozwiązany]:
Stosując następujące polecenie nmcli nm, otrzymałem następujące:

Przed zawieszeniem

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

jak widać stan jest podłączony, a reszta jest włączona i uruchomiona

Po zawieszeniu

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

jak widać, stan śpi, co oznacza, że ​​nasz drogi menedżer sieci wciąż drzemie, więc aby rozwiązać, skorzystaj z poniższego wiersza poleceń:
sudo nmcli nm sleep false
to każe menedżerowi sieci obudzić się do diabła. aby uczynić to stałym:
utwórz skrypt /etc/pm/sleep.dzawierający następujące elementy (i nie zapomnij oznaczyć skryptu jako wykonywalnego):

#!/bin/sh

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

Dzięki temu

Pierwotny problem:

Właśnie pobrałem Ubuntu 14.04 i zainstalowałem na swoim laptopie: ASUS X61SL z procesorem Intel P8400 Core2Duo x64.
Kiedy zamykam pokrywę, system jest zawieszony, ale kiedy ponownie otwieram pokrywę i wznawiam, sieć bezprzewodowa nie jest aktywowana (sieć jako całość jest wyłączona), a kiedy wybieram „Enable Networking” nic się nie dzieje.
Oto informacje o mojej karcie sieci bezprzewodowej:

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

Ten problem nie występował w Ubuntu 13.04, Linux Mint Debian Edition lub Debian 7 wheezy (GNOME lub KDE).

Edycja: kilka testów z następującymi wynikami:
Problem dotyczy mojej sieci bezprzewodowej i przewodowej.
Uwaga: muszę dodać pci=nomsilinię do gruba, aby uruchomić.
Podczas ręcznego wylogowywania, a następnie zawieszenia, wznowienia, a następnie zaloguj się, wszystko działa dobrze.
Podczas zawieszania bezpośrednio po zalogowaniu występuje problem.
Blokowanie i zawieszanie powoduje ten sam problem, co bezpośrednie zawieszanie.
Ten problem dotyczy także wylogowania: jeśli wybierzesz wylogowanie z menu użytkownika w panelu jedności, nie wylogujesz się, ale jeśli użyjesz wiersza poleceń gnome-session-quit --logout, możesz się wylogować.
Teraz z lshw -C networkwyjściem:
Normalny (w pełni funkcjonalny sieci):

  *-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

Po wznowieniu („/etc/pm/config.d” nie zawiera „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

Kiedy dodałem plik unload_modules do katalogu „/etc/pm/config.d” zgodnie z sugestią tutaj , po wylogowaniu, zawieszeniu, wznowieniu, a następnie zalogowaniu się do sieci działa, ale nie mogę połączyć się z moją siecią bezprzewodową.
Ponownie wynik lshw -C network Po wznowieniu („/etc/pm/config.d” zawiera „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

Zawartość „unload_modules” gdzie:

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

Gdzie „ath9k” to mój moduł bezprzewodowy, a „sis190” to mój moduł Ethernet.

Ossama Nasser
źródło
Rozłączyłem się zamiast spać w swoim statusie. Jak mogę rozwiązać problem? Dzięki
Luigi Tiburzi
11
Jeśli rozwiążesz własny problem, powinieneś opublikować odpowiedź, a nie uwzględniać odpowiedzi w swoim pytaniu.
Duncan Jones
3
Nadal nie ma oficjalnej poprawki tego problemu? Jak czytając raport o błędzie nr. Jest to jednak bardzo zaskakujące, ponieważ wydaje się, że dotyczy wielu osób ...
Augustin Riedinger,
5
Komenda nmcli nmnarzeka:Object 'nm' is unknown
Alireza
1
@umpirsky trynmcli general status
rsht

Odpowiedzi:

27

Powyższe odpowiedzi nie działały dla mnie 14.10. Po trochę prób i błędów skończyłem z tym,

#!/bin/sh

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

Po włączeniu opcji /etc/pm/sleep.d/10_resume_wifi
Wykonaj, sudo chmod 755 /etc/pm/sleep.d/10_resume_wifia problem powinien zostać natychmiast naprawiony.

Owais Lone
źródło
1
rozwiązało to dla mnie 15.04
STW
Dlaczego nie „wyłączyć” przed snem?
Petr Gladkikh
2
Do czego służy „r”? Pojawia się komunikat „Błąd: Obiekt„ r ”jest nieznany.” To wydaje mi się działać: „nmcli nm wifi włączone;” (Ubuntu 14.04 - precyzyjny laptop Dell)
FizxMike
1
Pracował dla mnie 16.04
timkofu
@FizxMike rOkreśla obiekt „radio” w mojej wersji nmcli(Ubuntu 16.04). Kiedy piszę nmcli r --help, widzę, że dostępne są cele polecenia, COMMAND := { all | wifi | wwan }a dostępne są [ on | off]. Podejrzewam, że przed Ubuntu 14.10 nie było możliwe kierowanie na pojedyncze obiekty kontrolowane przez NetworkManager.
MDMower
21

Mam rozwiązanie, ale służy ono tylko do ponownego uruchomienia menedżera sieci.

sudo service network-manager restart

To nie jest trwałe rozwiązanie.

hmjha
źródło
To rozwiązanie jest jedynym, które działało dla mnie 15.10 z Intel Wireless 7260
Anton Matosov
To rozwiązanie działa również w 14.04 LTS i 14.10
hmjha
Pracował @hmjha Może możemy napisać skrypt /etc/pm/sleep.dsprawdzający, czy wifi działa i uruchamia się ponownie, network-managerjeśli nie?
umpirsky
@umpirsky tak, możemy również zrobić z tej metody. Dzięki
hmjha,
2
Pracował dla mnie na Ubuntu 16.10. Jednak najwyraźniej /etc/pm/sleep.d nie jest już używany. Umieszczam go zamiast tego w / lib / systemd / system-sleep, jako: #! / Bin / sh case $ 1 post) usługa restart menedżera sieci ;; esac
Marc Rochkind,
4

Skrypt, który w końcu dla mnie zadziałał:

$ 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

Druga odpowiedź zawiera literówki (wiem, że można je naprawić), ale i tak nigdy dla mnie nie działały.

Augustin Riedinger
źródło
Czy mogę jakoś to przetestować, nie czyniąc go trwałym? Co robią polecenia?
tokam
Tokam, zobacz mój komentarz powyżej do postu Owaisa o „nmcli nm wifi on” działającego jako pierwszy w skrypcie. Zasadniczo, umieszczając skrypt w katalogu sleep.d, zostanie on wykonany w czasie wznawiania i przejdzie „wznawianie” lub „odwilż”. Skrypt sprawdza, czy którykolwiek z argumentów jest przekazywany do skryptu i wykonuje polecenie nmcli (interfejs wiersza poleceń Network Managera). Konkretne polecenie, o którym wspomniałem, jest równoważne z kliknięciem menedżera sieci na pasku stanu i zaznaczeniem „Włącz WiFi”. W celu weryfikacji wpisz „nmcli nm help” w terminalu. Musisz także upewnić się, że skrypt jest wykonywalny.
FizxMike
Działa to dla mnie na Mate Mate 18, który jest oparty na Ubuntu 16.04.1.
Eric Wang,
0

To działało dla mnie na Ubuntu 14.04 na laptopie Dell Precision.

W terminalu wpisz:

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

Następnie wklej (ctrl + v):

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

Następnie uczyń skrypt wykonywalnym:

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

Przetestuj zawieszenie i obudź się, aby zobaczyć wifi na !!

FizxMike
źródło
-3

Czy próbowałeś zrobić inny skrypt, taki jak ten, wprowadzony do Kate:

#/bin/sh

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

i zapisz go jako plik jsin7 w / etc / network i nazwij go network.d, a to może działać poprawnie.

Michael
źródło
1
Myślę, że składnia niedawno zmienił, ja Kredyty isssued nmcli nm sleep falsenastępnie nm wifi ondostać to działa. +1 za wskazówkę!
Mahmoud Al-Qudsi
Polecenie sudo nmcli nm sleep falsedziała dla mnie, więc nie utknąłem. Ale /etc/network/network.dskrypt nie wznawia się automatycznie. Jeśli spróbuję to wykonać, dostanę Syntax error: newline unexpected (expecting ")"). Czy mógłbyś być bardziej szczegółowy na 1. Dlaczego to nie działa? 2. Co powinien zrobić skrypt (abyśmy mogli go naprawić indywidualnie)? 3. Dlaczego network.d? Dzięki!
Augustin Riedinger
3
Co to ma zrobić? Co to jest ![$]? Dlaczego ./bin/sh? Jesteś w /etc/networkśrodku, nie będzie jej ./bin/shtam. Co to jest jsin7plik? Oświadczenia o sprawach kończą się esac, a nie easc. Potrzebują także zmiennej i warunku.
terdon