Ceci est une ancienne révision du document !
Toshiba Satellite U500-17D
En un coup d’œil
Le tableau suivant récapitule la prise en charge du matériel de portable par les différentes versions d'Ubuntu. Il utilise les notations suivantes :
Version | Installation | Carte graphique | Son | Wifi | Bluetooth | Webcam | Touchpad | Raccourcis multimédia | Rétroéclairage | Ventilateur |
---|---|---|---|---|---|---|---|---|---|---|
Ubuntu 10.10 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Debian Wheezy | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Utilisateurs du Wiki possédant cet ordinateur, fonctionnel :
- MaMieMando : 10.10 (Maverick Merkaat), Debian wheezy
Cet ordinateur portable n'est pas tatoué.
Problèmes
Les symptômes présentés dans les sections suivantes et leur résolution dépend beaucoup du noyau que vous utilisez. Vous pouvez voir la version que vous utilisez actuellement en tapant dans un terminal la commande suivante :
uname -a
Ventilateur
Symptômes
Le PC chauffe énormément. Le ventilateur s'active quand le CPU atteint 100°C.
Concrètement, une fois qu'il a atteint 100°C, le ventilateur va souffler, faire refroidir le CPU de quelques degrés, puis chauffer à nouveau et ainsi de suite.
- Le paquet fancontrol ne vous sera d'aucune utilité car le ventilateur n'est pas prévu pour fonctionner avec.
- Le paquet thinkpad ou thinkfan ne concerne pas les portables Toshiba
Explications
En réalité, les ventilateurs devraient souffler bien avant. Ceci est dû au BIOS (plus précisément à la table DSDT) fourni par toshiba qui ne respecte pas les standards sur lesquels se base Linux.
Installez le paquet lm-sensors. Configurez le tout en lançant les deux commandes suivantes (répondre "yes" à tout) :
sudo sensors-detect sudo modprobe coretemp
À présent, on peut interroger les sondes :
sensors
À ce stade, les informations sur les ISA adapters sont sûrement incomplètes, et vous devez mettre à jour votre BIOS.
Résoudre le problème durablement (noyau < 3.10)
Il faut adapter ce qui est expliqué sur cette page mettre à jour la table DSDT du BIOS.
Mettre à jour le BIOS
Ceci se fait facilement si vous avez encore votre windows installé. Redémarrez sous windows, puis téléchargez la dernière mise à jour de BIOS pour votre PC ici. Le rédacteur de ces lignes a utilisé la version "250".
Lancez l'exécutable que vous avez téléchargé. Ceci va faire redémarrer votre PC. Vous allez voir la mise à jour du BIOS se déclencher (opération qui dure de l'ordre d'une minute), puis le PC va redémarrer. Dès lors votre BIOS est propre et Linux va pouvoir travailler correctement avec. Redémarrez sous Linux.
À présent, la commande "sensors" devrait donner quelque chose de ce genre :
acpitz-virtual-0 Adapter: Virtual device temp1: +54.0°C (crit = +108.0°C) coretemp-isa-0000 Adapter: ISA adapter Core 0: +50.0°C (high = +90.0°C, crit = +90.0°C) coretemp-isa-0001 Adapter: ISA adapter Core 1: +50.0°C (high = +90.0°C, crit = +90.0°C)
Correction de la table DSDT
Ce qui suit est basé sur ce tutoriel. Commencez par mettre à jour votre système Linux, puis Installez le paquet iasl. La commande iasl va permettre de manipuler la table DSDT, responsable du dysfonctionnement.
On travaillera dans /root/dsdt dans ce qui suit :
sudo mkdir -p /root/dsdt cd /root/dsdt
Récupérez la table DSDT. Normalement, ceci se fait avec la commande "cat /sys/firmware/acpi/tables/DSDT > dsdt.dat", mais sous Ubuntu la commande devient :
sudo cat /proc/acpi/dsdt > dsdt.dat
Les corrections seront apportées dans un fichier dédié (dsdt-fixed.dat) :
cp dsdt.dat dsdt-fixed.dat
Correction pour une prise en charge correcte des ventilateurs
Corrigez le fichier /root/dsdt/dsdt-fixed.dat. Comme indiqué ici il faut corriger les tests "If (LOr (FSTA, …))" en "If (And (FSTA, …))" (6 occurrences entre les lignes 11500 et 11700).
À présent, on peut préparer la table corrigée :
iasl -tc /root/dsdt/dsdt-fixed.dsl
Vous devriez voir quelques erreurs et quelques avertissements, mais ce n'est pas grave. Cette commande génère le fichier "/root/dsdt/dsdt-fixed.hex".
Correction du noyau
Intégrez le fichier généré dans un noyau corrigé comme indiqué dans ce tutoriel.
Installez le paquet linux-source-2.6 et le paquet libncurses5-dev. En admettant que ce soit la version 2.6.38 qui soit installée, lancez la commande :
sudo -i cd /usr/src tar xjvf linux-source-2.6.38.tar.bz2 cd linux-source-2.6.38 cp /boot/config-$(uname -r) .config make oldconfig make menuconfig
Si vous utilisez un noyau récent (>= 2.6.39), vérifiez que cette option n'est pas cochée, car sinon l'entrée "Include Custom DSDT" requise juste après n'apparaîtra pas.
Device Drivers ---> Generic Drivers Options ---> [ ] Select only drivers that don't need compile-time external firmware
À présent cochez la case "Include Custom DSDT".
Power management options (ACPI, APM) ---> ACPI (Advanced Configuration and Power Interface) Support ---> [*] Include Custom DSDT
Saisissez le chemin de la table DSDT corrigée (/root/dsdt/dsdt-fixed.hex), puis quittez. À présent on compile le noyau (attention, c'est long !) :
make-kpkg --initrd kernel_image
Ceci va créer un paquet debian dans /usr/src avec un nom du genre "linux-image-2.6.38_2.6.38-10.00.Custom_i386.deb". Installez ce paquet avec la commande :
sudo dpkg -i /usr/src/linux/linux-image-2.6.38_2.6.38-10.00.Custom_i386.deb
Correction du menu de boot
Par défaut, Ubuntu et Debian utilisent grub. Modifiez le fichier "/etc/default/grub" et corrigez la ligne "GRUB_CMDLINE_LINUX" de sorte à avoir :
GRUB_CMDLINE_LINUX="acpi_osi=\"Linux\""
Sauvez et quittez le fichier, puis lancez la commande :
sudo update-grub
Il ne reste plus qu'à redémarrer sur le noyau que vous avez préparé. Le CPU ne devrait plus monter au delà de 60°C.
Résoudre le problème durablement (noyau >= 3.10)
Le noyau standard 3.10-2-amd64 fonctionne correctement, ce qui simplifie grandement la tâche. Il faut cependant initialiser quelques variables pour que tout se passe bien. Pour plus de confort, le mieux est de créer un script lancé au démarrage. Créez le fichier /etc/init.d/ventilateur et mettez dedans :
#!/bin/sh ### BEGIN INIT INFO # Provides: mando # Required-Start: $remote_fs # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: patch toshiba # Description: tweak to improve cooling ### END INIT INFO . /lib/lsb/init-functions [ -f /etc/default/rcS ] && . /etc/default/rcS PATH=/bin:/usr/bin:/sbin:/usr/sbin COOLING_DEVICES_DIR="/sys/devices/virtual/thermal" SERVICE_NAME="$(basename $0)" case "$1" in start) log_begin_msg "Preparing cooling device" for x in $(find $COOLING_DEVICES_DIR | grep cur_state) do device_dir="$(dirname $x)" num_device="$(echo $device_dir | egrep -o "cooling_device[0-9]+" | egrep -o "[0-9]+")" max_state="$(cat $device_dir/max_state)" new_state="0" if [ $num_device -gt 4 ] then new_state=$max_state fi echo -n $new_state > $device_dir/cur_state; done log_end_msg 0 ;; stop) ;; force-reload|restart) $0 start ;; status) ;; *) log_success_msg "Usage: /etc/init.d/$SERVICE_NAME {start|stop|restart|force-reload|status}" exit 1 esac exit 0
Ajoutez ce fichier à la chaîne de démarrage et lancez-le :
sudo update-rc.d ventilateur defaults sudo service ventilateur start
Si en sortie d'hibernation, le PC chauffe, lancez la commande
sudo service ventilateur start
Carte graphique (Geforce 210M)
Si vous souhaitez utiliser le logiciel propriétaire, veillez à utiliser une version suffisamment récente (>=195.36.24). Les versions antérieures du pilote sont instables avec ce modèle de carte graphique. De manière générale, utilisez autant que possible la dernière version pour améliorer les performances.
Méthode 1 : par le gestionnaire de pilote propriétaire
Passez par le gestionnaire de pilote propriétaire pour installer le pilote propriétaire nvidia. Toutefois si vous utilisez un noyau modifié (voir section sur le ventilateur), vous devrez utiliser la seconde méthode.
Méthode 2 : via module-assistant
Une autre méthode (qui est celle utilisée sous Debian avant l'apparition du paquet nvidia-kernel-dkms) consiste à passer par module-assistant. Installez le paquet module-assistant.
sudo m-a update sudo m-a a-i nvidia-kernel-source sudo modprobe nvidia grep -q ^nvidia /etc/modules || sudo echo nvidia >> /etc/modules
Fermez vos applications, puis redémarrez votre session graphique :
sudo service gdm restart
Divers : plantage du gestionnaire de connexion
Symptômes
Si le pilote nvidia met trop longtemps à se charger (ce qui était le cas pour la version 195 du pilote nvidia), le gestionnaire de connexion (gdm, kdm …) peut planter. Pourtant si on relance le gestionnaire de connexion avec la commande suivante tout fonctionne.
sudo service kdm
Résolution pour kdm
Modifiez le fichier /etc/kde4/kdm/kdmrc. Corrigez la ligne "ServerTimeout" (~ ligne 60) en mettant à la place :
ServerTimeout=30
Raccourcis multimédia et rétro éclairage
Symptômes
- Les touches permettant de régler le volume se comportent comme si elles étaient activées en permanence
- Les autres touches multimédia ne fonctionnent pas non plus
- La luminosité ne se règle pas correctement lorsqu'on appuie sur fn+f6 / fn+f7.
Résoudre le problème de manière durable
- Pour les touches de volumes, utilisez un kernel plus récent (>=2.6.38).
- Pour la luminosité, essayez de faire ce qui est expliqué ici (pas testé).
Carte ethernet (RTL8111/8168B)
Celle-ci marche directement si votre version de noyau est récente (>= 2.6.32). Veillez à installer une version d'ubuntu lucid ou plus récente (maverick, natty…).
Carte wifi (RTL8192SEvB)
A priori et contrairement à Debian, Ubuntu fournit un module qui est automatiquement chargé et qui vous permet d'utiliser directement votre carte wifi. Vous pouvez vérifier que la carte est détectée grâce à la commande
/sbin/iwconfig
Vous devriez alors voir apparaître un paragraphe concernant la carte wifi (wlan0).
Si la carte n'est pas directement détectée : installation des pilotes Realtek
Si votre carte n'est pas directement détectée (ce qui sera le cas sous Debian ou des versions trop anciennes d'Ubuntu), téléchargez le pilote linux RTL8192SE disponible ici dans votre dossier personnel (par exemple /home/toto).
Choisissez l'un des trois liens (HK, US1, US2) parmi ceux en face de la ligne "Linux driver for kernel 2.6.X".
En supposant que la version que vous venez de télécharger s'appelle "rtl8192se_linux_2.6.0019.1207.2010.tar.gz:"
tar xzvf rtl8192se_linux_2.6.0019.1207.2010.tar.gz cd rtl8192se_linux_2.6.0019.1207.2010 sudo make all install sudo modprobe r8192se_pci grep -q ^r8192se_pci /etc/modules || sudo echo r8192se_pci >> /etc/modules
Désormais votre carte wifi devrait être visible avec la commande "/sbin/iwconfig" et donc être fonctionnelle.
Bluetooth
Le Bluetooth fonctionne correctement avec les noyaux récents (testé avec un noyau 3.10-2-amd64). Pour les versions antérieures, en cas de problème, essayer l'option "omnibook ectype=14".
Pavé tactile
Le pavé marche directement, mais le multitouch ne fonctionne qu'avec les noyaux récents (testé avec un noyau 3.10-2-amd64).
Vous pouvez consulter la page consacrée au pavé tactile (touchpad) pour savoir comment utiliser toutes ses possibilités (ascenseur vertical, ascenseur horizontal, …). Le Touchpad présente souvent le défaut suivant : lorsqu'on tape au clavier, on clique sans le vouloir avec la paume. Consultez ce paragraphe pour corriger ce défaut.
Touches multimédias
Pour les versions ancienne de noyau (< 3.9) les touches multimédias fonctionnent mal (elles se comportent comme si la pression était maintenue dessus. La touche Fn ne fonctionne pas correctement malgré l'installation de fnfxd.
Pour les noyaux récents (>= 3.10), la touche Fn les touches multimédias fonctionnent correctement.