मेरे पास एक कॉम्पैक प्रेसारियो CQ-61 320SQ है, मैं Ubuntu 10.04 का उपयोग कर रहा हूं क्योंकि 10.10 पर अपडेट होने के बाद मेरा माउस और टचपैड काम नहीं करेगा, नेटवर्क काम नहीं करेगा, ध्वनि काम नहीं करेगी ... (मैं सबसे ज्यादा ठीक करने में कामयाब रहा लगभग एक महीने तक चले जाने के बाद उन्हें, लेकिन सभी को नहीं, मेरे 2 डेस्कटॉप को 10.10 से कोई समस्या नहीं है) इसलिए मैंने 10.04 पर वापस जाने का फैसला किया, जहाँ मुझे समस्या है:
मेरी ब्रॉडबैंड की गति कर्नेल मॉड्यूल की बहुत कम है r8169
, मैंने अच्छे मॉड्यूल को डाउनलोड किया r8101
और हर बार कंप्यूटर के बूट में rc.local
इसे ठीक करने के लिए एक प्रविष्टि होती है।
प्रश्न:
क्या मैं एक विशिष्ट स्थान से स्थायी रूप से मॉड्यूल लोड कर सकता हूं। मैंने सुना है /etc/modules
, लेकिन मुझे मॉड्यूल नाम की आवश्यकता है, लेकिन मुझे इसे एक विशिष्ट पथ से लोड करना होगा (उस के लिए डिफ़ॉल्ट पथ कहां है)?
धन्यवाद।
इसलिए मैंने स्क्रिप्ट का अध्ययन किया:
यह फ़ाइल बनाता r8101.ko
है /lib/modules/`uname -r`/kernel/drivers/net
इसलिए मुझे लगता है कि जब तक कोई भी उस फ़ाइल को नहीं हटाएगा, और मैं कर्नेल को अपडेट नहीं करता, शायद काम r8108
करने के लिए जोड़ /etc/modules
देगा, और r8169
ब्लैकलिस्ट में जोड़ देगा ... मैं इसे आज़माऊंगा।
EDIT2:
तो मैं r8101
करने के लिए /etc/modules
और blacklist r8169
करने के लिए जोड़ा /etc/modprobe.d/blacklist.conf
। यह अभी भी पुराने मॉड्यूल का उपयोग करता है।
radu@adu:~$ lsmod | grep r8
r8101 67626 0
r8169 34108 0
mii 4381 1 r8169
संपादित करें: मॉड्यूल इस स्क्रिप्ट के साथ लोड किया गया है जो इसके साथ आया था ।:
#!/bin/sh
# invoke insmod with all arguments we got
# and use a pathname, as insmod doesn't look in . by default
TARGET_PATH=/lib/modules/`uname -r`/kernel/drivers/net
echo
echo "Check old driver and unload it."
check=`lsmod | grep r8169`
if [ "$check" != "" ]; then
echo "rmmod r8169"
/sbin/rmmod r8169
fi
check=`lsmod | grep r8101`
if [ "$check" != "" ]; then
echo "rmmod r8101"
/sbin/rmmod r8101
fi
echo "Build the module and install"
echo "-------------------------------" >> log.txt
date 1>>log.txt
make all 1>>log.txt || exit 1
module=`ls src/*.ko`
module=${module#src/}
module=${module%.ko}
if [ "$module" == "" ]; then
echo "No driver exists!!!"
exit 1
elif [ "$module" != "r8169" ]; then
if test -e $TARGET_PATH/r8169.ko ; then
echo "Backup r8169.ko"
if test -e $TARGET_PATH/r8169.bak ; then
i=0
while test -e $TARGET_PATH/r8169.bak$i
do
i=$(($i+1))
done
echo "rename r8169.ko to r8169.bak$i"
mv $TARGET_PATH/r8169.ko $TARGET_PATH/r8169.bak$i
else
echo "rename r8169.ko to r8169.bak"
mv $TARGET_PATH/r8169.ko $TARGET_PATH/r8169.bak
fi
fi
fi
echo "Depending module. Please wait."
depmod -a
echo "load module $module"
modprobe $module
echo "Completed."
exit 0