Ho un Compaq Presario CQ-61 320SQ, sto usando Ubuntu 10.04 perché dopo l'aggiornamento alla 10.10 il mio mouse e touchpad non funzioneranno, la rete non funzionerà, il suono non funzionerà ... (Sono riuscito a sistemare la maggior parte di dopo quasi un mese di googling, ma non tutti, i miei 2 desktop non hanno problemi con 10.10) quindi ho deciso di tornare a 10.04, dove ho un problema:
La mia velocità della banda larga è molto bassa a causa del modulo del kernel r8169
, ho scaricato il modulo buono r8101
e ogni volta che il computer si avvia ha una rc.local
voce per risolvere questo problema.
Domanda:
Posso caricare il modulo in modo permanente da una posizione specifica. Ne ho sentito parlare /etc/modules
ma lì ho bisogno del nome del modulo, ma devo caricarlo da un percorso specifico (dov'è il percorso predefinito per quello)?
Grazie.
Quindi ho studiato la sceneggiatura:
Si crea il file r8101.ko
in /lib/modules/`uname -r`/kernel/drivers/net
modo da penso finché nessuno cancellerà quel file, e io non aggiornare il kernel, forse l'aggiunta r8108
di /etc/modules
lavoro sarà, e aggiungere r8169
alla lista nera ... io fare un tentativo.
EDIT2:
Così ho aggiunto r8101
a /etc/modules
e blacklist r8169
a /etc/modprobe.d/blacklist.conf
. Utilizza ancora il vecchio modulo .:
radu@adu:~$ lsmod | grep r8
r8101 67626 0
r8169 34108 0
mii 4381 1 r8169
EDIT: il modulo viene caricato usando questo script fornito con esso .:
#!/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