J'ai un Compaq Presario CQ-61 320SQ, j'utilise Ubuntu 10.04 car après la mise à jour vers 10.10 ma souris et mon pavé tactile ne fonctionneront pas, le réseau ne fonctionnera pas, le son ne fonctionnera pas ... (j'ai réussi à réparer la plupart des après environ un mois de recherche sur Google, mais pas tous, mes 2 postes de travail n'ont aucun problème avec 10.10), j'ai donc décidé de revenir au 10.04, où j'ai un problème:
Ma vitesse à large bande est très faible en raison du module du noyau r8169
, j'ai téléchargé le bon module r8101
et chaque fois que l'ordinateur démarre une rc.local
entrée pour résoudre ce problème.
Question:
Puis-je charger le module en permanence à partir d'un emplacement spécifique. J'ai entendu parler /etc/modules
mais là j'ai besoin du nom du module, mais je dois le charger à partir d'un chemin spécifique (où est le chemin par défaut pour cela)?
Je vous remercie.
J'ai donc étudié le scénario:
Il crée le fichier r8101.ko
dans /lib/modules/`uname -r`/kernel/drivers/net
donc je pense que tant que personne ne supprime ce fichier, et je ne met pas à jour le noyau, peut - être ajouter r8108
à /etc/modules
volonté travail, et ajouter r8169
à la liste noire ... Je vais essayer.
EDIT2:
J'ai donc ajouté r8101
à /etc/modules
et blacklist r8169
à /etc/modprobe.d/blacklist.conf
. Il utilise toujours l'ancien module .:
radu@adu:~$ lsmod | grep r8
r8101 67626 0
r8169 34108 0
mii 4381 1 r8169
EDIT: Le module est chargé à l'aide du script qui l'accompagne .:
#!/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
Réponses:
Donc, pour rassembler toutes les données d'une réponse, la voici:
Après la première compilation du nouveau module, j'avais le fichier de module
r8101.ko
dans/lib/modules/$(uname -r)/kernel/drivers/net
.J'ai ajouté
r8101
à/etc/modules
etblacklist r8169
à/etc/modprobe.d/blacklist.conf
mais j'étais toujours en train de démarrer sur l'ancien module.Ensuite, je cours
sudo update-initramfs -u
et après le redémarrage, le nouveau module a été chargé comme prévu (grâce au commentaire @papukaija).la source