Tengo un Compaq Presario CQ-61 320SQ, estoy usando Ubuntu 10.04 porque después de la actualización a 10.10 mi mouse y touchpad no funcionarán, la red no funcionará, el sonido no funcionará ... (logré arreglar la mayoría de después de casi un mes de googlear, pero no todos, mis 2 computadoras de escritorio no tienen problemas con 10.10), así que decidí volver a 10.04, donde tengo un problema:
Mi velocidad de banda ancha es muy baja debido al módulo del núcleo r8169
, descargué el módulo bueno r8101
y cada vez que la computadora arranca tiene una rc.local
entrada para solucionar esto.
Pregunta:
¿Puedo cargar el módulo permanentemente desde una ubicación específica? Me enteré /etc/modules
pero necesito el nombre del módulo, pero tengo que cargarlo desde una ruta específica (¿dónde está la ruta predeterminada para eso)?
Gracias.
Entonces estudié el guión:
Se crea el archivo r8101.ko
en /lib/modules/`uname -r`/kernel/drivers/net
lo que creo, siempre y cuando nadie va a eliminar ese archivo, y no actualizar el kernel, tal vez añadiendo r8108
a /etc/modules
trabajar se, y añadir r8169
a la lista negra ... Voy a darle una oportunidad.
Edit2:
por lo que añade r8101
a /etc/modules
y blacklist r8169
a /etc/modprobe.d/blacklist.conf
. Todavía usa el antiguo módulo .:
radu@adu:~$ lsmod | grep r8
r8101 67626 0
r8169 34108 0
mii 4381 1 r8169
EDITAR: El módulo se carga usando este script que vino con él .:
#!/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
Respuestas:
Entonces, para reunir todos los datos para una respuesta, aquí está:
Después de la primera compilación del nuevo módulo, que tenía el archivo del módulo
r8101.ko
en/lib/modules/$(uname -r)/kernel/drivers/net
.He añadido
r8101
a/etc/modules
yblacklist r8169
a/etc/modprobe.d/blacklist.conf
pero todavía estaba iniciando desde el módulo de edad.Luego ejecuto
sudo update-initramfs -u
y luego, después de reiniciar, el nuevo módulo se cargó como se esperaba (gracias al comentario de @papukaija).fuente