Saya memiliki Compaq Presario CQ-61 320SQ, saya menggunakan Ubuntu 10.04 karena setelah memperbarui ke 10.10 mouse dan touchpad saya tidak berfungsi, jaringan tidak berfungsi, suara tidak berfungsi ... (Saya berhasil memperbaiki sebagian besar dari mereka setelah hampir sebulan googling, tetapi tidak semua, 2 Desktop saya tidak punya masalah dengan 10.10) jadi saya memutuskan untuk beralih kembali ke 10,04, di mana saya punya masalah:
Kecepatan broadband saya sangat rendah karena modul kernel r8169
, saya mengunduh modul yang bagus r8101
dan setiap kali komputer mem-boot rc.local
entri untuk memperbaikinya.
Pertanyaan:
Dapatkah saya memuat modul secara permanen dari lokasi tertentu. Saya mendengar tentang /etc/modules
tetapi di sana saya memerlukan nama modul, tetapi saya harus memuatnya dari jalur tertentu (di mana jalur default untuk itu)?
Terima kasih.
Jadi saya mempelajari naskahnya:
Ini menciptakan file r8101.ko
di /lib/modules/`uname -r`/kernel/drivers/net
jadi saya pikir selama tidak ada akan menghapus file itu, dan saya tidak memperbarui kernel, mungkin menambahkan r8108
ke /etc/modules
kemauan kerja, dan menambahkan r8169
ke daftar hitam ... saya akan mencobanya.
EDIT2:
Jadi saya menambahkan r8101
ke /etc/modules
dan blacklist r8169
ke /etc/modprobe.d/blacklist.conf
. Masih menggunakan modul lama .:
radu@adu:~$ lsmod | grep r8
r8101 67626 0
r8169 34108 0
mii 4381 1 r8169
EDIT: Modul ini dimuat menggunakan skrip ini yang menyertainya .:
#!/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
Jawaban:
Jadi untuk mengumpulkan semua data ke sebuah jawaban, ini dia:
Setelah kompilasi pertama dari modul baru, saya punya file modul
r8101.ko
di/lib/modules/$(uname -r)/kernel/drivers/net
.Saya menambahkan
r8101
ke/etc/modules
danblacklist r8169
ke/etc/modprobe.d/blacklist.conf
tapi saya masih boot ke modul lama.Lalu saya jalankan
sudo update-initramfs -u
dan kemudian setelah restart modul baru dimuat seperti yang diharapkan (terima kasih kepada komentar @papukaija).sumber