मेरा वितरण फेडोरा 17 सूक्ति है। हर बार जब मैं अपने कंप्यूटर को रीबूट / रीस्टार्ट करता हूं तो मुझे इस कमांड को रूट के रूप में चलाने की आवश्यकता होती है:
modprobe rt2800usb
मैं इसे स्थायी कैसे बना सकता हूं?
मेरा वितरण फेडोरा 17 सूक्ति है। हर बार जब मैं अपने कंप्यूटर को रीबूट / रीस्टार्ट करता हूं तो मुझे इस कमांड को रूट के रूप में चलाने की आवश्यकता होती है:
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
। अपने वाईफाई ड्राइवर के मामले में, आप उदाहरण के लिए फ़ाइल बना सकते हैं /etc/modules-load.d/rt2800.conf
।
फ़ाइल में, मॉड्यूल के नाम के साथ एक एकल पंक्ति जोड़ें जिसे आप लोड करना चाहते हैं:
rt2800usb
कर्नेल मॉड्यूल पर आर्क विकी पृष्ठ में अधिक जानकारी है।