Phân phối của tôi là Fedora 17 Gnome. Mỗi lần tôi khởi động lại / khởi động lại máy tính, tôi cần chạy lệnh này với quyền root:
modprobe rt2800usb
Làm thế nào tôi có thể làm cho nó vĩnh viễn?
Phân phối của tôi là Fedora 17 Gnome. Mỗi lần tôi khởi động lại / khởi động lại máy tính, tôi cần chạy lệnh này với quyền root:
modprobe rt2800usb
Làm thế nào tôi có thể làm cho nó vĩnh viễn?
Câu trả lời:
Trên bất kỳ bản phân phối nào, systemd
bạn có thể tự động tải mô-đun qua modules-load.d
:
tạo tập tin cấu hình:
/etc/modules-load.d/rt2800usb.conf
mở nó và chỉnh sửa như thế này (thêm tên mô-đun):
rt2800usb
lần sau bạn khởi động lại mô-đun sẽ được tự động tải
Xử lý sự cố:
Kiểm tra xem systemd
dịch vụ có tải mô-đun không:
systemctl status systemd-modules-load.service
Đầu ra sẽ trông như thế này:
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)
Dòng cuối cùng chứa PID
(id quá trình) và mã thoát. status=0/SUCCESS
có nghĩa là mô-đun đã được chèn thành công, được xác nhận bởi:
journalctl -b _PID=260
đầu ra là:
Apr 03 22:50:57 mxhst systemd-modules-load[260]: Inserted module 'rt2800usb'
Trong trường hợp thất bại, systemctl
đầu ra trông như thế này:
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)
có journalctl -b
báo cáo:
Apr 03 22:50:59 mxhst systemd-modules-load[260]: Failed to find module 'fakert2800usb'
Khi mã thoát là 0/SUCCESS
nó có nghĩa là mô-đun của bạn đã được chèn thành công; đang chạy
lsmod | grep rt2800
cần xác nhận rằng:
rt2800usb 26854 0
rt2x00usb 19757 1 rt2800usb
rt2800lib 64762 1 rt2800usb
rt2x00lib 66520 3 rt2x00usb,rt2800lib,rt2800usb
mac80211 578735 3 rt2x00lib,rt2x00usb,rt2800lib
Nếu lsmod
đầu ra không xác nhận (mặc dù mã thoát dịch vụ đang tồn tại 0/SUCCESS
), điều đó có nghĩa là một cái gì đó đã loại bỏ mô-đun sau khi được tải bởi modules-load.service
. Một nguyên nhân có thể là một *.conf
tập tin khác nằm trong danh sách đen của mô-đun. Tìm một dòng như:
blacklist rt2800usb
trong /etc/modprobe.d/*.conf
, /usr/lib/modprobe.d/*.conf
hoặc /run/modprobe.d/*.conf
và nhận xét nó ra / xóa nó.
Để tải một mô-đun khi khởi động, bạn tạo một tệp trong /etc/modules-load.d/
; tập tin này có thể có bất kỳ tên nào, nhưng phải kết thúc bằng .conf
. Trong trường hợp trình điều khiển wifi của bạn, ví dụ bạn có thể tạo tệp /etc/modules-load.d/rt2800.conf
.
Trong tệp, thêm một dòng với tên của mô-đun bạn muốn tải như vậy:
rt2800usb
Trang Arch Wiki trên các mô-đun Kernel có nhiều thông tin hơn.