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, systemdbạ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 systemddị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/SUCCESScó 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 -bbáo cáo:
Apr 03 22:50:59 mxhst systemd-modules-load[260]: Failed to find module 'fakert2800usb'
Khi mã thoát là 0/SUCCESSnó 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 *.conftậ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/*.confhoặc /run/modprobe.d/*.confvà 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.