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.


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.


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.


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.


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


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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.