จะเริ่มการเชื่อมต่อ 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 มีเหตุผลใดบ้างที่ทำให้เราต้องทำเอกสารนี้?
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) เพียงเพื่อให้เฉพาะเจาะจงมากขึ้นกับการเชื่อมต่อ wifi หนึ่งสามารถใช้: nmcli radio wifi offตามด้วยnmcli radio wifi on
n1k31t4

1
@ n1k31t4 คุณต้องการแก้ไขคำตอบนี้ไหม? ตรงนี้เป็นสิ่งที่ OP ต้องการและคนอื่น ๆ อาจจะดูโพสต์นี้
asgs

6

คุณสามารถลองฆ่ากำลังไปยังอุปกรณ์ของคุณ สมมติว่าคุณไม่สามารถ / ไม่เต็มใจที่จะตัดการเชื่อมต่อทางร่างกายอุปกรณ์ที่คุณควรใช้ (เป็น iwconfig wlan0 txpower offroot): ฉันก็จะรอ 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

ไฟล์ด้านล่างไม่ต้องการการเข้าถึงรูท มันจะรีสตาร์ท wifi ก็ต่อเมื่อมันหยุดทำงาน ตอนนี้ฉันแค่ต้องเพิ่มสคริปต์นี้ในงาน 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 เนื่องจากสคริปต์นี้จะไม่รีสตาร์ทการเชื่อมต่อ WiFi มันจะเริ่มต้นได้ก็ต่อเมื่อมันหยุดทำงานแล้ว ขณะนี้จะแก้ไขปัญหาถ้าปัญหาของ OP สมบูรณ์การเชื่อมต่อ อย่างไรก็ตามหากการเชื่อมต่อยังคงอยู่กับ IP ที่ถูกต้อง แต่ได้หยุดการส่งข้อมูลสคริปต์นี้จะไม่ทำงาน -1 สำหรับการมีechoสคริปต์แบบอัตโนมัติ (cron'd)
Jim

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

ทำ!

นี่คือขั้นตอนเดียวที่ทำงานสำหรับฉันในการรีเซ็ตการตั้งค่า lelel ต่ำ (frag อัตรา) iwconfigที่ผมได้ตั้งค่าการใช้

สิ่งที่จะทำอย่างมีประสิทธิภาพคือ "โหลดไดรเวอร์ใหม่"


0

วิธีแก้ปัญหาโดยใช้ "systemctl restart NetworkManager" ใช้งานได้สำหรับฉันในโน้ตบุ๊กสองเครื่องที่มี Broadcom และ Atheros WiFi ภายใต้ Debian Buster และ Ubuntu 19.04 - ปัญหาที่เกิดขึ้นกับ "wifi จะไม่ทำงานเมื่อกลับมาทำงาน" เกิดขึ้นในทุก ๆ สี่ ปกติแล้วมันใช้งานได้ดี) ฉันได้ลองสร้างตัวเรียกใช้งานเดสก์ท็อปเพื่อเรียกใช้การรีเซ็ต wifi ด้วยตนเองซึ่งใช้งานได้และต้องใช้รหัสผ่าน - แต่จากนั้นฉันพบบันทึกย่อหลายรายการโดยผู้ใช้ใส่คำสาปรีเซ็ตลงในสถานที่ สคริปต์หลังจากดำเนินการต่อ คือดูเหมือนว่าเป็นสถานที่ที่ดีที่จะนำสคริปต์ของคุณ/lib/systemd/system-sleep/ และสคริปต์ควรทดสอบเงื่อนไขบางอย่าง (ได้รับจากอาร์กิวเมนต์ cmdline) เพื่อทราบว่าถึงเวลาแล้วที่จะรีเซ็ต NetworkManager ขอโทษสำหรับการเชื่อมโยงแทนการตัดและวาง - ฉันไม่ได้ขออนุญาตจากผู้เขียนคนนี้และเขาอาจเพลิดเพลินไปกับ upvotes ด้วยสำหรับการมีส่วนร่วมของ YouTube ของเขา (ตรงประเด็นและเล่าเรื่องอย่างดี)

อื่น ๆ กว่าที่ฉันได้สังเกตเห็นการแก้ปัญหาบางมากง่ายและตรงกับปัญหาเดิมจากอูบุนตู 16.04: wifi.scan-rand-mac-address=noใน NetworkManager.conf apt-get update && apt-get upgradeหรือแม้เพียงแค่ สิ่งเหล่านี้เป็นทางออกที่ดีที่สุดสำหรับข้อผิดพลาดเฉพาะใน 16.04 อาจไม่ใช่วิธีแก้ปัญหาอื่น ๆ ของประเภทนี้ซึ่งสามารถแก้ไขได้ด้วยการเริ่มต้นใหม่ของ NetworkManager (แต่ค่อนข้างรวดเร็ว) ในทุก ๆ งานจากการหยุดชั่วคราว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.