หนึ่งในความท้าทายที่สำคัญที่ผู้ใช้มักจะเผชิญกับ Linux คือ Wi-Fi ไดรเวอร์ Wi-Fi มักจะไม่รวมอยู่ในเคอร์เนล และด้วยเหตุนี้ จึงมีปัญหามากมายที่ทำให้โมดูล Wi-Fi ที่ไม่ใช่ของ Intel ทำงานได้ดีภายใต้ Linux เราจะพูดถึงสิ่งที่เกิดขึ้นเมื่อ Wi-Fi ไม่ทำงานบน Linux และวิธีแก้ไข
ฮาร์ดแวร์และซอฟต์แวร์มีปัญหาเกี่ยวกับ Wi-Fi
ปัญหาการเชื่อมต่อ Wi-Fi อาจเป็นปัญหาฮาร์ดแวร์หรือซอฟต์แวร์ก็ได้ ปัญหาเกี่ยวกับฮาร์ดแวร์นั้นง่ายต่อการวินิจฉัย – สิ่งที่คุณต้องทำคือเปิดเทอร์มินัลแล้วป้อนคำสั่งต่อไปนี้:
ping localhost
นี่เป็นวิธีง่ายๆ ในการตรวจสอบว่าฮาร์ดแวร์จริงของคุณใช้งานได้หรือไม่ localhost
ทำงานเป็นที่อยู่เพื่อตรวจสอบวงจรสำหรับ NIC ของคุณ หากไม่ได้ผล คุณอาจต้องทำงานบางอย่างกับฮาร์ดแวร์ ไม่ว่าจะทำด้วยตัวเองหรือจากคนอื่น
หาก ping นั้นกลับมาเป็นปกติหรือคุณไม่เห็นการ์ด Wi-Fi ด้วยซ้ำ แสดงว่าซอฟต์แวร์อาจมีปัญหา
ติดตั้งไดรเวอร์จาก Ubuntu ISO
หาก distro ของคุณตรวจไม่พบเครือข่าย Wi-Fi เลย หรือหากคุณได้รับข้อผิดพลาด คุณสามารถลองติดตั้งหรือติดตั้งไดรเวอร์ Wi-Fi ใหม่จากไฟล์ ISO ของ Ubuntu ขั้นแรก คุณต้องดาวน์โหลด Ubuntu ISO ที่สอดคล้องกับเวอร์ชัน Ubuntu ของคุณ (สมมุติว่าคุณต้องดาวน์โหลดบนอุปกรณ์อื่นหรือดาวน์โหลดโดยใช้การเชื่อมต่ออีเทอร์เน็ตบน Ubuntu)
วาง Ubuntu ISO ลงในโฮมไดเร็กทอรีบน Ubuntu จากนั้นใน Terminal ให้ป้อนลำดับคำสั่งต่อไปนี้เพื่อเมานต์ Ubuntu ISO กับไดรฟ์เสมือน:
sudo mkdir /media/cdrom sudo mount -o loop ubuntu-*.iso /media/cdrom
ไปที่ "ซอฟต์แวร์และการอัปเดต" จากแดชบอร์ด จากนั้นในหน้าต่างใหม่ ให้เลือกช่อง "CDrom พร้อม [ชื่อและเวอร์ชัน distro ของคุณ]" และป้อนรหัสผ่านของคุณเมื่อมีการร้องขอ
คลิกแท็บ "ไดรเวอร์เพิ่มเติม" จากนั้นเลือกตัวเลือก "Wireless Network Adapter" แล้วคลิก "ใช้การเปลี่ยนแปลง"
ปัญหาที่หนึ่ง:ไม่พบอุปกรณ์
หาก Ubuntu ตรวจไม่พบอุปกรณ์ไร้สาย (หรือ distro ใด ๆ สำหรับเรื่องนั้น) คุณจะต้องเข้าถึง Terminal และพิมพ์คำสั่งต่อไปนี้:
sudo lsusb
หากคุณใช้การ์ด/ดองเกิลไร้สาย USB แบบเสียบปลั๊กและ
sudo lspci
หากคุณมีการ์ดไร้สายภายใน
หากการตอบสนองจากคำสั่งเหล่านี้กลับมาพร้อมกับผลลัพธ์ที่คล้ายกับภาพหน้าจอด้านล่าง แสดงว่าคุณโชคดี:Ubuntu สามารถค้นหาการ์ดได้ โดยปกติแล้วจะระบุโดย “Network Controller” หรือ “Ethernet Controller”
ในอดีต ลีนุกซ์รุ่นต่างๆ มีปัญหาในการค้นหาการ์ดไร้สาย โชคดีที่การสนับสนุนดีขึ้นมาก ดังนั้นนี่จึงเป็นสิ่งที่หายากมาก
คำสั่งเพิ่มเติม
คุณยังสามารถใช้คำสั่งต่อไปนี้เพื่อทดสอบว่าเครื่องสามารถเห็นอุปกรณ์ไร้สายได้หรือไม่ ผู้ใช้อาจต้องติดตั้ง lshw
บนเครื่องก่อน
sudo lshw -C network
ผลลัพธ์ควรคล้ายกับสิ่งนี้:
*-network description: Wireless interface product: PRO/Wireless 3945ABG [Golan] Network Connection vendor: Intel Corporation
หากเป็นกรณีนี้ และระบบพบการ์ดไร้สาย คุณสามารถดำเนินการติดตั้งไดรเวอร์/โมดูลตามที่อธิบายไว้ด้านล่าง
ปัญหาที่สอง:โมดูลไดรเวอร์หายไป
ต่อจาก lsusb
. ที่ประสบความสำเร็จ และ lspci
คำสั่ง โดยให้ distro Linux ของคุณสามารถเห็นการ์ดไร้สาย คุณสามารถสันนิษฐานได้ว่าเฟิร์มแวร์ใช้งานได้ เพียงว่าระบบไม่รู้ว่าจะทำอย่างไรกับการ์ด นี่คือจุดที่ต้องการไดรเวอร์หรือโมดูล
กลับไปที่เทอร์มินัลแล้วพิมพ์คำสั่งต่อไปนี้:
sudo lsmod
คุณจะเห็นรายการโมดูลที่ใช้ ในการเปิดใช้งานโมดูลของคุณ ให้พิมพ์คำสั่งต่อไปนี้โดยที่ “modulename” เป็นชื่อของชิปเซ็ตของคุณ
sudo modprobe modulename
ตัวอย่างเช่น หากชิปเซ็ตไร้สายของคุณคือ “RT2870” จะเป็นดังนี้:
sudo modprobe rt2800usb
หลังจากนี้ ให้เรียกใช้ lsmod
คำสั่งอีกครั้งเพื่อดูว่าโหลดถูกต้องหรือไม่
โหลดโมดูลโดยอัตโนมัติเมื่อบู๊ต
เป็นโอกาสที่หายาก แต่บางครั้งโมดูลจะไม่คงอยู่จากการบูต ในกรณีนี้ คุณสามารถบังคับให้โหลดอย่างถาวรได้ ป้อนคำสั่งด้านล่างลงในเทอร์มินัล:
sudo nano /etc/modules
โปรแกรมแก้ไขข้อความนาโนจะเปิดขึ้น เพิ่มชื่อโมดูลของคุณที่ด้านล่างและบันทึกไฟล์ คุณจะต้องรีบูตและตรวจดูว่าการ์ดไร้สายสามารถเห็นเครือข่ายได้หรือไม่ เพื่อให้คุณเชื่อมต่อได้ตามปกติ
หากคุณติดขัด ให้ทำซ้ำตามขั้นตอน โชคดีที่ Ubuntu มีหน้าช่วยเหลือที่เป็นประโยชน์ในเอกสารออนไลน์ซึ่งคุณสามารถอ่านได้ นอกจากนี้ คุณสามารถใช้ความช่วยเหลือในตัวภายในเทอร์มินัลโดยป้อน:
man lsusb man lspci
ปัญหาที่สาม:DNS
เป็นเรื่องยากที่ DNS จะมีปัญหา อย่างไรก็ตาม ควรตรวจสอบหากคุณยังมีปัญหาการเชื่อมต่ออยู่ จาก Terminal ให้พิมพ์คำสั่งต่อไปนี้เพื่อประเมินว่า DNS มาจากไหน:
nmcli device show wlan1 | grep IP4.DNS
นี่จะแสดงที่อยู่ LAN ของเราเตอร์ให้คุณ หากไม่ได้ผล คุณอาจต้องเปลี่ยน "wlan1" เป็นสิ่งที่คุณใช้แบบไร้สาย คำสั่งต่อไปนี้ยังสามารถใช้เพื่อคว้าตำแหน่ง:
ip a s
เมื่อคุณมีข้อมูลนี้แล้ว วิธีต่อไปของคุณคือการ ping ที่อยู่ LAN ของเราเตอร์ของคุณ หากใช้งานได้ ให้ลอง ping เซิร์ฟเวอร์ DNS ของ Google:
ping 8.8.8.8
ด้วยผลลัพธ์เหล่านี้ คุณสามารถระบุได้ว่าปัญหา DNS อยู่ที่ใด หากอุปกรณ์ทั้งหมดในบ้านหรือที่ทำงานของคุณแสดงข้อผิดพลาดในการโหลดหน้าเว็บ ให้เปลี่ยน DNS ของเราเตอร์เป็น Google หรือเซิร์ฟเวอร์ DNS เปิด คุณจะต้องปรึกษาผู้ผลิตเราเตอร์ของคุณเกี่ยวกับวิธีการทำเช่นนี้ แต่โดยทั่วไปแล้วจะทำได้ในหน้าผู้ดูแลระบบ โดยทั่วไปแล้วจะเข้าสู่ระบบ 192.168.0.1 หรือคล้ายกัน
หากปัญหา DNS ของคุณคือ Ubuntu เท่านั้น ให้ทำตามขั้นตอนเหล่านี้โดยใช้ Network Manager GUI:
- คลิกขวาที่ Network Manager
- แก้ไขการเชื่อมต่อ
- เลือกการเชื่อมต่อ Wi-Fi ที่ต้องการ
- เลือกการตั้งค่า IPv4
- เปลี่ยนวิธีการเป็นที่อยู่ DHCP เท่านั้น
- เพิ่ม 8.8.8.8, 8.8.4.4 ลงในกล่องเซิร์ฟเวอร์ DNS จำเครื่องหมายจุลภาคคั่น IP และอย่าเว้นวรรค
- บันทึก จากนั้นปิด
ในขั้นตอนสุดท้าย ให้รีสตาร์ทเครื่องหรือรีสตาร์ท Network Manager จาก Terminal:
sudo service network-manager restart
ฉบับที่สี่:ไม่มีผู้จัดการเครือข่าย
สมมติว่าคุณได้ลบ Network Manager หรือถอนการติดตั้งโดยไม่ได้ตั้งใจ นี่เป็นสถานการณ์ที่ลำบากมาก:คุณไม่มีอินเทอร์เน็ตและไม่มีตัวจัดการเครือข่าย แต่มีหลายอย่างที่คุณทำได้
สมมติว่าแพ็คเกจยังอยู่ในแคชของคุณ คุณสามารถไปที่ Terminal และป้อน:
# Debian/Ubuntu sudo apt install network-manager # Fedora sudo dnf install network-manager # Arch Linux sudo pacman -Syu network-manager
หากคุณลบแคชนี้แล้ว คุณสามารถใช้สายอีเทอร์เน็ตเพื่อเชื่อมต่อโดยเสียบปลั๊กเข้ากับพอร์ตอีเทอร์เน็ตและเรียกใช้คำสั่งด้านบนอีกครั้ง
ในขั้นตอนสุดท้าย หากวิธีการข้างต้นไม่ได้ผล คุณจะต้องแก้ไขไฟล์การกำหนดค่าของคุณ ฉันเลือก gedit
เป็นเท็กซ์เอดิเตอร์ แต่คุณสามารถใช้ตัวเลือกที่คุณต้องการและแก้ไขคำสั่งได้
sudo gedit /etc/network/interfaces
แก้ไขให้อ่านดังนี้:
auto lo iface lo inet loopback auto wlan0 iface wlan0 inet dhcp wpa-essid myssid wpa-psk mypasscode
จากนั้นคุณสามารถรีสตาร์ทอินเทอร์เฟซโดยป้อนรหัสด้านล่าง:
sudo ifdown wlan0 && sudo ifup -v wlan0
อ่านเพิ่มเติมเกี่ยวกับระบบย่อย Linux Wireless ได้ที่ kernel.org วิกิพีเดีย
เมื่อ Wi-Fi ของคุณเริ่มทำงานแล้ว ทำไมไม่ลองเฉลิมฉลองด้วยการดูวิธีที่ดีที่สุดในการเล่นเกม Windows บน Linux? หรือหากคุณไม่ทราบวิธีเปลี่ยนชื่อไฟล์ใน Linux ทุกวิธี โปรดดูคำแนะนำของเราในเรื่องนี้