Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> WiFi

Hướng dẫn cài Driver Wi-Fi Adapter trên AML-S905X-CC (Le Potato) từng bước

Nếu bạn là lập trình viên, có thể quen với Raspberry Pi. Nhưng bạn có thể không biết về Libre Computer AML-S905X-CC — còn gọi là Le Potato.

Sự khan hiếm chip trong đại dịch đã làm tăng giá Raspberry Pi. Những sự kiện khác cũng làm giá Raspberry Pi tăng vọt, và sản xuất một vài mẫu thậm chí dừng lại. Đọc thêm ở đây.

Vì vậy, tôi thấy chuyển sang thay thế Raspberry Pi là lựa chọn tốt cho dự án tôi muốn làm.

Le Potato tương tự Raspberry Pi về hình thức, cấu hình, v.v. Nó cũng chạy được nhiều hệ điều hành như Ubuntu, Debian, Raspbian, Android, v.v.

Nhưng tiếc là nó không có module Wi-Fi sẵn, trong khi Raspberry Pi có Wi-Fi built-in.

Trong bài này, tôi sẽ đưa ra hướng dẫn từng bước rõ ràng để cài driver bộ thích ứng Wi-Fi ngoài (external wifi adapter) trên Le Potato chạy Ubuntu OS. Đối với các hệ điều hành khác, bạn có thể thử các bước sau, nhưng tôi không đảm bảo chắc chắn hoạt động.

Nhanh chóng xem phụ kiện của tôi.

Thiết bị Le Potato của tôi:

Le Potato Device

Và bộ thích ứng Wi-Fi ngoài Zebronics:

Zebronics External Wifi Adapter

Thử và sai — Những gì KHÔNG hoạt động

Trước khi tìm ra giải pháp cuối và cài thành công driver Wi-Fi để truy cập internet, tôi đã thử nhiều cách. Nhưng không cái nào thành công.

Đây là những gì tôi thử:

  1. Cài driver từ CD kèm theo bộ thích ứng Wi-Fi. Nhưng không hiểu các bước họ yêu cầu và cuối cùng gặp nhiều lỗi.
  2. Tải driver chính xác cho thiết bị này từ trang chủ Zebronics. Lại không thành công.
  3. Thử cài một số driver mã nguồn mở từ GitHub fork từ nguồn Realtek. Cũng không hoạt động như mong đợi.

Cuối cùng, tìm thấy câu trả lời trên diễn đàn Ubuntu Q&A và cài thành công lần đầu. Mặc dù bước không rõ ràng lúc đầu, tôi đã giải quyết được. Vậy tôi sẽ giải thích cách làm ở đây.

Cách cài Driver Wi-Fi Adapter cho Le Potato trên Ubuntu

Làm theo các bước dưới để cài driver trên thiết bị:

Cài đặt các gói phụ thuộc

Bước đầu là cài phần mềm cần thiết.

Bạn cần cài git, dkms, build-essential, và linux-headers cho kiến trúc hệ thống.

Có thể cài tất cả cùng lúc một lệnh:

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

Nếu được hỏi (yes/no) khi chạy lệnh trên, chỉ cần bấm y (đồng ý cài phần mềm).

Tải nguồn driver

Driver một số thiết bị không có sẵn dạng cài đặt/thực thi. Trong trường hợp đó, bạn phải tải, biên dịch, và cài mã nguồn trực tiếp trên máy. Rất tiếc, driver này cũng rơi vào trường hợp này.

Chúng ta tải nguồn driver từ GitHub. Chạy lệnh sau trong terminal để tải mã nguồn:

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

Biên dịch và cài driver

Trước khi biên dịch và cài, cần biết lệnh dkms trong Linux. Nếu đã biết, bỏ qua đoạn này.

DKMS là viết tắt của Dynamic Kernel Module Support. Là chương trình/khung cho phép cài các phiên bản bổ sung của module kernel. Gói có thể được biên dịch và cài vào cây kernel. DKMS được gọi tự động khi cài gói kernel-image Ubuntu mới, vậy module thêm vào DKMS sẽ tự động mang qua các bản cập nhật.

Đây là gói nguồn tải ở bước trước. Cần thêm, biên dịch, và cài gói nguồn vào cây kernel.

Chạy lần lượt các lệnh sau để thêm, biên dịch và cài gói driver:

Thêm nguồn vào Kernel

sudo dkms add ./rtl8188fu

Biên dịch gói nguồn

sudo dkms build rtl8188fu/1.0

Cài gói vào cây kernel

sudo dkms install rtl8188fu/1.0

Sao chép firmware

File firmware nhị phân biên dịch xong nên copy đến vị trí firmware mặc định trong Linux, là /lib/firmware.

Firmware là phần mềm cho phép giao tiếp giữa phần cứng và phần mềm. Nó đưa ra hướng dẫn máy móc khiến phần cứng hoạt động.

Chạy lệnh sau để copy firmware đã biên dịch:

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

Tắt chế độ tiết kiệm điện và auto-suspend trên kernel

Luôn là ý tưởng tốt tắt chế độ tiết kiệm điện và auto-suspend cho driver Wi-Fi. Vậy bạn cần thêm tùy chọn này mặc định khi cập nhật kernel. Có thể thêm cấu hình trong file .conf trong thư mục /etc/modprobe.d/.

Tạo file conf trong /etc/modprobe.d vì cần load module tùy chỉnh với thay đổi bền vững.

Dùng cờ rtw_power_mgnt để kiểm soát chế độ tiết kiệm điện:

  • 0 - Tắt tiết kiệm điện
  • 1 - Bật tiết kiệm điện với minPS
  • 2 - Bật tiết kiệm điện với maxPS

Dùng cờ rtw_enusbss để kiểm soát auto-suspend:

  • 0 - Tắt auto suspend
  • 1 - Bật auto suspend

Chạy lệnh sau để tạo file .conf và lưu tùy chọn:

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 hiện có

Bạn phải blacklist module bạn từng thử cài trước đó.

Lưu ý: Blacklist module sẽ không cho nó load tự động, nhưng module có thể load nếu module khác không bị blacklist phụ thuộc vào nó hoặc nếu load thủ công.

Giả sử bạn đã thêm module rtl8188au. Thì cần blacklist bằng cách thêm dòng sau vào cuối file /etc/modprobe.d/blacklist.conf.

blacklist rtl8188au

Nếu chưa thêm module nào như vậy, có thể bỏ qua phần blacklist.

Reload module

Cần reload module để nó bắt đầu hoạt động.

Lệnh reload module vừa thêm:

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

Xong! Bạn nên thấy Wi-Fi bật trên Le Potato chạy Ubuntu OS. Nếu không thấy, reboot hệ thống và mọi thứ ổn.

Đang thử kết nối mạng sau khi cài driver

Đã kết nối mạng Wi-Fi của tôi

Kết luận

Trong bài này, chúng ta đã đi qua các bước cài driver cho bộ thích ứng Wi-Fi ngoài.

Đây chính là các bước chính xác (cơ bản) để thêm bất kỳ module ngoài nào vào kernel của bạn.

Đăng ký newsletter của tôi để nhận thêm bài viết sâu sắc thẳng vào hộp thư.

Học lập trình miễn phí. Chương trình mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người tìm được việc làm lập trình viên. Bắt đầu ngay