อแด็ปเตอร์ WiFi ของฉันไม่ทำงานเลยจะแก้ไขปัญหาได้อย่างไร


55

ในเว็บไซต์นี้ฉันเห็นหลายร้อยถ้าไม่ใช่คำถามพันข้อที่ถูกถามเกี่ยวกับปัญหาเกี่ยวกับอะแดปเตอร์ LAN ไร้สายที่ไม่ได้รับการตรวจพบ / รู้จักโดยอูบุนตู อะแดปเตอร์หลักบางตัวดูเหมือนจะใช้งานไม่ได้อย่างเต็มที่ในการรองรับ Linux ในขณะที่อะแดปเตอร์อื่น ๆ ต้องการเพียงขั้นตอนง่าย ๆ ในการใช้งาน

ตัวเลือกที่จะทำให้มันทำงานดูเหมือนจะใหญ่โตเหลือเกินและฉันก็ไม่รู้ว่าจะเริ่มต้นยังไง!

การปฏิบัติที่ดีที่สุดคืออะไร สิ่งใดที่ควรลองทำมีประสิทธิภาพมากที่สุดในแง่ของเวลาความพยายามและกำหนดความเสี่ยงให้กับการติดตั้ง Ubuntu ของฉันให้น้อยที่สุด? โปรดช่วยฉันประหยัดเวลาและแนะนำฉันว่าจะทำอย่างไรทีละขั้นตอน

คำตอบ:


71

คำตอบนี้ครอบคลุม LAN ไร้สายที่ไม่สามารถใช้งานได้อย่างสมบูรณ์เท่านั้น มันไม่เกี่ยวกับปัญหาด้านความเสถียร / ประสิทธิภาพหรือกรณีทำงานครึ่ง อย่างไรก็ตามบางขั้นตอนอาจมีประโยชน์ในกรณีที่คุณพบเจอและมองหาตัวเลือกอื่น ๆ

การจัดเตรียม

ในคำตอบนี้ฉันสมมติว่าคุณคุ้นเคยกับงานต่อไปนี้อย่างน้อย: การรันคำสั่งในเทอร์มินัลและติดตั้งซอฟต์แวร์ Ubuntu ปกติ หากคุณไม่คุ้นเคยกับขั้นตอนพื้นฐานเหล่านี้เริ่มต้นการอ่านนี้และนี้

  1. รับเครื่องที่เชื่อมต่อกับอินเทอร์เน็ต ทำให้ขั้นตอนง่ายขึ้นมากและใช้คลิปบอร์ดสำหรับการดำเนินการ

    หากการ์ดเครือข่ายอื่นทำงานได้สิ่งนี้น่าจะง่าย หากการ์ดใบเดียวของคุณล้มเหลวในตอนนี้ให้หาทางเลือกอื่นและใช้ความคิดสร้างสรรค์เช่นการใช้อะแดปเตอร์เครือข่ายแบบใช้สาย USB หรืออะแดปเตอร์ WiFi ที่ใช้งานได้อื่นที่ยืมมาจากเพื่อนหรือเพื่อนบ้าน

  2. ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งแพ็คเกจต่อไปนี้: lshw, rfkill.

  3. อัปเดตระบบของคุณ ด้วยการติดตั้งการอัปเดตระบบล่าสุด (ปกติ) ทั้งหมดการแก้ไขข้อบกพร่องที่นักพัฒนาซอฟต์แวร์เปิดตัวแล้วหลังจากการเผยแพร่ควรอยู่บนพีซีของคุณโดยทำเช่นนั้น อย่าลืมรีบูตระบบของคุณในภายหลัง ดูเพิ่มเติมฉันจะอัปเดต Ubuntu ได้อย่างไร

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

มันเป็นปัญหาไดรเวอร์จริงๆเหรอ?

ก่อนอื่นคุณควรตรวจสอบว่าการ์ดนั้นไม่ได้รับการยอมรับและ / หรือหากสวิตช์ฆ่าวิทยุทำงานไม่ได้ ทำตามขั้นตอนทั้งหมดด้านล่างเนื่องจากปัญหาของคุณอาจเป็นสองหรือสามเท่า:

  1. ทำงานsudo lshw -C networkในอาคารผู้โดยสาร

    คุณอาจต้องติดตั้งlshwก่อน

    • ในกรณีที่มีอุปกรณ์หลายตัวในรายการให้ค้นหาอุปกรณ์ที่เกี่ยวข้อง
    • ในกรณีที่มันระบุว่าเป็น*-network UNCLAIMEDคุณควรปฏิบัติตามขั้นตอนในการติดตั้ง (ใหม่) ไดรเวอร์
    • ในกรณีที่มีการระบุไว้เป็น*-network(โดยไม่มี 'ไม่มีการอ้างสิทธิ์') ผลลัพธ์ด้านล่างเกี่ยวกับไดรเวอร์อาจเกี่ยวข้องในขั้นตอนต่อไปเช่นconfiguration: broadcast=yes driver=iwlwifi
    • ในกรณีที่อุปกรณ์ของคุณไม่ปรากฏเลยลองขั้นตอนเพิ่มเติมในการระบุที่แน่นอนฮาร์ดแวร์
  2. ทำงานrfkill listในอาคารผู้โดยสาร นี่คือรายการสถานะของสวิตช์ฆ่าวิทยุ ตัวอย่างผลลัพธ์:

    1: phy0: Wireless LAN
            Soft blocked: no
            Hard blocked: no
    
    • ในกรณีที่คุณเห็นyesบนHard blocked: ดูคู่มือโน้ตบุ๊คของคุณสำหรับสวิทช์ฮาร์ดแวร์สำหรับระบบ LAN ไร้สาย
    • ในกรณีที่คุณเห็นyesบนSoft blocked: องบนโน้ตบุ๊คของคุณอาจช่วยให้เปิดใช้งานเช่นเดียวกับการกดปุ่ม "เปิดใช้งานแบบไร้สาย" ในการจัดการแอปเพล็เครือข่าย sudo rfkill unblock allถ้าว่าล้มเหลวในการลบบล็อกนุ่มทำงาน
    • ในกรณีที่คุณไม่เห็นสวิตช์ฆ่าในรายการ: สิ่งนี้อาจใช้ไม่ได้กับอุปกรณ์ของคุณ โดยปกติแล้วพีซีแบบเคลื่อนที่เท่านั้นที่ติดตั้ง killswitch
  3. สำหรับอุปกรณ์ USB เท่านั้น: ไม่รวมปัญหาระดับ USB

    • โดยเฉพาะให้ลองเชื่อมต่อกับ mainbord ของคุณโดยตรงหลีกเลี่ยงฮับหรือตัวเชื่อมต่อเคสคอมพิวเตอร์ของคุณ
    • ลองใช้พอร์ต USB ประเภทอื่น (เช่น USB2.0 แทนพอร์ต USB3.0)
    • ไปที่การระบุฮาร์ดแวร์ที่แน่นอนและดูว่าคุณสามารถเห็นข้อความแสดงข้อผิดพลาดเมื่อคุณเสียบอุปกรณ์ของคุณ
    • ลองใช้สายเคเบิลอื่น (ถ้ามี) ที่คุณยืนยันว่าใช้งานได้

การติดตั้งไดรเวอร์ (ใหม่กว่า)

เหล่านี้คือบางส่วนที่เห็นได้ชัดมีสติและไม่เป็นอันตรายขั้นตอนการดำเนินการหลีกเลี่ยงคนที่ระบุไว้ในสิ่งที่ต้องหลีกเลี่ยงถ้าเป็นไปได้

  1. ลองดูว่า Ubuntu แนะนำให้ติดตั้งไดรเวอร์เพิ่มเติมหรือไม่ อ้างอิงถึงฉันจะติดตั้งไดรเวอร์เพิ่มเติมได้อย่างไร สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำเช่นนี้

  2. ติดตั้งเฟิร์มแวร์เพิ่มเติมเนื่องจากอาจจำเป็นต้องใช้กับฮาร์ดแวร์ของคุณ

  3. ลองใช้โมดูลเคอร์เนล backported (ไดรเวอร์) จากแพ็คเกจที่รองรับระบบไร้สาย Ubuntu จัดทำแพคเกจของ compat-wireless ของเคอร์เนลลีนุกซ์รุ่นล่าสุดสำหรับเคอร์เนลที่มีการกระจายที่เสถียร (มีให้ตั้งแต่ 11.10 Oneiric Ocelot)

    • ค้นหาล่าสุดที่มีอยู่โดยการค้นหาด้วยเครื่องมือการจัดการแพ็คเกจที่คุณชื่นชอบ ในช่วงเวลาของการเขียนสิ่งนี้มีlinux-backports-modules-cw-3.6-quantal-genericไว้สำหรับ Quantal ในอนาคตอันใกล้3.7แพคเกจอาจจะออก
    • ติดตั้งเช่นsudo apt-get install linux-backports-modules-cw-3.6-quantal-genericสำหรับ Quantal หรือsudo apt-get install linux-backports-modules-cw-3.6-precise-genericสำหรับ Precise จากนั้นรีบูท

    ในกรณีที่คุณใช้งาน LTS รีลีส (เช่นแม่นยำหรือสุวิมล), backported kernels ของการเปิดตัวครั้งถัดไปทั้งหมดจะถูกจัดเป็นแพ็คเกจ ในช่วงเวลาของการเขียน Quantal เป็นรุ่นล่าสุดหลังจากแม่นยำและแพคเกจคือlinux-image-generic-lts-quantalและบูตเข้าสู่เคอร์เนลใหม่ของคุณ

  4. จากนี้ไปคุณควรลองใช้ Ubuntu รุ่นล่าสุดเพื่อดูว่าได้รับการสนับสนุนสำหรับฮาร์ดแวร์ของคุณหรือไม่เพียงแค่ทำการบูตจาก Live CD / USB ลองใช้ Beta / RC ล่าสุดของ Ubuntu + 1 ด้วย ถ้าใช้งานได้วิธีที่ง่ายที่สุดคือรอรุ่นใหม่

  5. ฮาร์ดแวร์บางตัวใช้งานไม่ได้กับการติดตั้งเริ่มต้นซึ่งโดยปกติจะเป็นเพราะผู้ขายไม่ได้ปล่อยซอร์สโค้ด (ทั้งหมด) หรือไม่อนุญาตให้แจกจ่ายโมดูลที่จำเป็นทั้งหมดผ่าน Ubuntu ดูส่วนฮาร์ดแวร์ที่ต้องการการดูแลเป็นพิเศษที่ด้านล่างเพื่อดูว่าอุปกรณ์ของคุณ (ชิปเซ็ต) อยู่ในรายการ

  6. ลองใช้เคอร์เนล Linux ที่เสถียรล่าสุด นี่เป็นวิธีที่ไม่เป็นอันตรายน้อยกว่าและอาจทำลายสิ่งอื่น ๆ ไม่ควรทำสิ่งนี้เนื่องจากไดรเวอร์ไร้สายรุ่นล่าสุดมีให้ในแพ็คเกจ compat-wireless ในตัวเลือกก่อนหน้า อย่างไรก็ตามมันอาจจะค่อนข้างใหม่กว่าและรวมถึงการแก้ไขข้อผิดพลาดช่วยให้คุณออก

    • ไปที่kernel.ubuntu.comส่วนการดาวน์โหลดและระบุรุ่นที่เสถียรล่าสุด (เช่นv3.7.1-raringตอนที่เขียน)
    • ดาวน์โหลด.debไฟล์ทั้งหมดสำหรับสถาปัตยกรรมของคุณ (เช่นamd64หรือi386) รวมถึงไฟล์ที่มีallชื่อ
    • ติดตั้งพวกเขาทั้งหมดในครั้งเดียวโดยการออกเช่น:

      cd Downloads
      sudo dpkg -i linux-headers-3.7.1-030701-generic_3.7.1-12345678_amd64.deb linux-image... # include all
      
    • และสุดท้ายรีบูทเคอร์เนลใหม่ของคุณ

    • ถ้า kernel ใหม่ไม่ทำงานสำหรับคุณหรือแนะนำปัญหาอื่น ๆ บูตระบบของคุณโดยใช้เคอร์เนลเก่า (เช่นค้างShiftในระหว่างขั้นตอนการบูตก่อนที่จะเลือกในเมนูด้วง) sudo apt-get remove linux-\*3.7.1\*แล้วเอาแพคเกจโดยใช้เช่นการจัดการแพคเกจของคุณ

การระบุฮาร์ดแวร์ที่แน่นอน

ผลิตภัณฑ์ที่คุณขายอาจถูกขายโดยใช้ชื่อค้าปลีกซึ่งไม่เกี่ยวข้องกับปัญหาของคุณอย่างสมบูรณ์ ผู้ค้าส่วนใหญ่จะใช้ชิปเซ็ตจากผู้ผลิตเช่น Broadcom, Atheros, Ralink หรือ Intel ในขณะที่ตัวผลิตภัณฑ์เองอาจไม่ใช้ชื่อนี้ หนึ่งในตัวอย่างนี้คือ11a ThinkPad / b / g / n Wireless LAN ด่วนมินิอะแดปเตอร์Atheros AR5418ในความเป็นจริงจะเป็นเพียงแค่ โดยปกติแล้วการเปลี่ยนชื่อของ Thinkpad จะไม่ส่งผลกระทบต่อการรองรับฮาร์ดแวร์ใน Linux แต่ชิปเซ็ตที่ใช้จะมีผล ดังนั้นจึงเป็นเรื่องสำคัญอย่างยิ่งที่จะต้องระบุชิปเซ็ต

  • PCI และอุปกรณ์รวม (เช่นพีซีแบบเคลื่อนที่):

    lspci -nn | grep -i network
    
  • อุปกรณ์ USB:

    lsusb
    

    ในกรณีที่คุณมีปัญหาในการระบุจากรายการนี้:

    1. ถอดปลั๊กอุปกรณ์
    2. เปิดเทอร์มินัลแล้วเรียกใช้ sudo tail -n 0 -f /var/log/syslog
    3. เสียบอุปกรณ์ใหม่และให้เคอร์เนล / อุปกรณ์สองสามวินาทีเพื่อเริ่มต้น
    4. หยุดคำสั่งโดยการกด+Ctrl Cผลลัพธ์ควรช่วยในการระบุจากรายการ
    5. unable to enumerate USB deviceตรวจสอบการกล่าวขวัญเอาท์พุท หากมีเอาต์พุตดังกล่าวแสดงว่าอุปกรณ์ของคุณล้มเหลวในการสื่อสารในระดับ USB แล้ว คุณกำลังประสบปัญหาเกี่ยวกับฮาร์ดแวร์: ตรวจสอบสายเคเบิล / ขั้วต่อที่ใช้งานไม่ได้ปัญหาเกี่ยวกับพลังงานฮับที่ใช้งานไม่ได้ฮาร์ดแวร์ที่เสียอื่น ๆ ไม่ต้องกังวลกับไดรเวอร์ในตอนนี้ - แก้ไขการสื่อสาร USB ก่อน

ในกรณีที่ฮาร์ดแวร์ของคุณไม่ได้อยู่ในรายการนี้อาจไม่เกี่ยวข้องกับอะแดปเตอร์ของคุณ แต่ข้อผิดพลาดบัส PCI / USB ทั่วไป สิ่งนี้ถือว่าอยู่นอกขอบเขตของปัญหา WiFi โปรดทราบว่าโน้ตบุ๊คบางรุ่นมีอแด็ปเตอร์ WiFi ในตัวที่เชื่อมต่อกับพอร์ต USB ภายในดังนั้นจึงอาจแสดงรายการเป็น USB ในกรณีเช่นนี้

ตัวอย่างผลลัพธ์:

$ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. ...
                            ^^^^-- product ID
                       ^^^^------- vendor ID

$ lspci -nn | grep -i network
04:00.0 Network controller [0280]: Intel Corporation [...] [8086:4238] (rev 3e)
                                                vendor ID --^^^^
                                               product ID -------^^^^

เคล็ดลับในการใช้ Google

  • ใช้หมายเลขผลิตภัณฑ์ / รหัสผู้ขายตามที่ระบุโดยคำสั่งที่ออกให้
  • ใช้เป็นคำหลักกับมันมากกว่าlinuxUbuntu
  • ลองใช้ชื่อชิปเซ็ตของอุปกรณ์ตามที่ระบุไว้ในการส่งออกในขั้นตอนของการระบุที่แน่นอนฮาร์ดแวร์ ตัวอย่าง: AR9285, BCM4311, +Intel6300
  • หลีกเลี่ยงการใช้คำหลักที่ไม่เกี่ยวข้องกับการสนับสนุนฮาร์ดแวร์ เช่นสภาพแวดล้อมเดสก์ทอปของคุณไม่เกี่ยวข้องเพื่อใช้แทนUbuntuLubuntu
  • พยายามที่จะละเอียดอ่อนสำหรับข้อมูล 'ทั่วไป' เกี่ยวกับอุปกรณ์ของคุณแทนที่จะมุ่งเน้นไปที่โซลูชันเฉพาะเช่น "จำเป็นต้องมีเฟิร์มแวร์สำหรับอุปกรณ์นี้" หรือรายงานของผู้ใช้ที่ทำงานนอกกรอบในรุ่นก่อนหน้า

ฉันไม่มีโชคกับตัวเลือกทั้งหมด ฉันควรให้อะไรกับคำถามใหม่

ก่อนโพสต์คำถามใหม่, ค้นหาเว็บไซต์นี้โดยใช้คำหลักจากการระบุที่แน่นอนฮาร์ดแวร์

  • เอาต์พุตที่เกี่ยวข้อง (ไม่คาดคิดหรือข้อผิดพลาด) ที่เกี่ยวข้องทั้งหมดจากตัวเลือกในคำตอบนี้
  • การส่งออกที่เกี่ยวข้องของขั้นตอนในการทำในการระบุที่แน่นอนฮาร์ดแวร์ส่วน
  • เคอร์เนลที่คุณใช้งานอยู่และเวอร์ชั่นที่คุณได้ลอง ใช้uname -rคำสั่งเพื่อระบุรุ่นเคอร์เนลของคุณ
  • เวอร์ชันอื่น ๆ ของ Ubuntu ที่คุณได้ลอง

สิ่งที่ต้องหลีกเลี่ยงถ้าเป็นไปได้

  • รวบรวมจากแหล่ง (เช่นวิ่งmake, sudo make install)

    • สิ่งนี้อาจเขียนทับไฟล์ระบบและสร้างความสับสนให้กับการจัดการแพ็คเกจของคุณ การติดตั้งด้วยวิธีนี้อาจใช้งานได้ แต่อาจแตกได้ตลอดเวลาในภายหลังหากการจัดการแพ็คเกจอัพเดตเขียนทับไฟล์อีกครั้ง
    • อาจนำไปสู่ข้อผิดพลาดที่ไม่คาดคิดซึ่งอาจแก้ไขได้ยากสำหรับผู้ใช้มือใหม่
    • เป็นการยากที่จะเลิกทำการเปลี่ยนแปลงทั้งหมดsudo make installในกรณีที่คุณต้องการยกเลิกการกระทำของคุณ
  • วิธีการของ Ndiswrapper

    • 'wrapper' รอบไดรเวอร์ Windows นี้ควรพยายามเป็นทางเลือกสุดท้ายเท่านั้นเนื่องจากไม่มีประสิทธิภาพในการจำลองสภาพแวดล้อม Windows บน Linux สำหรับไดรเวอร์ฮาร์ดแวร์
    • ความเสถียรและประสิทธิภาพมักรายงานว่าต่ำ

ฮาร์ดแวร์ที่ต้องการการดูแลเป็นพิเศษ

  • อุปกรณ์ Broadcom BCM43xx โปรดอ้างอิงคำตอบนี้สำหรับการสอนที่ดีเกี่ยวกับการทำให้อุปกรณ์เหล่านี้ทำงาน

คำตอบที่ยอดเยี่ยม
เดนิส

1
ขอบคุณสำหรับคำตอบที่ดี แต่ฉันไม่สามารถติดตั้ง linux-firmware-nonfree บน Ubuntu 16.04 ได้ โดยไม่คำนึงถึงรายการแหล่งที่มา มันอาจจะถูกแทนที่อย่างใด?
Bunyk

Bunykลองค้นหาแพ็คเกจของ distro ของคุณโดยใช้sudo apt search (package name)และดูว่าบรรจุภัณฑ์นั้นอาจมีการเปลี่ยนชื่อหรือไม่
Yokai

เป็นขั้นตอนแรกที่ง่ายกว่ามากคุณสามารถลองปิดใช้งาน Secure Boot ใน UEFI / BIOS น่ารำคาญที่ใช้งานได้สำหรับฉัน ไม่มีความสุขกับการที่พวกเขาเป็นเอกสิทธิ์ในโยคะของฉัน 3
Chiramisu

1

ในคอมพิวเตอร์บางเครื่องรวมถึง 2013 Macbook Air จะมีไดรเวอร์ wifi ที่ถูกต้อง แต่ไม่ได้เปิดใช้งานตามค่าเริ่มต้นเนื่องจากเป็นกรรมสิทธิ์ เปิดแอปพลิเคชัน "ซอฟต์แวร์ & การอัปเดต" ไปที่แท็บ "ไดรเวอร์เพิ่มเติม" และหากมีไดรเวอร์ใด ๆ ที่ระบุไว้สำหรับอะแดปเตอร์ไร้สายของคุณให้เปิดใช้งานและกดใช้การเปลี่ยนแปลง หากพวกเขาเป็นคนขับที่ถูกต้อง WiFi ของคุณจะเริ่มทำงานทันที

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