Як перезапустити WiFi-з'єднання?


64

Я думаю, що у мене немає проблем з обладнанням. Іноді підключення WiFi просто відключається, мабуть. Отже, це не обов'язково те саме, що в цьому випадку , можливо, мені не потрібно буде перезавантажувати будь-які модулі.

Але як просто перезапустити wlan0? Я намагався restart network-manager, але це, здається, залишає в wlan0спокої.

Відповіді:


123

Вам просто потрібно перезапустити Менеджер мереж :

sudo service network-manager restart

5
У нових версіях Ubuntu, можливо, краще (залежно від того, чи використовує система systemd) краще використовувати sudo systemctl restart NetworkManager.
TSJNachos117

1
Для мене працює 16.04 на ThinkPad t420. Чи є якась документально підтверджена причина, чому нам потрібно це робити?
mbigras

Так, але на 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

Їм не потрібен корінь, якщо ви створюєте сценарії:

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 як свою систему init (як це стосується новіших версій Ubuntu), ви можете використовувати systemctl restart NetworkManager. В іншому випадку можна використовувати sudo initctl restart network-manager. Якщо ви не знаєте, яку систему init ви використовуєте, спробуйте обидві команди та подивіться, що працює.


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

2

Створений сценарій на основі попередніх посилань на посилання з деяким змішуванням та узгодженням попередніх посилань. Це працює для мене під управлінням Mint Linux 17.3.

Файл нижче не потребує кореневого доступу. Він також перезапускає Wi-Fi лише у тому випадку, якщо він уже не працює. Тепер мені просто потрібно додати цей скрипт до роботи з cron, щоб перевіряти моє з'єднання через wifi кожні 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 оскільки цей скрипт не перезапустить з'єднання Wi-Fi, він запустить його лише в тому випадку, коли він вже не працює. Хоча це вирішить проблему, якщо випуск ОП повністю припинить зв'язок. Однак, якщо з'єднання залишається в режимі дійсного IP-адреси, але перестало передавати дані, цей сценарій просто не працює. -1 за наявність echoавтоматизованого сценарію (cron'd).
Джим

2

"Перезавантажити драйвер"

Знайдіть назву модуля

Давайте знайдемо назву модуля ядра для вашого бездротового з'єднання:

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

Готово!

Це єдина процедура, яка працювала для мене у перезавантаженні параметрів низького рівня (frag, rate), які я встановив iwconfig.

Це ефективно робить це "перезавантажити драйвер".


0

Вирішення проблеми використання "systemctl перезавантаження 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.