Compaq Presario CQ-61 320SQを使用しています。10.10にアップデートした後、マウスとタッチパッドが機能せず、ネットワークが機能せず、サウンドが機能しないため、Ubuntu 10.04を使用しています。ほぼ1か月間のグーグル検索の後、すべてではありませんが、私の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