Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
toshiba_satellite_pro_u500-119 [Le 31/01/2011, 21:50] tOnI0 |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Modèle : Toshiba Satellite U500-119 ====== | ||
- | |||
- | ===== 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 : | ||
- | * {{icons:important.png|Fonctionne après config}} : **Fonctionne après quelques manipulations** | ||
- | * {{icons:icon-ubuntu.png|Fonctionne immédiatement}} : **Fonctionne immédiatement** | ||
- | * {{icons:icon-support.png|Pas testé}} : **Pas d'information disponible** | ||
- | * {{icons:process-stop.png|Ne fonctionne pas}} : **Ne fonctionne pas** | ||
- | |||
- | ^ Version ^ Installation ^ Carte graphique ^ Son ^ Wifi ^ Bluetooth ^ Webcam ^ Touchpad ^ Raccourcis multimédia ^ Rétroéclairage ^ Ventilateur ^ | ||
- | | [[:maverick|Ubuntu 10.10]] | {{icons:icon-ubuntu.png}} | {{icons:icon-ubuntu.png|Mais quelques freeze sous KDE}} | {{icons:icon-ubuntu.png}} | {{icons:icon-ubuntu.png}} | - | {{icons:icon-ubuntu.png}} | {{icons:icon-ubuntu.png}} | {{icons:process-stop.png}} | {{icons:important.png}} | {{icons:important.png}} | | ||
- | |||
- | **Utilisateurs du Wiki possédant cet ordinateur, fonctionnel :** | ||
- | * **[[:utilisateurs:tOnI0]]** : [[:maverick|10.10 (Maverick Meerkat)]] | ||
- | |||
- | **Cet ordinateur portable n'est pas [[:pc_tatoué|tatoué]].** | ||
- | |||
- | ===== Problèmes ===== | ||
- | |||
- | ==== Luminosité ==== | ||
- | |||
- | Lorsque l'on souhaite changer la luminosité de l'écran avec les touches //Fn+F6// ou //Fn+F7// une barre de niveau semblable à la barre de changement de volume s'affiche à l'écran, mais la luminosité ne change pas. | ||
- | |||
- | Le plus simple pour remédier à cela est de créer un démon qui va surveiller dynamiquement les changements apportés au fichier ''/sys/class/backlight/acpi_video0/brightness'' et appeler la commande ''setpci'' pour appliquer les changements. | ||
- | |||
- | == Création du script == | ||
- | On créé le fichier puis on le rend exécutable. | ||
- | sudo touch /etc/init.d/backlightd | ||
- | sudo chmod +x /etc/init.d/backlightd | ||
- | sudo gedit /etc/init.d/backlightd | ||
- | |||
- | Y copier le contenu suivant: | ||
- | <code bash> | ||
- | #!/bin/bash | ||
- | |||
- | old_b=9; | ||
- | declare -i curr_b=240; | ||
- | declare -i target_b=240; | ||
- | |||
- | while : ; do | ||
- | b=`cat /sys/class/backlight/acpi_video0/brightness`; | ||
- | delay="0.5" | ||
- | |||
- | if [ $old_b != $b ]; then | ||
- | old_b=$b | ||
- | let "target_b=$b * 20 + 12" | ||
- | fi | ||
- | |||
- | hex_b="."; | ||
- | |||
- | if [ "$curr_b" -lt "$target_b" ] ; then | ||
- | let "curr_b=$curr_b + 2" | ||
- | if [ "$curr_b" -gt "$target_b" ] ; then | ||
- | let "curr_b=$target_b" | ||
- | fi | ||
- | |||
- | hex_b="-" | ||
- | elif [ "$curr_b" -gt "$target_b" ] ; then | ||
- | let "curr_b=$curr_b - 2" | ||
- | if [ "$curr_b" -lt "$target_b" ] ; then | ||
- | let "curr_b=$target_b" | ||
- | fi | ||
- | |||
- | hex_b="-" | ||
- | fi | ||
- | |||
- | if [ $hex_b != "." ] ; then | ||
- | hex_b=`printf "%02X" $curr_b` | ||
- | delay="0.005" | ||
- | setpci -s 00:02.0 F4.B=$hex_b | ||
- | fi | ||
- | |||
- | sleep $delay | ||
- | done | ||
- | </code> | ||
- | == Lancement au démarrage == | ||
- | Ouvrir le fichier ''rc.local'' | ||
- | sudo gedit /etc/rc.local | ||
- | |||
- | Y copier la ligne suivante AVANT la ligne ''exit 0'' | ||
- | nohup /etc/init.d/backlightd & | ||
- | | ||
- | {{wiki:modeles:laptop_ok.png|}} Au redémarrage la luminosité peut-être réglée par les touches Fn, l'applet Gnome Backlight, et autres. | ||
- | |||
- | |||
- | ==== Ventilateur ==== | ||
- | |||
- | Le ventilateur s'arrête dès le chargement d'Ubuntu, et ne se mettra à tourner que quelques secondes lorsque la température du processeur dépassera les 100°C. **Ceci peut-être très dangereux pour vos composants**. Il est possible de faire tourner le ventilateur en mettant le PC en veille puis en le rallumant. Néanmoins le ventilateur restera tourner à une vive allure et ne s'arrêtera plus, ce qui est très agaçant. | ||
- | |||
- | Ce problème vient d'une table DSDT mal conçue dans le BIOS. Celle-ci a été clairement compilée pour les OS Microsoft, en laissant à Linux une table buggée, comme c'est malheureusement trop souvent le cas sur les portables Toshiba. En effet, les méthodes d'activation des ventilateurs renvoient toujours la valeur "1", ce qui fait que Linux va constamment essayer d'arrêter les ventilateurs. | ||
- | |||
- | Nous allons corriger cette table DSDT, la recompiler, et l'intégrer à notre noyau (soit par une recompilation de celui-ci, soit en la chargeant dans le initrd). | ||
- | |||
- | === Table DSDT === | ||
- | == Corriger la table == | ||
- | |||
- | Installer Intel DSDT Compiler | ||
- | sudo apt-get install iasl | ||
- | Copier le DSDT actuel dans un fichier du dossier actuel | ||
- | sudo cat /proc/acpi/dsdt > dsdt.dat | ||
- | Désassembler la table | ||
- | iasl -d dsdt.dat | ||
- | Ouvrir le fichier créé | ||
- | gedit dsdt.dat | ||
- | | ||
- | Trouvez à présent les occurrences suivantes dans votre fichier (utilisez la recherche) : | ||
- | <code> | ||
- | PowerResource (PF0, 0x00, 0x0000) | ||
- | PowerResource (PF1, 0x00, 0x0000) | ||
- | ...etc... | ||
- | </code> | ||
- | Vous devriez trouver 5 occurrences en principe. | ||
- | |||
- | Remplacer **Lor** par **And** dans chaque champ ''Method'' situé après ''PowerResource''. Puis sauvegardez. | ||
- | |||
- | == Recompiler la table == | ||
- | Taper la commande | ||
- | iasl -tc dsdt.dsl | ||
- | Vous ne devriez à priori pas voir d'Erreurs, si quelques Warning subsistent ce n'est pas important. | ||
- | |||
- | Vous la compilation a créé un fichier ''dsdt.hex'' dans votre dossier courant. Nous allons en avoir grand besoin pour la suite. | ||
- | |||
- | === Recompiler son noyau === | ||
- | Les versions antérieures à Jaunty (9.04) permettaient de charger une table DSDT modifiée directement dans le initrd. Ce n'est plus possible depuis Karmic (9.10). :( | ||
- | Il va donc falloir se retrousser les manches et l'intégrer directement dans un noyau. | ||
- | |||
- | Avant que je ne rédige la suite du tutoriel, je vous invite à consulter les liens ci-dessous... | ||
- | |||
- | ==== Références ==== | ||
- | |||
- | * [[http://art.ubuntuforums.org/showthread.php?t=1473317&page=3|Toshiba laptop U500 running hot]] **(en)** ; | ||
- | * [[http://ubuntuforums.org/showthread.php?t=1036051|How to fix a buggy DSDT file]] **(en)** ; | ||
- | * [[http://www.uluga.ubuntuforums.org/showthread.php?t=1446943|Laptop backlight + KMS workaround]] **(en)** ; | ||
- | * Recompilation du noyau sous Maverik **(en)** : | ||
- | * [[http://blog.avirtualhome.com/2010/11/06/how-to-compile-a-ubuntu-10-10-maverick-kernel/|Méthode 1]], | ||
- | * [[http://www.question-defense.com/2010/09/26/how-to-recompile-your-ubuntu-10-10-kernel-for-patching-or-to-add-support-for-a-specific-device|Méthode 2]]. | ||
- | |||
- | |||
- | ---- | ||
- | |||
- | //Contributeurs : [[:utilisateurs:tOnI0]]// |