У мене Compaq Presario 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
EDIT: Модуль завантажується за допомогою цього сценарію, який постачається разом із ним:
#!/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