Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

แก้ไข: Activation of Network Connection Failed ใน Linux

Linux distribution ของคุณอาจ ล้มเหลวในการเปิดใช้งานการเชื่อมต่อเครือข่าย เนื่องจากการตั้งค่าเครือข่ายผิดปกติ นอกจากนี้ การตั้งค่าวันที่/เวลาผิดพลาดก็อาจก่อให้เกิดข้อผิดพลาดนี้

ผู้ใช้เจอข้อผิดพลาดเมื่อล็อกอินเข้าระบบ หรือพยายามใช้อินเทอร์เน็ต บางคนเจอทันทีหลังติดตั้ง OS บางคนเจอหลังใช้งานไปพักหนึ่ง ปัญหานี้ไม่เฉพาะ distro ใด distro หนึ่ง แทบทุก distro เหตุการณ์นี้อาจเกิดกับทั้ง Ethernet และ WiFi

ก่อนลองวิธีแก้ ตรวจสอบก่อน: Router และ Modem เชื่อมต่อกันอยู่, หากเป็น USB Modem ลองเสียบพอร์ตอื่น, รีสตาร์ท ระบบและอุปกรณ์เครือข่าย, หากทั้ง Ethernet และ WiFi ไม่ได้ ลอง USB dongle หรือ Hotspot โทรศัพท์, เปิด/ปิด Airplane mode ดู

วิธีแก้ที่ 1: ปิด/เปิดการเชื่อมต่อเครือข่าย (Disable/Enable Network Connection)

อาจเป็นข้อผิดพลาดชั่วคราว (software glitch) แก้ได้โดยการรีเซ็ตการเชื่อมต่อ ใช้ Ubuntu ตัวอย่าง:

  1. เปิด Settings คลิก Network ด้านซ้าย
  2. ปิด การเชื่อมต่อที่มีปัญหา (Toggle ไป Off)
  3. รีสตาร์ท ระบบ หลังบูท เปิด การเชื่อมต่อใหม่ ดูว่าแก้หรือยัง
  4. หายังไม่แก้ กด Alt + F2 เปิด Run command พิมพ์:
    nm-connection-editor
  5. ขยาย ประเภทเครือข่ายที่มีปัญหา (เช่น ethernet) ลบรายการทั้งหมด ภายใต้มัน
  6. ปิด Network editor ทั้งหมด คลิกไอคอน network ใน system tray
  7. ปิด เครือข่าย แล้ว เปิดใหม่
  8. รีสตาร์ท ระบบ ตรวจสอบอีกครั้ง

วิธีแก้ที่ 2: ปิด Fast Boot (ระบบ Dual Boot)

ตัวเลือก Fast Startup ของ Windows ทราบกันดีว่าสร้างปัญหาให้ระบบ Dual Boot กับ Linux วิธีนี้อาจแก้ปัญหา:

  1. ใน Windows คลิก Windows Search พิมพ์ Control Panel เปิด
  2. คลิก Hardware and Sound
  3. คลิก Power Options
  4. ด้านซ้าย คลิก Choose What the Power Buttons Do
  5. ยกเลิกเครื่องหมาย Turn on Fast Startup หากเป็นสีเทา คลิก Change Settings that are Currently Unavailable แล้วค่อยยกเลิก
  6. บันทึกการเปลี่ยนแปลง บูทเข้าสู่ Linux ตรวจสอบ อาจต้องติดตั้ง Linux ใหม่ทั้งหมด

วิธีแก้ที่ 3: ปิด Connect Automatically สำหรับเครือข่าย

หากเจอข้อความแจ้งเตือนสำหรับการเชื่อมต่อที่ไม่ได้ใช้ (เช่น USB ethernet) ให้ปิด Connect Automatically:

  1. เปิด Settings คลิก Network
  2. คลิกไอคอน เกียร์ ถัดจากเครือข่ายที่มีปัญหา
  3. ยกเลิกเครื่องหมาย Connect Automatically บันทึกการเปลี่ยนแปลง
  4. ตรวจสอบว่าปัญหาแก้หรือยัง

วิธีแก้ที่ 4: เปลี่ยน DNS เป็น DNSMASQ สำหรับเครือข่าย

อาจเจอข้อผิดพลาดหากระบบมีปัญหา DNS การเปลี่ยนเป็น DNSMASQ ฟรี (ใช้ทรัพยากรน้อย) อาจช่วย:

  1. รันคำสั่งใน Terminal:
    sudo gedit /etc/NetworkManager/NetworkManager.conf
  2. เปลี่ยน dns เป็น dnsmasq บันทึกปิดไฟล์
  3. รีสตาร์ทระบบ ตรวจสอบอีกครั้ง

วิธีแก้ที่ 5: แก้ไขการตั้งค่าวันที่/เวลา

การตั้งค่าวันที่/เวลามีบทบาทหลากหลายในการทำงานของระบบ หากผิดอาจก่อให้เกิดข้อผิดพลาดนี้ แก้ไขวันที่/เวลาให้ถูกต้อง:

  1. มุมซ้ายล่าง คลิก Show Applications -> Settings
  2. ด้านซ้าย คลิก Date & Time
  3. ปิด Automatic Date & Time
  4. ตั้งค่าวันที่/เวลาให้ถูกต้อง ตรวจสอบอีกครั้ง

วิธีแก้ที่ 6: ลบอุปกรณ์ Bluetooth ใน Settings

หากตั้งค่าอุปกรณ์ Bluetooth หลายตัว แต่ไม่พร้อมใช้งาน (เมื่อข้อผิดพลาดเกิด) Network Manager จะเชื่อมต่อไม่ได้ ทำให้เกิดข้อผิดพลาด การลบอุปกรณ์ Bluetooth อาจช่วย:

  1. ถอด อุปกรณ์ Bluetooth ทั้งหมด
  2. เปิด Settings -> Bluetooth
  3. ปิด Bluetooth
  4. เปิด Terminal พิมพ์:
    bluetoothctl
  5. จะแสดงรายการอุปกรณ์ Bluetooth พิมพ์:
    bluetoothctl remove AA:BB:CC:DD:EE:FF
  6. แทนที่ AA:BB:CC:DD:EE:FF ด้วย ID string ของอุปกรณ์ (หาได้จาก Network icon >> Device Name >> Gear Icon)
  7. ทำซ้ำทุกอุปกรณ์ ตรวจสอบอีกครั้ง
  8. หายังไม่แก้ ตรวจสอบ path ของไฟล์ .crt หากชื่อโฟลเดอร์มีช่องว่าง ให้ลบช่องว่าง แล้วทดสอบอีกครั้ง

วิธีแก้ที่ 7: Blacklist อุปกรณ์สื่อสารอื่น

หากมีอุปกรณ์ ethernet/WiFi ตัวที่สองอยู่ในระบบ (เช่น built-in 4G) และระบบพยายามใช้ตัวนั้นแทน การ Blacklist อาจช่วย:

  1. เปิด Terminal พิมพ์:
    sudo lshw -C network
  2. จะแสดงรายการอุปกรณ์เครือข่าย ตรวจสอบอุปกรณ์ที่ ไม่ได้ใช้ (เช่น cdc_ether)
  3. สร้างไฟล์ blacklist ใหม่:
    sudo -H gedit /etc/modprobe.d/blacklist-cdc_ether.conf
  4. เพิ่ม 2 บรรทัด:
    blacklist cdc_ether
    blacklist usbnet
  5. บันทึกไฟล์ รีสตาร์ท ระบบ
  6. หลังบูท ตรวจสอบ หากต้องใช้ 4G built-in ต้อง enable กลับ

วิธีแก้ที่ 8: ลบ Network Drivers ออกจาก Blacklist

หากอุปกรณ์เครือข่ายถูก blacklist ในระบบ การลบออกจาก blacklist อาจช่วย:

  1. รันคำสั่งใน Terminal:
    sudo gedit /etc/modprobe.b/blacklist.conf
  2. ตรวจสอบว่า driver/module เครือข่ายถูก blacklist หรือไม่ (เช่น การ์ด Broadcom -> ลบ entry เกี่ยวกับ bcma และ bcmsmac)
  3. รีสตาร์ทระบบ ตรวจสอบอีกครั้ง

วิธีแก้ที่ 9: ติดตั้ง Network Manager ใหม่

Network Manager จัดการการดำเนินการเครือข่ายทั้งหมดใน Linux distro หากการติดตั้งเสียหาย การติดตั้งใหม่อาจช่วย:

  1. เปิด Linux Shell รัน:
    sudo systemctl restart network-manager.service
  2. ตรวจสอบว่แก้หรือยัง
  3. หาไม่ รัน:
    sudo /etc/init.d/network-manager force-reload
  4. หาขอรหัสผ่าน ให้ใส่ ตรวจสอบอีกครั้ง
  5. หายังไม่ รัน:
    sudo apt-get install -d --reinstall network-manager network-manager-gnome
  6. ตรวจสอบอีกครั้ง

วิธีแก้ที่ 10: ปิด Power Management ของ Network Card/Driver

Power management มักก่อให้เกิดปัญหาเครือข่าย การปิดอาจช่วย (ตัวอย่าง Ubuntu + RTL8192CU driver):

  1. เปิด Terminal รันคำสั่งทีละคำสั่ง:
    sudo apt-get install linux-headers-generic build-essential dkms
    sudo apt-get install git
    git clone https://github.com/pvaret/rtl8192cu-fixes.git
    sudo dkms add ./rtl8192cu-fixes
    sudo dkms install 8192cu/1.11
    sudo depmod -a
    sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
  2. รีบูท ระบบ ตรวจสอบอีกครั้ง

วิธีแก้ที่ 11: ปิด Hardware Encryption ของอุปกรณ์เครือข่าย

หากอุปกรณ์เครือข่ายมีปัญหาเรื่องการเข้ารหัส การปิด hardware encryption อาจช่วย (ตัวอย่าง Ubuntu + RT2800PCI):

  1. รันคำสั่งใน Terminal:
    echo "options rt2800pci nohwcrypt=y"
  2. รันคำสั่งต่อไปทีละคำสั่ง:
    sudo tee /etc/modprobe.d/rt2800pci.conf
    sudo modprobe -rfv rt2800pci
    sudo modprobe -v rt2800pci
    sudo sed -i 's/3/2/' /etc/NetworkManager/conf.d/*
  3. รีสตาร์ทระบบ ตรวจสอบว่าปัญหาแก้หรือยัง

วิธีแก้ที่ 12: อัปเดต Kernel ของ Linux Distro เป็นรุ่นล่าสุด

Linux Kernel เป็นหัวใจของ OS เป็นตัวกลางระหว่างซอฟต์แวร์และฮาร์ดแวร์ Kernel อัปเดตตลอดเวลาเพื่อรองรับเทคโนโลยีใหม่และแก้บั๊ก หาก Kernel เก่า อาจก่อให้เกิดข้อผิดพลาด อัปเดต Kernel อาจช่วย (ตัวอย่าง Ubuntu):

  1. เปิด Linux shell พิมพ์:
    sudo apt-get upgrade linux-image-generic
  2. รีสตาร์ทระบบ ตรวจสอบปัญหาเครือข่าย

วิธีแก้ที่ 13: อัปเกรด Linux Distro เป็นรุ่นล่าสุด

ทุก Linux distro อัปเดตเพื่อเพิ่มฟีเจอร์และแก้บั๊ก หากใช้รุ่นเก่า อัปเกรดอาจช่วย (ตัวอย่าง Ubuntu):

  1. เปิด Terminal พิมพ์:
    sudo apt-get upgrade
  2. ใส่ รหัสผ่าน ผู้ใช้ จะแสดงรายการอัปเดต
  3. กด y ยืนยัน แล้ว Enter
  4. รออัปเดตเสร็จ ตรวจสอบปัญหา

หากไม่มีวิธีไหนช่วย อาจต้อง ติดตั้ง Linux distro ใหม่ แต่ก่อนหน้านั้น ลองคำสั่ง iwconfig, อัปเดต BIOS, ลอง WICD network manager, หรือลอง ใช้ IPV6 (Link-Local) หรือ ปิด TCP