Tôi có Compaq Presario CQ-61 320SQ, tôi đang sử dụng Ubuntu 10.04 vì sau khi cập nhật lên 10.10, chuột và bàn di chuột của tôi không hoạt động, mạng sẽ không hoạt động, âm thanh sẽ không hoạt động ... (Tôi đã cố gắng khắc phục hầu hết chúng sau gần một tháng googling, nhưng không phải tất cả, 2 Máy tính để bàn của tôi không có vấn đề gì với 10.10), vì vậy tôi quyết định chuyển về 10.04, nơi tôi gặp vấn đề:
Tốc độ băng thông rộng của tôi rất thấp do mô-đun hạt nhân r8169
, tôi đã tải xuống mô-đun tốt r8101
và mỗi khi máy tính khởi động có mộtrc.local
mục để khắc phục điều này.
Câu hỏi:
Tôi có thể tải modul vĩnh viễn từ một vị trí cụ thể không. Tôi đã nghe nói về /etc/modules
nhưng tôi cần tên mô-đun, nhưng tôi phải tải nó từ một đường dẫn cụ thể (đâu là đường dẫn mặc định cho điều đó)?
Cảm ơn bạn.
Vì vậy, tôi đã nghiên cứu kịch bản:
Nó tạo ra các tập tin r8101.ko
trong /lib/modules/`uname -r`/kernel/drivers/net
vì vậy tôi nghĩ rằng miễn là không ai sẽ xóa tập tin đó, và tôi không cập nhật kernel, có thể thêm r8108
vào /etc/modules
sẽ làm việc, và thêm r8169
vào danh sách đen ... Tôi sẽ cung cấp cho nó một thử.
EDIT2:
Vì vậy, tôi đã thêm r8101
vào /etc/modules
và blacklist r8169
để /etc/modprobe.d/blacklist.conf
. Nó vẫn sử dụng mô-đun cũ.:
radu@adu:~$ lsmod | grep r8
r8101 67626 0
r8169 34108 0
mii 4381 1 r8169
EDIT: Mô-đun được tải bằng cách sử dụng tập lệnh này đi kèm với nó.:
#!/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