Мій дистрибутив - Fedora 17 Gnome. Кожен раз, коли я перезавантажую / перезавантажую комп'ютер, мені потрібно запустити цю команду як root:
modprobe rt2800usb
Як я можу зробити його постійним?
Мій дистрибутив - Fedora 17 Gnome. Кожен раз, коли я перезавантажую / перезавантажую комп'ютер, мені потрібно запустити цю команду як root:
modprobe rt2800usb
Як я можу зробити його постійним?
Відповіді:
На будь-якому дистрибутиві, що використовує, 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
(ідентифікатор процесу) та вихідний код. 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
. У випадку з вашим драйвером Wi-Fi ви можете, наприклад, створити файл /etc/modules-load.d/rt2800.conf
.
У файл додайте один рядок з назвою модуля, який ви хочете завантажити так:
rt2800usb
На сторінці Arch Wiki про модулі ядра є додаткова інформація.