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 r8101y cada vez que la computadora arranca tiene una rc.localentrada para solucionar esto.
Pregunta:
¿Puedo cargar el módulo permanentemente desde una ubicación específica? Me enteré /etc/modulespero 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.koen /lib/modules/`uname -r`/kernel/drivers/netlo que creo, siempre y cuando nadie va a eliminar ese archivo, y no actualizar el kernel, tal vez añadiendo r8108a /etc/modulestrabajar se, y añadir r8169a la lista negra ... Voy a darle una oportunidad.
Edit2:
por lo que añade r8101a /etc/modulesy blacklist r8169a /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.koen/lib/modules/$(uname -r)/kernel/drivers/net.He añadido
r8101a/etc/modulesyblacklist r8169a/etc/modprobe.d/blacklist.confpero todavía estaba iniciando desde el módulo de edad.Luego ejecuto
sudo update-initramfs -uy luego, después de reiniciar, el nuevo módulo se cargó como se esperaba (gracias al comentario de @papukaija).fuente