Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> WiFi

คู่มือติดตั้ง Driver Wi-Fi Adapter บน AML-S905X-CC (Le Potato) แบบทีละขั้นตอน

ถ้าคุณเป็นนักพัฒนา คุณอาจคุ้นเคยกับ Raspberry Pi แตคุณอาจไม่รู้จัก Libre Computer AML-S905X-CC — ที่เรียกว่า Le Potato

มีการขาดแคลนชิปในช่วงแพนเดมิก ทำให้ราคา Raspberry Pi เพิ่มขึ้น เหตุการณ์โลกอื่นๆ ก็ทำให้ราคา Raspberry Pi กระโดดสูง และการผลิตบางรุ่นยุติลง คุณอ่านเพิ่มเติมได้ที่นี่

เพราะฉะนั้น ผมรู้สึกว่าการเปลี่ยนไปใช้ Raspberry Pi alternative จะเป็นตัวเลือกที่ดีสำหรับโปรเจกต์ที่ผมอยากทำ

Le Potato คล้าย Raspberry Pi ด้านรูปลักษณ์ การตั้งค่า และอื่นๆ มันยังรันระบบปฏิบัติการได้หลายอย่าง เช่น Ubuntu, Debian, Raspbian, Android และอื่นๆ

แตเสียดายที่ มันไม่มาพร้อม Wi-Fi module ติดเครื่องมาก่อน ในขณะที่ Raspberry Pi มี Wi-Fi module ติดมาก่อน

ในบทความนี้ ผมจะให้คำแนะนำทีละขั้นตอนที่ชัดเจน สำหรับการติดตั้ง driver Wi-Fi adapter ภายนอกบน Le Potato ที่รัน Ubuntu OS สำหรับผู้ที่รัน OS อื่นๆ ลองทำตามขั้นตอนเหล่านี้ได้ แตผมไม่รับประกันว่าจะทำงานแน่นอน

มาดู accessories ของผมกันก่อน

นี่คืออุปกรณ์ Le Potato ของผม:

คู่มือติดตั้ง Driver Wi-Fi Adapter บน AML-S905X-CC (Le Potato) แบบทีละขั้นตอน Le Potato Device

และนี่คือ Zebronics External WiFi Adapter ของผม:

คู่มือติดตั้ง Driver Wi-Fi Adapter บน AML-S905X-CC (Le Potato) แบบทีละขั้นตอน Zebronics External WiFi Adapter

ลองผิดลองถูก — สิ่งที่ไม่ได้ผล

ก่อนที่ผมจะหาวิธีแก้และติดตั้ง Wi-Fi driver สำเร็จ สามารถเข้าถึงอินเทอร์เน็ตด้วย Wi-Fi adapter ได้ ผมลองหลายวิธี แตไม่มีอะไรทำงาน

นี่คือสิ่งที่ผมลอง:

  1. พยายามติดตั้ง driver จาก CD ที่มาพร้อม Wi-Fi adapter แตผมไม่เข้าใจขั้นตอนที่ขอ และสุดท้ายเจอ error เยอะมาก
  2. ดาวน์โหลด driver ที่ตรงกับอุปกรณ์นี้จากเว็บไซต์ทางการของ Zebronics อีกครั้งก็ไม่ได้ผล
  3. ลองติดตั้ง open source drivers จาก GitHub ที่ fork มาจาก Realtek source หลายคน ก็ไม่ได้ผลเหมือนที่คาดหวัง

สุดท้าย ผมเจอคำตอบจากฟอรัม Ubuntu Q&A และติดตั้งสำเร็จครั้งแรก แตขั้นตอนไม่ชัดเจนมากตอนแรก ผมจัดการทำเข้าใจออก ดังนั้นผมจะอธิบายวิธีทำที่นี่

วิธีติดตั้ง WiFi Adapter Driver สำหรับ Le Potato บน Ubuntu

ทำตามขั้นตอนด้านล่างเพื่อติดตั้ง driver บนอุปกรณ์ของคุณ:

ติดตั้ง dependencies

ขั้นตอนแรกคือติดตั้งซอฟต์แวร์ที่จำเป็น

คุณต้องติดตั้ง git, dkms, build-essential, และ linux-headers สำหรับสถาปัตยกรรมของระบบ

คุณสามารถติดตั้งทั้งหมดในคำสั่งเดียว:

sudo apt-get install -y build-essential git dkms linux-headers-$(uname -r) 

ถ้าคุณถูก prompt (yes/no) ขณะรันคำสั่งข้างต้น แค่กด y (คือยอมติดตั้งซอฟต์แวร์ในระบบ)

ดาวน์โหลด driver source

Driver สำหรับบางอุปกรณ์จะไม่มีในรูปแบบติดตั้ง/รันได้ ในกรณีแบบนี้ คุณควรดาวน์โหลด compile และติดตั้ง source code บนเครื่องโดยตรง เสียดายที่ driver นี้ก็อยู่ในประเภทนี้

เราสามารถดาวน์โหลด source ของ driver นี้จาก GitHub รันคำสั่งต่อไปนี้ใน terminal เพื่อดาวน์โหลด source code:

git clone https://github.com/kelebek333/rtl8188fu 

Build และติดตั้ง driver

ก่อน build และติดตั้ง driver คุณต้องรู้จักคำสั่ง dkms ใน Linux ถ้าคุณรู้จัก dkms ข้ามย่อหน้านี้ไปได้เลย

DKMS ย่อมาจาก Dynamic Kernel Module Support เป็นโปรแกรม/เฟรมเวิร์กที่ให้คุณติดตั้ง supplementary versions ของ kernel modules Package สามารถ compile และติดตั้งเข้า kernel tree DKMS ถูกเรียกอัตโนมัติเมื่อติดตั้ง Ubuntu kernel-image packages ใหม่ ดังนั้น modules ที่เพิ่มเข้า DKMS จะถูกนำไปพร้อมกับการอัปเดตอัตโนมัติ

นี่คือ source package ที่เราดาวน์โหลดในขั้นตอนก่อนหน้า เราต้อง add, compile, และติดตั้ง source package เข้า kernel tree ของเรา

รันคำสั่งต่อไปนี้ตามลำดับเพื่อ add, compile และติดตั้ง driver package:

เพิ่ม Source เข้า Kernel

sudo dkms add ./rtl8188fu 

Compile source package

sudo dkms build rtl8188fu/1.0 

ติดตั้ง package เข้า kernel tree

sudo dkms install rtl8188fu/1.0 

Copy firmware

Compiled binary firmware file ควรถูก copy ไปที่ default firmware location ใน Linux คือ /lib/firmware

Firmware คือซอฟต์แวร์ที่เปิดใช้การสื่อสารระหว่างฮาร์ดแวร์และซอฟต์แวร์ มันให้คำสั่งเครื่องจักรที่ทำให้ฮาร์ดแวร์ทำงาน

รันคำสั่งต่อไปนี้เพื่อ copy compiled firmware:

sudo cp ./rtl8188fu/firmware/rtl8188fufw.bin /lib/firmware/rtlwifi/ 

ปิด power saving และ auto suspend modes บน kernel

เป็นไอเดียที่ดีที่จะปิด power saving และ auto suspend modes สำหรับ Wi-Fi drivers ดังนั้น คุณต้องเพิ่ม option นี้เป็น default ตอน update kernel ด้วย คุณสามารถเพิ่ม configuration นี้ในไฟล์ .conf ในไดเรกทอรี /etc/modprobe.d/

เราสร้างไฟล์ conf นี้ใน /etc/modprobe.d เพราะเราต้องการโหลด customized module นี้พร้อมกับการเปลี่ยนแปลงที่คงอยู่

คุณใช้ flag rtw_power_mgnt ควบคุม power saving mode:

  • 0 — ปิด power saving
  • 1 — Power saving เปิดพร้อม minPS
  • 2 — Power saving เปิดพร้อม maxPS

คุณใช้ flag rtw_enusbss ควบคุม auto-suspend mode:

  • 0 — ปิด auto suspend
  • 1 — เปิด auto suspend

รันคำสั่งต่อไปนี้เพื่อสร้างไฟล์ .conf และเก็บ options:

sudo mkdir -p /etc/modprobe.d/
sudo touch /etc/modprobe.d/rtl8188fu.conf
echo "options rtl8188fu rtw_power_mgnt=0 rtw_enusbss=0" | sudo tee /etc/modprobe.d/rtl8188fu.conf 

Blacklist module ที่มีอยู่แล้ว

คุณต้อง blacklist module ที่คุณพยายามติดตั้งก่อนหน้านี้

หมายเหตุ: การ blacklist module จะไม่ให้มันโหลดอัตโนมัติ แต module อาจโหลดได้ถ้า module อื่นที่ไม่ได้ blacklist ขึ้นอยู่กับมัน หรือถ้าโหลดด้วยตนเอง

สมมติว่าคุณเพิ่ม module ชื่อ rtl8188au แล้ว คุณต้อง blacklist มันโดยเพิ่มบรรทัดต่อไปนี้ท้ายไฟล์ /etc/modprobe.d/blacklist.conf

blacklist rtl8188au 

ถ้าคุณไม่ได้เพิ่ม module แบบนั้น ข้ามส่วน blacklist ได้

Reload module

คุณต้อง reload module เพื่อให้มันเริ่มทำงาน

นี่คือคำสั่ง reload module ที่เราเพิ่งเพิ่ม:

sudo modprobe -rv rtl8188fu && sudo modprobe -v rtl8188fu 

เสร็จแล้ว! คุณควรเห็น Wi-Fi เปิดใช้งานบน Le Potato ที่รัน Ubuntu OS แล้ว ถ้ายังไม่เห็น ให้ reboot ระบบ และทุกอย่างควรจะโอเค

คู่มือติดตั้ง Driver Wi-Fi Adapter บน AML-S905X-CC (Le Potato) แบบทีละขั้นตอน พยายามเชื่อมต่อเครือข่ายหลังติดตั้ง driver

คู่มือติดตั้ง Driver Wi-Fi Adapter บน AML-S905X-CC (Le Potato) แบบทีละขั้นตอน เชื่อมต่อ Wi-Fi network ของผมสำเร็จ

สรุป

ในบทความนี้ เราได้ผ่านขั้นตอนการติดตั้ง driver สำหรับ external Wi-Fi adapter ของเรา

นี่คือขั้นตอนพื้นฐานที่แน่นอนที่คุณต้องทำตามเพื่อเพิ่ม external module ใดๆ เข้า kernel ของคุณ

สมัครรับ newsletter ของผมเพื่อรับบทความมี’insight’แบบนี้ส่งตรงเข้าอีเมล

เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพนซอร์สของ freeCodeCamp ช่วยให้ผู้คน 40,000+ คนได้งานเป็นนักพัฒนา เริ่มต้นเลย