Как перезагрузить WiFi соединение?


64

Я думаю, что у меня нет проблем с оборудованием. Иногда соединение WiFi просто отключается, по-видимому. Так что это не обязательно то же самое, что и в этом случае , мне может не потребоваться перезагрузка каких-либо модулей.

А как просто перезагрузить wlan0? Я пытался restart network-manager, но это, кажется, оставить в wlan0покое.

Ответы:


123

Вам просто нужно перезапустить Network Manager :

sudo service network-manager restart

5
В более новых версиях Ubuntu может быть лучше (в зависимости от того, использует ли система systemd) sudo systemctl restart NetworkManager.
TSJNachos117

1
У меня работает 16.04 на ThinkPad T420. Есть ли документированная причина, почему мы должны это сделать?
Мбиграс

Хаха, да, но в Ubuntu GNOME 17.04 sudo не работает, когда сеть отключается. Вполне улов 22.
grofte

У меня этот не работает (Dell Inspiron 9400)
Hibou57

Добавление только service network-manager restartв файл рабочего стола или ярлык работает хорошо (в любом случае просит пройти)

15

Попробуй это:

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up

1
при условии, что эти интерфейсы определены в /etc/network/interfacesфайле. Иначе, вы можете получить печально известную Unknown interfaceошибку
спрашивает

14

Они не нуждаются в root, если вы пишете сценарий:

nmcli networking off 
nmcli networking on

Для большего: man nmcli

РЕДАКТИРОВАТЬ :

Как говорят эти парни в комментариях, только для WI-FI:

nmcli radio wifi off
nmcli radio wifi on

4
Приятно! (+1) Просто, чтобы сделать его более конкретным для подключения Wi-Fi, можно использовать: nmcli radio wifi offзатемnmcli radio wifi on
n1k31t4

1
@ n1k31t4 не могли бы вы отредактировать этот ответ, пожалуйста? это именно то, что нужно ОП, и, вероятно, многие другие люди смотрят на этот пост.
просит

6

Вы можете попробовать отключить питание вашего устройства. Предполагая , что вы не может / не хочет физически отключить устройство, вы должны работать (как корень): iwconfig wlan0 txpower off. Я бы тогда подождать 10-15 секунд , чтобы убедиться , что все , что аппаратная проблема вызвала проблема была остановлена, то: iwconfig wlan0 txpower auto.

Или вы можете просто запустить rfkill и заблокировать / разблокировать ваше устройство. Для этого запустите rfkill block wifi, а затем rfkill unblock wifi. Эта вторая опция должна быть быстрее, так как вам нужно только подождать 2-3 секунды между командами, а не 10-15 секунд. На самом деле, на моей машине мне вообще не нужно ждать, хотя я подозреваю, что это зависит от вашего оборудования WiFi. Эта опция также может быть сделана обычным пользователем, без рута.

Вы также можете перезапустить NetworkManager. Если вы используете systemctl в качестве системы инициализации (как в случае с более новыми версиями Ubuntu), вы можете использовать systemctl restart NetworkManager. В противном случае вы можете использовать sudo initctl restart network-manager. Если вы не знаете, какую систему инициализации вы используете, попробуйте обе команды и посмотрите, что работает.


Это скорее программная проблема, чем аппаратная проблема, поскольку до Ubuntu16.04 она работала нормально, и несколько пользователей страдают от одной и той же версии Ubuntu.
Hibou57

3

«Перезагрузить драйвер»

Найти название модуля

Найдем название модуля ядра для вашего беспроводного соединения:

sudo hwinfo --network

(Установите пакет, hwinfoесли у вас его нет.)

Найдите имя модуля в строке «Драйвер».

Перезагрузите модуль

Теперь выгрузите и перезагрузите модуль. Например, мой модуль называетсяiwlwifi

Возможно, вам повезет, но, скорее всего, вы получите следующее сообщение об ошибке:

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

Итак, мы ищем другие модули, используя iwlwifi:

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

Слева - название модуля, а справа - другие модули, использующие его. Итак, давайте iwldvmсначала попробуем отключить :

$ sudo modprobe -r iwldvm

Если это работает, то теперь мы можем успешно отключить iwlwifi

$ sudo modprobe -r iwlwifi

А теперь снова включите оба модуля в обратном порядке:

$ sudo modprobe iwlwifi
$ sudo modprobe iwldvm

Готово!

Это единственная процедура, которая сработала для меня при сбросе настроек низкого уровня (фрагмента, скорости), которые я установил с помощью iwconfig.

То, что он делает эффективно, это «перезагрузить драйвер».


2

Создан скрипт, основанный на предыдущих советах по ссылкам, с некоторым смешиванием и сопоставлением предыдущих ссылок Это работает для меня под управлением Mint Linux 17.3.

Файл ниже не требует root-доступа. Это также только перезапускает Wi-Fi, только если он уже выключен. Теперь мне просто нужно добавить этот скрипт в работу cron, чтобы проверять мое соединение Wi-Fi каждые 15 минут или около того.

#!/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 за усилия по автоматизации процесса. -1 потому что этот скрипт не перезапустит соединение WiFi, он запустит его, только если он уже отключен. Хотя это решило бы проблему, если бы проблема ОП полностью разорвала соединение. Однако если соединение остается с действительным IP-адресом, но прекратило передачу данных, этот сценарий просто не будет работать. -1 за наличие echoв автоматизированном (cron'd) скрипте.
Джим

0

Обходной путь с использованием «systemctl restart NetworkManager» работает для меня на двух разных ноутбуках с Broadcom и Atheros WiFi под Debian Buster и Ubuntu 19.04 - где проблема с «wifi не просыпается при возобновлении» возникает при каждом четвертом резюме или около того (= как правило, он работает просто отлично.) Сначала я попытался создать средство запуска на рабочем столе для ручного запуска сброса Wi-Fi, который работает и требует пароль - но потом я нашел несколько заметок, которые люди ставят проклятие сброса в места в системе, которые работают скрипты после резюме. А именно /lib/systemd/system-sleep/ выглядит как хорошее место для размещения вашего сценария . И сценарийлучше проверить некоторые условия (полученные с помощью аргументов cmdline), чтобы знать, что настало время перезагрузить NetworkManager. Извиняюсь за ссылки вместо того, чтобы вырезать и вставить - я не спрашивал разрешения этого конкретного автора, и он может также получить положительные отзывы за его вклад в YouTube (прямо к делу, и хорошо рассказанный).

Помимо этого, я заметил несколько очень простых и прямых решений исходной проблемы из Ubuntu 16.04: wifi.scan-rand-mac-address=noв NetworkManager.conf или даже просто apt-get update && apt-get upgrade. Это оптимальное решение для конкретной ошибки в 16.04. Возможно, они не являются решением других разнородных проблем такого рода, которые можно обойти с помощью принудительного (но достаточно быстрого) перезапуска NetworkManager при каждом возобновлении работы из режима ожидания.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.