Moja dystrybucja to Fedora 17 Gnome. Za każdym razem, gdy ponownie uruchamiam / restartuję komputer, muszę uruchomić tę komendę jako root:
modprobe rt2800usb
Jak mogę to zrobić na stałe?
Moja dystrybucja to Fedora 17 Gnome. Za każdym razem, gdy ponownie uruchamiam / restartuję komputer, muszę uruchomić tę komendę jako root:
modprobe rt2800usb
Jak mogę to zrobić na stałe?
Odpowiedzi:
Przy każdej dystrybucji systemd
możesz automatycznie załadować moduł poprzez modules-load.d
:
utwórz plik konfiguracyjny:
/etc/modules-load.d/rt2800usb.conf
otwórz i edytuj w ten sposób (dodaj nazwę modułu):
rt2800usb
przy następnym uruchomieniu moduł powinien zostać automatycznie załadowany
Rozwiązywanie problemów:
Sprawdź, czy systemd
usługa załadowała moduł:
systemctl status systemd-modules-load.service
Dane wyjściowe powinny wyglądać następująco:
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)
Ostatni wiersz zawiera PID
(identyfikator procesu) i kod wyjścia. status=0/SUCCESS
oznacza, że moduł został pomyślnie wstawiony, potwierdzony przez:
journalctl -b _PID=260
wyjście jest:
Apr 03 22:50:57 mxhst systemd-modules-load[260]: Inserted module 'rt2800usb'
W przypadku awarii systemctl
dane wyjściowe wyglądają następująco:
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)
z journalctl -b
raportowaniem:
Apr 03 22:50:59 mxhst systemd-modules-load[260]: Failed to find module 'fakert2800usb'
Gdy kod zakończenia 0/SUCCESS
oznacza, że moduł został pomyślnie wstawiony; bieganie
lsmod | grep rt2800
powinien potwierdzić, że:
rt2800usb 26854 0
rt2x00usb 19757 1 rt2800usb
rt2800lib 64762 1 rt2800usb
rt2x00lib 66520 3 rt2x00usb,rt2800lib,rt2800usb
mac80211 578735 3 rt2x00lib,rt2x00usb,rt2800lib
Jeśli lsmod
dane wyjściowe nie potwierdzają (pomimo tego, że jest to kod wyjścia usługi 0/SUCCESS
), oznacza to, że moduł został usunięty po załadowaniu modules-load.service
. Jedną z możliwych przyczyn jest inny *.conf
plik, który umieścił moduł na czarnej liście. Poszukaj linii takiej jak:
blacklist rt2800usb
w /etc/modprobe.d/*.conf
, /usr/lib/modprobe.d/*.conf
lub /run/modprobe.d/*.conf
i skomentuj / usuń.
Aby załadować moduł podczas rozruchu, należy utworzyć plik w /etc/modules-load.d/
; ten plik może mieć dowolną nazwę, ale musi kończyć się na .conf
. W przypadku sterownika Wi-Fi możesz na przykład utworzyć plik /etc/modules-load.d/rt2800.conf
.
W pliku dodaj pojedynczy wiersz z nazwą modułu, który chcesz załadować:
rt2800usb
Strona Arch Wiki na temat modułów jądra zawiera więcej informacji.