Làm thế nào để khởi động lại kết nối WiFi?


64

Tôi nghĩ rằng tôi không có vấn đề với phần cứng. Đôi khi, kết nối WiFi chỉ đơn giản là ngắt kết nối. Vì vậy, điều này không nhất thiết giống như trường hợp này , tôi có thể không cần tải lại bất kỳ mô-đun nào.

Nhưng làm thế nào để chỉ khởi động lại wlan0? Tôi đã cố gắng restart network-manager, nhưng điều này dường như để lại wlan0một mình.

Câu trả lời:


123

Bạn chỉ cần khởi động lại Trình quản lý mạng :

sudo service network-manager restart

5
Trên các phiên bản Ubuntu mới hơn, có thể (tùy thuộc vào việc hệ thống đang sử dụng systemd) có tốt hơn để sử dụng hay không sudo systemctl restart NetworkManager.
TSJNachos117

1
Hoạt động với tôi khi chạy 16.04 trên ThinkPad t420. Có bất kỳ lý do tài liệu tại sao chúng ta cần phải làm điều này?
mbigras

Haha, có nhưng trên Ubuntu Gnome 17.04 sudo không hoạt động khi mạng bị vô hiệu hóa. Khá bắt 22.
grofte

Cái này không hoạt động với tôi (Dell Inspiron 9400)
Hibou57

chỉ thêm service network-manager restartvào một tệp máy tính để bàn hoặc phím tắt hoạt động độc đáo (dù sao cũng yêu cầu vượt qua)

15

Thử đi:

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up

1
giả sử các giao diện này được xác định trong /etc/network/interfacestệp. Khác, bạn có thể nhận được Unknown interfacelỗi khét tiếng
vào

14

Chúng không cần root, trong trường hợp bạn đang viết kịch bản:

nmcli networking off 
nmcli networking on

Để biết thêm man nmcli

CHỈNH SỬA :

Như những người này đang nói trong các bình luận, chỉ dành cho WI-FI:

nmcli radio wifi off
nmcli radio wifi on

4
Đẹp! (+1) Chỉ để làm cho nó cụ thể hơn với kết nối wifi, người ta có thể sử dụng: nmcli radio wifi offtheo saunmcli radio wifi on
n1k31t4

1
@ n1k31t4 bạn có phiền khi chỉnh sửa câu trả lời này không? đây chính xác là những gì OP cần và có lẽ rất nhiều người khác đang xem bài đăng này.
vào

6

Bạn có thể thử giết năng lượng cho thiết bị của bạn. Giả sử bạn không thể / không muốn ngắt kết nối thiết bị, bạn nên chạy (với quyền root) : iwconfig wlan0 txpower off. Sau đó tôi sẽ đợi 10 - 15 giây để chắc chắn rằng bất kỳ sự cố phần cứng nào đã gây ra sự cố đã được dừng lại, sau đó : iwconfig wlan0 txpower auto.

Hoặc, bạn chỉ có thể chạy rfkill và chặn / bỏ chặn thiết bị của bạn. Để làm như vậy, chạy rfkill block wifi, theo sau rfkill unblock wifi. Tùy chọn thứ hai này sẽ nhanh hơn, vì bạn chỉ cần đợi 2-3 giây giữa các lệnh, trái ngược với 10-15 giây. Trên thực tế, trên máy của tôi, tôi không cần phải chờ đợi, mặc dù tôi nghi ngờ điều này phụ thuộc vào phần cứng WiFi của bạn. Tùy chọn này cũng có thể được thực hiện như một người dùng thông thường, không cần root.

Bạn cũng có thể khởi động lại Trình quản lý mạng. Nếu bạn sử dụng systemctl làm hệ thống init của mình (như trường hợp với các phiên bản Ubuntu mới hơn), bạn có thể sử dụng systemctl restart NetworkManager. Nếu không, bạn có thể sử dụng sudo initctl restart network-manager. Nếu bạn không biết hệ thống init nào bạn sử dụng, hãy thử cả hai lệnh và xem những gì hoạt động.


Đây đúng là một vấn đề phần mềm hơn là vấn đề phần cứng, vì nó đã hoạt động tốt trước Ubuntu16.04 và nhiều người dùng gặp phải vấn đề tương tự với cùng một phiên bản Ubuntu.
Hibou57

2

Tạo một kịch bản dựa trên lời khuyên liên kết trước với một số pha trộn và kết hợp các liên kết trước. Điều này hoạt động với tôi chạy theo Mint Linux 17.3.

Các tập tin dưới đây không yêu cầu quyền truy cập root. Nó cũng chỉ khởi động lại wifi chỉ nếu nó đã xuống. Bây giờ tôi chỉ cần thêm tập lệnh này vào công việc định kỳ để kiểm tra kết nối wifi của mình sau mỗi 15 phút hoặc lâu hơn.

#!/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 cho nỗ lực tự động hóa quy trình. -1 vì tập lệnh này sẽ không khởi động lại kết nối WiFi, nó sẽ chỉ khởi động nó nếu nó bị hỏng. Mặc dù điều này sẽ khắc phục sự cố nếu sự cố của OP làm mất hoàn toàn kết nối. Tuy nhiên, nếu kết nối vẫn duy trì với một IP hợp lệ, nhưng đã ngừng truyền dữ liệu, thì tập lệnh này sẽ không hoạt động. -1 để có một echotập lệnh tự động (cron'd).
Jim

2

"Tải lại trình điều khiển"

Tìm tên mô-đun

Hãy tìm tên của mô-đun hạt nhân cho kết nối không dây của bạn:

sudo hwinfo --network

(Cài đặt gói hwinfonếu bạn không có nó.)

Tìm tên mô-đun trong dòng "Trình điều khiển".

Tải lại mô-đun

Bây giờ dỡ tải sau đó tải lại mô-đun. Ví dụ, tên mô-đun của tôi làiwlwifi

Bạn có thể gặp may mắn, nhưng rất có thể bạn sẽ nhận được thông báo thất bại này:

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

Vì vậy, chúng tôi đi tìm các mô-đun khác bằng cách sử dụng iwlwifi:

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

Bên trái là tên mô-đun và bên phải là các mô-đun khác sử dụng nó. Vì vậy, hãy thử vô hiệu hóa iwldvmtrước:

$ sudo modprobe -r iwldvm

Nếu điều này hoạt động, bây giờ chúng ta có thể vô hiệu hóa thành công iwlwifi

$ sudo modprobe -r iwlwifi

Và bây giờ kích hoạt lại cả hai mô-đun theo thứ tự ngược lại:

$ sudo modprobe iwlwifi
$ sudo modprobe iwldvm

Làm xong!

Đây là quy trình duy nhất hiệu quả với tôi trong việc đặt lại các cài đặt lelel thấp (Frag, Rate) mà tôi đã đặt bằng cách sử dụng iwconfig.

Những gì nó làm có hiệu quả là "tải lại trình điều khiển".


0

Cách giải quyết sử dụng "systemctl restart NetworkManager" hoạt động với tôi trên hai máy tính xách tay khác nhau với Broadcom và Atheros WiFi trong Debian Buster và Ubuntu 19.04 - trong đó sự cố với "wifi sẽ không thức dậy khi tiếp tục" xảy ra vào mỗi lần tiếp tục thứ tư hoặc như vậy (= nó thường hoạt động tốt.) Trước tiên tôi đã thử tạo một trình khởi chạy máy tính để bàn để gọi lại thiết lập wifi theo cách thủ công, hoạt động và yêu cầu mật khẩu - nhưng sau đó tôi đã tìm thấy một số ghi chú bằng cách mọi người đặt lời nguyền thiết lập lại vào những nơi trong hệ thống chạy kịch bản sau khi tiếp tục. Cụ thể, có /lib/systemd/system-sleep/ vẻ như là một nơi tốt để đặt kịch bản của bạn . Và, kịch bảntốt hơn nên kiểm tra một số điều kiện (có được thông qua các đối số cmdline) để biết rằng đây là thời điểm thích hợp để đặt lại Trình quản lý mạng. Xin lỗi vì liên kết thay vì cắt và dán - Tôi đã không xin phép tác giả cụ thể này và anh ấy cũng có thể thích những lời khen ngợi, vì sự đóng góp trên YouTube của anh ấy (nói thẳng vào vấn đề và được tường thuật tốt).

Ngoài ra, tôi đã nhận thấy một số giải pháp rất đơn giản và trực tiếp cho vấn đề ban đầu từ Ubuntu 16.04: wifi.scan-rand-mac-address=notrong NetworkManager.conf hoặc thậm chí chỉ apt-get update && apt-get upgrade. Đó là những giải pháp tối ưu cho lỗi cụ thể trong 16.04. Chúng có thể không phải là một giải pháp cho các vấn đề linh tinh khác thuộc loại này, có thể được giải quyết bằng cách khởi động lại mạnh mẽ (nhưng khá nhanh) của NetworkManager trên mỗi bản lý lịch.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.