การแจกจ่ายของฉันคือ Fedora 17 Gnome ทุกครั้งที่ฉันรีบูต / รีสตาร์ทคอมพิวเตอร์ฉันต้องเรียกใช้คำสั่งนี้ในฐานะรูท:
modprobe rt2800usb
ฉันจะทำให้มันถาวรได้อย่างไร
การแจกจ่ายของฉันคือ Fedora 17 Gnome ทุกครั้งที่ฉันรีบูต / รีสตาร์ทคอมพิวเตอร์ฉันต้องเรียกใช้คำสั่งนี้ในฐานะรูท:
modprobe rt2800usb
ฉันจะทำให้มันถาวรได้อย่างไร
คำตอบ:
บน distro ใด ๆ ที่ใช้systemd
คุณจะสามารถโหลดโมดูลผ่านmodules-load.d
:
สร้างไฟล์ปรับแต่ง:
/etc/modules-load.d/rt2800usb.conf
เปิดและแก้ไขเช่นนี้ (เพิ่มชื่อโมดูล):
rt2800usb
ครั้งต่อไปที่คุณรีบูตโมดูลควรโหลดโดยอัตโนมัติ
การแก้ไขปัญหา:
ตรวจสอบว่าsystemd
บริการโหลดโมดูล:
systemctl status systemd-modules-load.service
ผลลัพธ์ควรมีลักษณะดังนี้:
systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
Active: active (exited) since Wed, 03 Apr 2013 22:50:57 +0000; 46s ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 260 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)
บรรทัดสุดท้ายมีPID
(ID กระบวนการ) และรหัสออก status=0/SUCCESS
หมายถึงโมดูลถูกแทรกสำเร็จยืนยันโดย:
journalctl -b _PID=260
การส่งออกเป็น:
Apr 03 22:50:57 mxhst systemd-modules-load[260]: Inserted module 'rt2800usb'
ในกรณีที่ล้มเหลวsystemctl
เอาต์พุตจะเป็นดังนี้:
systemd-modules-load.service - Load Kernel Modules
Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
Active: failed (Result: exit-code) since Wed, 03 Apr 2013 22:50:59 +0000; 43s ago
Docs: man:systemd-modules-load.service(8)
man:modules-load.d(5)
Process: 260 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
ด้วยjournalctl -b
การรายงาน:
Apr 03 22:50:59 mxhst systemd-modules-load[260]: Failed to find module 'fakert2800usb'
เมื่อรหัสทางออก0/SUCCESS
หมายความว่าโมดูลของคุณได้รับการใส่สำเร็จแล้ว วิ่ง
lsmod | grep rt2800
ควรยืนยันว่า:
rt2800usb 26854 0
rt2x00usb 19757 1 rt2800usb
rt2800lib 64762 1 rt2800usb
rt2x00lib 66520 3 rt2x00usb,rt2800lib,rt2800usb
mac80211 578735 3 rt2x00lib,rt2x00usb,rt2800lib
หากlsmod
ส่งออกไม่ได้ยืนยัน (แม้จะมีบริการรหัสทางออกเป็นอยู่0/SUCCESS
) modules-load.service
มันหมายถึงสิ่งที่ลบออกโมดูลหลังจากที่ถูกโหลดโดย สาเหตุหนึ่งที่เป็นไปได้คือ*.conf
ไฟล์อื่นที่ขึ้นบัญชีดำของโมดูล ค้นหาบรรทัดที่ชอบ:
blacklist rt2800usb
ใน/etc/modprobe.d/*.conf
, /usr/lib/modprobe.d/*.conf
หรือ/run/modprobe.d/*.conf
และแสดงความคิดเห็นออก / ลบ
ในการโหลดโมดูลเมื่อบู๊ตเครื่องคุณสร้างไฟล์/etc/modules-load.d/
ขึ้นมา ไฟล์นี้สามารถมีชื่อใด ๆ แต่ต้องลงท้าย.conf
ด้วย ในกรณีของไดรเวอร์ wifi คุณสามารถสร้างไฟล์/etc/modules-load.d/rt2800.conf
ได้
ในไฟล์เพิ่มบรรทัดเดียวด้วยชื่อของโมดูลที่คุณต้องการโหลดดังนี้:
rt2800usb
หน้า Arch Wiki บนเคอร์เนลโมดูลมีข้อมูลเพิ่มเติม