Jak zrestartować połączenie WiFi?


64

Myślę, że nie mam problemu ze sprzętem. Czasami połączenie Wi-Fi po prostu się rozłącza. Więc niekoniecznie jest tak samo jak w tym przypadku , może nie będę musiał ponownie ładować żadnych modułów.

Ale jak zrestartować wlan0? Próbowałem restart network-manager, ale wydaje się, że to pozostawia w wlan0spokoju.

Odpowiedzi:


123

Musisz tylko ponownie uruchomić Menedżera sieci :

sudo service network-manager restart

5
W nowszych wersjach Ubuntu może być (w zależności od tego, czy system używa systemd) lepszy sudo systemctl restart NetworkManager.
TSJNachos117,

1
Działa dla mnie z systemem 16.04 na ThinkPad t420. Czy jest jakiś udokumentowany powód, dla którego musimy to zrobić?
mbigras

Haha, tak, ale na Ubuntu GNOME 17.04 sudo nie działa, gdy sieć zostanie wyłączona. Całkiem haczyk 22.
grofte

Ten nie działa dla mnie (Dell Inspiron 9400)
Hibou57

dodanie tylko service network-manager restartdo pliku na pulpicie lub skrótu działa ładnie (mimo to prosi o podanie)

15

Spróbuj tego:

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up

1
zakładając, że te interfejsy są zdefiniowane w /etc/network/interfacespliku. W przeciwnym razie możesz otrzymać niesławny Unknown interfacebłąd
asgs

14

Nie wymagają rootowania, na wypadek, gdy piszesz:

nmcli networking off 
nmcli networking on

Aby uzyskać więcej: man nmcli

EDYCJA :

Jak mówią ci goście w komentarzach, tylko dla WI-FI:

nmcli radio wifi off
nmcli radio wifi on

4
Miły! (+1) Aby bardziej sprecyzować połączenie Wi-Fi, można użyć: nmcli radio wifi offa następnienmcli radio wifi on
n1k31t4

1
@ n1k31t4 czy mógłbyś edytować tę odpowiedź? właśnie tego potrzebował PO i prawdopodobnie wiele innych osób patrzy na ten post.
asgs

6

Możesz spróbować zabić moc urządzenia. Zakładając, że nie jesteś w stanie / chce fizycznie odłączyć urządzenie, należy uruchomić (jako root): iwconfig wlan0 txpower off. Chciałbym odczekaj 10-15 sekund, aby upewnić się, co spowodowało problem sprzętowy problem został zatrzymany, a następnie: iwconfig wlan0 txpower auto.

Lub możesz po prostu uruchomić rfkill i zablokować / odblokować urządzenie. Aby to zrobić, uruchom rfkill block wifi, a następnie rfkill unblock wifi. Ta druga opcja powinna być szybsza, ponieważ wystarczy czekać 2-3 sekundy między poleceniami, a nie 10-15 sekund. W rzeczywistości na moim komputerze wcale nie muszę czekać, chociaż podejrzewam, że zależy to od sprzętu Wi-Fi. Tę opcję można również wykonać jako zwykły użytkownik, bez konieczności rootowania.

Możesz także zrestartować NetworkManager. Jeśli używasz systemctl jako systemu init (tak jak w przypadku nowszych wersji Ubuntu), możesz użyć systemctl restart NetworkManager. W przeciwnym razie możesz użyć sudo initctl restart network-manager. Jeśli nie wiesz, jakiego systemu init używasz, wypróbuj oba polecenia i sprawdź, co działa.


Jest to raczej problem programowy niż sprzętowy, ponieważ działał dobrze przed Ubuntu16.04 i wielu użytkowników cierpi na to samo z tą samą wersją Ubuntu.
Hibou57

2

Utworzono skrypt w oparciu o wcześniejsze porady dotyczące linków z pewnym mieszaniem i dopasowywaniem wcześniejszych linków. Działa to dla mnie pod Mint Linux 17.3.

Poniższy plik nie wymaga dostępu do konta root. Ponownie uruchamia WiFi tylko wtedy, gdy jest już wyłączone. Teraz muszę tylko dodać ten skrypt do zadania cron, aby sprawdzać moje połączenie Wi-Fi co 15 minut.

#!/bin/bash

wlan=$(/sbin/ifconfig wlan0 | grep inet\ addr | wc -l)
if [ $wlan -eq 0 ]; then
nmcli nm wifi on
else
echo "interface is up"
fi

+1 za wysiłek związany z automatyzacją procesu. -1, ponieważ ten skrypt nie zrestartuje połączenia Wi-Fi, uruchomi go tylko wtedy, gdy jest już wyłączony. Chociaż rozwiązałoby to problem, gdyby problem PO całkowicie zerwał połączenie. Jeśli jednak połączenie pozostanie aktywne z prawidłowym adresem IP, ale przestanie przesyłać dane, ten skrypt po prostu nie zadziała. -1 za posiadanie echoautomatycznego skryptu (cron'd).
Jim

2

„Przeładuj sterownik”

Znajdź nazwę modułu

Znajdźmy nazwę modułu jądra dla twojego połączenia bezprzewodowego:

sudo hwinfo --network

(Zainstaluj pakiet, hwinfojeśli go nie masz.)

Poszukaj nazwy modułu w wierszu „Driver”.

Załaduj ponownie moduł

Teraz rozładuj, a następnie ponownie załaduj moduł. Na przykład nazwa mojego modułu toiwlwifi

Możesz mieć szczęście, ale najprawdopodobniej otrzymasz ten komunikat o błędzie:

$ sudo modprobe -r iwlwifi
modprobe: FATAL: Module iwlwifi is in use.

Szukamy więc innych modułów, używając iwlwifi:

$ lsmod |grep iwlwifi
iwlwifi               241664  1 iwldvm
cfg80211              765952  4 iwldvm,iwlwifi,mac80211,rtl8187

Po lewej stronie znajduje się nazwa modułu, a po prawej pozostałe moduły go używają. Spróbujmy iwldvmnajpierw wyłączyć :

$ sudo modprobe -r iwldvm

Jeśli to zadziała, możemy teraz pomyślnie wyłączyć iwlwifi

$ sudo modprobe -r iwlwifi

A teraz ponownie włącz oba moduły w odwrotnej kolejności:

$ sudo modprobe iwlwifi
$ sudo modprobe iwldvm

Gotowy!

Jest to jedyna procedura, która działała dla mnie przy resetowaniu ustawień niskiego poziomu (frag, rate), których użyłem iwconfig.

Skutecznie wykonuje to „przeładowanie sterownika”.


0

Obejście polegające na użyciu „restartu systemctl NetworkManager” działa dla mnie na dwóch różnych notebookach z Broadcom i Atheros WiFi pod Debian Buster i Ubuntu 19.04 - gdzie problem z „Wi-Fi nie budzi się po wznowieniu” pojawia się przy co czwartym wznowieniu (= zwykle działa dobrze.) Najpierw próbowałem utworzyć program uruchamiający na pulpicie, aby ręcznie wywołać reset Wi-Fi, który działa i wymaga hasła - ale potem znalazłem kilka notatek od ludzi umieszczających klątwę resetowania w miejscach w systemie, które działają skrypty po wznowieniu. Mianowicie /lib/systemd/system-sleep/ wygląda na dobre miejsce na umieszczenie skryptu . I skryptpowinien lepiej przetestować niektóre warunki (uzyskane za pomocą argumentów cmdline), aby wiedzieć, że nadszedł właściwy czas na zresetowanie NetworkManagera. Przepraszamy za linkowanie zamiast wycinania i wklejania - nie poprosiłem tego autora o zgodę i może on również cieszyć się pozytywnymi opiniami za jego wkład w YouTube (od razu do rzeczy i dobrze opowiadany).

Poza tym zauważyłem kilka bardzo prostych i bezpośrednich rozwiązań pierwotnego problemu z Ubuntu 16.04: wifi.scan-rand-mac-address=now NetworkManager.conf lub nawet po prostu apt-get update && apt-get upgrade. Są to optymalne rozwiązania dla konkretnego błędu w 16.04. Prawdopodobnie nie są rozwiązaniem dla innych tego rodzaju problemów, które można obejść przez ciężki (ale dość szybki) restart NetworkManager przy każdym wznowieniu od zawieszenia.

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.