J'emploie
Debian GNU/Linux. Je suis enchante de rapporter qu’il fonctionne comme un
charme sur mon satellite 2410-404 de Toshiba. (oui, UT2003 fonctionne vraiment
sans a-coup).
J’utilise
Linux sur un satellite 2410-404 de Toshiba, mais tous les modeles de satellite
de Toshiba 2410 , de même que les Toshiba 1410, devraient pouvoir faire tourner
Linux de la même façon.
|
Already working |
NVIDIA, TV-OUT, DVD, USB, FIREWIRE, IRDA (also LIRC), APM, SOUND, PCMCIA, MODEM, LAN, WLAN (internal MiniPCI),ACPI. ADDITIONAL KEYS.
|
|
Special Workaround |
|
|
Not working yet |
Un
mot sur le BIOS de votre Toshiba 2410. Pour entrer dans le dialogue du BIOS,
maintenez la touche ESC lors de la mise sous tension jusqu'à l’invite d’appui sur
F1. Pour choisir temporairement le bootdevice, maintenir F12 a la mise sous
tension. Un menu vous permettant de choisir un des bootdevices disponibles pour
le demarrage courant apparaît. (ceci ne fonctionnera pas si vous utilisez
un masterpassword et employez l'userpassword. Dans ce cas-ci, employez svp le
masterpassword.)
Ce portable peut booter depuis le PCMCIA, plus précisément depuis une
partition FAT12, FAT16 ou FAT32 sur une PCMCIA-ATA-card. Je me suis créé une
petite distro linux avec X sur un disque flash de 4 Mo pour des opérations de
backup et de sauvegarde; contactez moi si vous êtes intéressé …
Pour
changer des settings du BIOS (depuis la console de Linux ou X) comme l’éclat de
l'affichage, le nombre de minutes jusqu'à l’auto-off de l’affichage, mots de
passe de bios, video-out, fan speed, etc. vous pouvez employer toshset (commandline) ou The Toshiba Linux Utils de Jonathan Buzzard. Tous les deux viennent habituellement avec votre
distribution.
Ajuster
l’éclat du display, fan state et vidéo out peut se faire grâce au module ACPI toshiba_acpi (voir paragraphe ACPI).
Deux possibilités: utiliser les modules “Nvidia”
(fortement recommandé) ou le driver “nv’ standard livre avec X.
Pour disposer de l’accélération 3D, vous devez vous procurer les modules
nvidia-kernel et nvidia-glx module pour X, que vous trouverez généralement dans
votre distro; dans le cas contraire, vous les trouverez ici
sur le site Nvidia.
Depuis la version 1.0-4349, Nvidia livre ses packages sous la forme d’auto-installs
(.run). Vous avez juste à les démarrer dans un terminal. Si vous les utilisez,
vous pouvez ignorer le prochain paragraphe.
Des
instructions d’install (ou dans le package).
Un
utilisateur linux normalement expérimente le fera en cinq a dix minutes (ou une
heure pour lire la documentation si vous n’avez jamais rien compilé).
Si vous utilisez une debian: lisez the #debian.de FAQ pour recompiler vos packages Nvidia.
Faire
fonctionner la GeForce4 420 nécessite l’emploi de quelques astuces. Faites
comme suit pour votre XF86Config-4.
Ajoutez une ligne dans la section "Module":
Load "glx"
Supprimez (commentez) si elles existent les lignes:
Load "GLcore"
Load "dri"
Dans
la section "Device", replacez le module "nv" par
"nvidia" ( vous devriez aussi spécifier le BusID ):
Driver "nvidia"
BusID "AGP:01:00:0"
DDC
ne fonctionne pas bien sur ce portable. Il faut donc modifier la section
"Device" en y ajoutant:
Option "NoDDC" "1" Option "IgnoreEDID" "1"
Utiliser
un TFT avec les drivers Nvidia nécessite l’ajout de ces deux lignes, toujours
dans la section « Device » :
Option "GenerateRTList" "0"
Option "OverridePolarity" "1"
Dans
la section "Screen", ajoutez:
Option "NoDDC" "1" Option "NvAgp" "1"
Dans
le registres des subtilités, il est possible d’obtenir une ombre translucide
pour le pointeur X. Ajoutez les lignes suivantes dans la section
"Device":
# Some Pointer Eyecandy
Option "CursorShadow" "1" Option "CursorShadowAlpha" "63" Option "CursorShadowYOffset" "2"Option "CursorShadowXOffset" "4"
Nous
y sommes presque. Démarrer X devrait réussi ; mais une affreuse bande
verticale noire sur un bon dixième de l’écran apparaît a droite. Pour s’en
debarraser, allez dans modules.conf et ajoutez :
options NVdriver NVreg_SoftEDIDs=0 NVreg_Mobile=2
Si vous utilisez une debian: ne pas écrire
directement dans /etc/modules.conf, puisque son contenu est regenere lors des upgrades. Ajoutez donc ces
lignes dans /etc/modutils/NVdriver et lancez update-modules.
Vous
pouvez prendre mes fichiers:
XF86Config-4
– pour le driver nvidia (acceleration)
XF86Config-4_nv - pour le driver nv (pas d’acceleration)
Si vous utilisez une debian: Eduard Bloch me
rappelle de mettre en garde les utilisateurs de Debian:
[..] Please note
that when you install via make-install, the Nvidia crap irreversibly
overwrittes your system files, and they are not preserved on package upgrades.
Debian metapackages are a nifty way to work around this problem.[..]
En
fait, /usr/lib/libGL.so
(qui est aussi dans xlibmesa-dev) et tous les fichiers /lib/modules/<kernel-version>/modules.* (qui se trouvent dans kernel-image-<kernel-version>) seront
supprimés. Préservez les anciens par depmod -a.
TV-Out
fonctionne avec X et les pilotes commerciaux NVidia. En ce qui me concerne,
j’utilise Twinview pour envoyer quelque chose sur la TV, l’écran de la
télévision présentant le même contenu que l’écran TFT.
Dans la Section "Screen", ajoutez:
# TV Twinview
Option "TwinView" "1" Option "SecondMonitorHorizSync" "30-50" Option "SecondMonitorVertRefresh" "60" Option "TwinViewOrientation" "Clone" Option "TVOutFormat" "COMPOSITE" Option "ConnectedMonitor" "DFP,TV" Option "TVStandard" "PAL-B" Option "MetaModes" "1024x768 @1024x768,1024x768 @1024x768; 800x600 @800x600,800x600 @800x600; 640x480 @640x480,640x480 @640x480"
Vérifiez
que TVStandard correspond bien a votre téléviseur, et si vous préférez une
sortie composite ou s-video. Vous trouverez toutes les explications sur les
options dans le README livre avec nvidia-glx-package. Dual-Head (un bureau
étend l’autre) est possible, ainsi bien sur que le CRT-Out.
Remarque:
Si TV-out n'est pas relie a une TV ou un moniteur au démarrage de X,
twinview sera neutralisé automatiquement.
Si par défaut vous ne voulez pas de TwinView, vous pouvez ajouter une Section "Screen" dans
votre XF86Config-4. La première sera laissée en l’état, la deuxième (a laquelle
vous donnerez un Identifier différent, par exemple «TV» ) contiendra les
modifications introduites plus haut. Vous trouverez un exemple sous le nom de XF86Config-4_nvidia_twinview_tv dans la section files. Il suffit de le démarrer avec l’une des deux commandes:
X -xf86config XF86Config-4_nvidia_twinview_new -layout Twinview :1
X -xf86config XF86Config-4_nvidia_twinview_new -screen TV :1
Note:
échangez vos expériences des drivers commerciaux Nvidia sur nV News Froums -
Linux And NVIDIA Graphics.
La carte est reconnue par les modules intel8x0 d’alsa, et par les modules
originaux du kernel.
Allez voir la section files.
Vous y trouverez ma configuration pour modules.conf pour ALSA 0.9. Prenez aussi asound.conf, à mettre dans /etc/asound.conf
Les
modules nécessaires sont: soundcore sound
ac97 ac97_codec v_midi uart401 cmpci i810_audio.
Comme mon utilisation se limite à de l’expérimentation, je me suis fait un
petit script audioscript2410 pour les tester, les installer et les supprimer. Une utilisation
permanente nécessite que vous les installiez dans modules.conf
Mauvaise nouvelle: les contrôleur du clavier
est buggy (il envoie erratiquement deux fois des messages de keyrelease,
provoquant des double lettres). C’est un problème courant dans le monde des
portables Toshiba, qui a aussi été note sur M$-Windoze98 pour de plus vieux
portables. I agree, this sucks!
Ce
problème a été abordé sur un forum, voyez ici. Citons Alan Cox qui dit au sujet de ces bugs matériels:
"Well there is
one way to help stop that, which is not to fix them."
Bonne
nouvelle: Il existe cinq solutions.
1.
Patcher le kernel.
o
Additional entry [13-Jan-2003]: Linux
2.4.21pre3-ac3 contient un path pour le kernel. Peut être la prochaine release
contiendra-t-elle ce patch.
2.
Patcher le source de XFree
3.
Desactiver l’extension Xkb dans votre
XF86Config – une bonne solution.
4.
Utiliser Xkb avec AccessX
pour supprimer le keyboard bouncing - une autre bonne solution.
5.
Utiliser Xkb avec xkbset
pour supprimer keyboard bouncing - encore une autre bonne solution.
Patcher
vous oblige a patcher toutes les nouvelles releases des sources du kernel ou de
Xfree. Si vous voulez-vous en charger vous-même, contactez-moi pour un patch du
kernel. A solution plus simple est de désactiver l’extension Xkb (clavier américain
par défaut, ce qui peut s’arranger, et vous donnera l’occasion d’implémenter
votre propre keymap, avec par exemple les boutons Windows affectes à quelque
chose d’utile ;). Sinon, utilisez AccessX
or xkbset
pour supprimer le keyboard-bouncing.
Tout
d'abord, nous avons besoin d'une keymap pour votre langue. Si vous avez bien
configure votre section Keyboard dans XF86Config-4, entrez xmodmap -pke >> $HOME/Xmodmap dans un xterm pour en obtenir une.
Si
votre langue a les caractères spéciaux (comme la mienne), vous pouvez vouloir
définir des clefs de modificateur comme [ AltGr ]. Un excellent article sur la
façon de créer des keymaps : Accented Letters On
ASCII Keyboards Under X11. Ce document est
également disponible en allemand. Si vous voulez une Xmodmap en Allemand, vous pouvez télécharger la mienne ici
(aussi disponible en Italien et en Francais)
Configurez
la section keyboad. Supprimez toutes les options concernant
"Xkb", et ajoutez l’option "XkbDisable". Au final, cela
devrait ressembler a:
Section "InputDevice"
Identifier "Generic Keyboard" Driver "keyboard" Option "CoreKeyboard" Option "XkbDisable"EndSection
Nous
aimerions que notre keymap soit chargée des que nous démarrons une Xsession.
Selon le manuel, au démarrage d’une Xsession tous les scripts présents dans /etc/X11/Xsession.d sont exécutes.
Copiez le script 40custom_load-xmodmap dans /etc/X11/Xsession.d/. Au démarrage, X prendra votre keymap dans $HOME/Xmodmap.
Si
vous voulez que cette modification soit appliquée à tout le système, remplacez /etc/X11/Xmodmap
par votre Xmodmap.
AccessX
de Dan Lindner est un ensemble d’outils appliqués a l’extension XKEYBOARD de X
Window System, qui y donnent un meilleur accès.
Pour l’utiliser afin de supprimer le keyboard-bouncing, téléchargez le ici
et exécutez:
ax +bouncekeys
ax -timeout ax bouncedelay 5
Pour
que ces commandes soient effectuées a chaque démarrage ajoutez ces lignes a la
fin de /etc/X11/xdm/Xsetup, ou alternativement placez les dans votre fichier .xinitrc. Vous pouvez
aussi utiliser un script comme expliqué plus haut.
Recuperez
xkbset
et executez:
xkbset exp bo &>/dev/null xkbset bo 1 &>/dev/null
Pour
que ces commandes soient effectuées a chaque démarrage, reportez-vous aux
instructions données plus haut.
Okay,
c’est un softmodem. Et il y a un driver. Mais
procédons par étapes.
Pour les soft modems sur AC'97 controller slots, le bus PCI-id
décrit le contrôleur et le subsystem PCI-id décrit la carte modem.
Jetons donc un coup d’œil au Bus PCI.
00:1f.6 Modem: Intel Corp. 82801CA/CAM AC'97 Modem (rev 02) (prog-if 00 [Generic])
00:1f.6 Class 0703: 8086:2486 (rev 02) Subsystem 1179:0001
Notre
vendor-id est 8086 (Intel). PCI-id 8086:2486 doit représenter notre
contrôleur Intel MC97, auquel divers AC-Link modems peuvent être connectes. En
ce qui concerne le modem, il a l’id 1179:0001. Le Subsystem vendor-id is
1179 (a savoir Toshiba). Mais qu’est ce qu’un modem d’id 0001? J’ai cherche
sans succès. Cette information est sans intérêt.
Sous
Windows et sur un terminal, les commandes ATI retournent:
ATI1 - OK
ATI2 - OK ATI3 - TOSHIBA V.90 Data+Fax Software Modem Version 3.1.100 ATI4 - Built on 09/26/2001 20:12:19 ATI5 - 3.1.100, AMR Intel MB, AC97 ID:SIL REV:0x27, 06 ATI6 - OK ATI7 - AMR Intel MB
Vous
trouverez ici
des informations sur la politique de Toshiba concernant les softmodems.
Depuis la release 2.7.8 des drivers SmartLink Modem pour
linux, le modem est reconnu pour les appels sortants. La version 2.7.10 du
driver est stable, ce qui n’est pas le cas de la version 2.7.14 (depuis
le 24 Mai 2003).
Comme
mentionné plus haut, un driver est en construction. Vous pouvez le trouver chez
http://linmodems.technion.ac.il/packages/smartlink/.
Les modules retournent les messages suivants:
Jan 7 18:55:56 valea kernel: Smart Link AMRMO modem.
Jan 7 18:55:56 valea kernel: amrmo: probe 8086:2486 Intel Corp. 82801CA/CAM AC'97 Modem : ICH card... Jan 7 18:56:59 valea kernel: This driver is not compatible with the installed modem codec.
Le
codec ne correspond pas, mais il est possible de démarrer une connexion ppp,
i.e. d’appeler votre ISP.
Ce problème est bien connu en ce qui
concerne les Toshiba plus récents. Pour ajuster les paramètres de la carte
IrDA, vous pouvez utiliser Rob Miller's smcinit. Sa solution est faite pour un Toshiba Satellite 5100 mais fonctionne sur
les séries 2410. Récupérez la routine d’init depuis sa page, compilez,
installez, exécutez. Le module smc-ircc devrait tourner parfaitement.
LIRC est un logiciel qui vous permet de
décoder et envoyer des signaux infrarouges correspondant a beaucoup d’appareils
de contrôle (mais a pas tous). Je l’utilise pour contrôler MPlayer, XMMS ou faire avancer mes
présentations.
La carte SMCS LPC47N227 est reconnu pas le LKM lirc_sir, que vous devriez avoir
compile depuis les sources. Remarque: Il n’est pas
possible d’utiliser simultanément IrDA et LIRC. Vous devez arrêter tous les
modules relatifs a l’infrarouge avant de lancer lirc_sir. De plus, vous devez initialiser la
carte SMSC comme écrit plus haut.
Le module lirc_sir
doit connaître la localisation du port SIR (SIR = Serial InfraRed) du
périphérique infrarouge, i.e. port I/O et IRQ. Pour un Satellite 2410 ces
valeurs sont: I/O port 0x03f8, IRQ 3. Apres l’installation du package lirc et
des LKM, essayez
# modprobe lirc_sir port io=0x03f8 irq=3
Suivez
alors les instructions sur lirc homepage, afin de vérifier votre setup. Si ces paramètres ne fonctionnent pas pour
vous (I/O port et IRQ), supprimez le module lirc_sir, faites modprobe du module smc-ircc et récupérez les
paramètres depuis syslog, qui doit contenir des lignes comme:
kernel: found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227
kernel: SMC IrDA Controller foundkernel: IrCC version 2.0, firport 0x130, sirport 0x3f8 dma=3, irq=3
Les
parameters sont: sirport 0x3f8 dma=3, irq=3.
Pour faire un usage permanent de LIRC, ajoutez les lignes suivantes dans
modules.conf:
pre-install lirc_sir /usr/local/sbin/tosh5100-smcinit
alias char-major-61 lirc_sir
options lirc_sir irq=3
Si vous utilisez une debian: Faites le dans
les règles de Debian: mettez ces lignes dans /etc/modutils/lirc et lancez update-modules.
Si vous vous interrogez sur la première ligne, lisez le paragraphe sur l’IrDA.
A
ma connaissance, le contrôleur SD est propriétaire. Il n’y a pas de driver pour
Linux. Il fonctionne avec Windows, mais seulement avec des cartes SD et non
avec les nouvelles cartes MMC.
Firewire devrait fonctionner grâce au module ohci1394. Mais je n’ai pas de périphérique
firewire pour le tester.
Le module usb-uhci
fait fonctionner l’USB.
Le module yenta_socket avec ds fait fonctionner PCMCIA.
APM fonctionne parfaitement, sauf si vous utilisez X11 avec les
drivers NVidia commerciaux. En effet, le module NVDriver empêche la mise en
veille du portable. Il vous faudra stopper X, et décharger le module NVdriver.
Il est en fait possible de faire fonctionner les pilotes commerciaux Nvidia
avec APM, mais c’est au prix d’une modification des sources du pilote, et
rendre impossible l’utilisation de l’AGP. Cette modification est parfois instable
sur d’autres portables.
Avant la compilation, ouvrez nv.c:
#else case PM_RESUME: case PM_SUSPEND: // printk("NVRM: avoiding suspend request, don't want to shutdown!!\n"); return 1;#endif default: // printk("NVRM: received unknown PM event: 0x%x\n", rqst); return 1; } return 0;}#endif
Changez simplement les 1 en 0;
#else case PM_RESUME: case PM_SUSPEND: // printk("NVRM: avoiding suspend request, don't want to shutdown!!\n"); return 0;#endif default: // printk("NVRM: received unknown PM event: 0x%x\n", rqst);return 0;
} return 0;}#endif
N’oubliez pas de desactiver l’AGP
dans votre XF86config-4: Option "NvAGP" "0"!
De même, il n’est pas recommande d’avoir compilé le support AGP dans le
kernel si vous utilisez cette astuce.
ACPI est reconnu par Toshiba ACPI Extras Driver de John Belmonte's - module toshiba_acpi. Le code source de ce module est inclut dans les kernels en développement
actuels. Pour l’utiliser avec un kernel 2.4.x, il vous faut un kernel récent (kernel.org) et appliquer le patch
ACPI de John Belmonte que vous trouverez a http://sourceforge.net/projects/acpi/. Appliquez le, et compilez votre noyau. Evitez autant que possible les
sources kernel de votre distro : elles contiennent souvent des patches
elles mêmes.
Du
fait de la participation de Toshiba (de même que Compaq, Intel, Microsoft et
Phoenix) a la publication de la norme ACPI, nous pouvons attendre que le BIOS
implémente correctement ces spécifications. Nous pouvons nous féliciter de
posséder du matériel de Toshiba quand on connaît le nombre impressionnant
d’implémentation foireuses qui circulent.
En ce qui concerne le Satellite 2410-404, des choses agréables comme les additional
keys, le réglage de l’éclat de l’écran en 8 étapes out de la sortie vidéo,
fonctionnent avec le patch pre-cite. Mais les options de powermanagement de
OSPM (Operating System-directed configuration and Power Management) ne font pas
grand chose sur mon portable, simplement parce les noyaux 2.4 ne prennent pas
en charge les sleep states S2, S3 et S4. OSPM est une partie de ACPI. Je
ne dis pas que OSPM power management ne fonctionne pas avec Linux, mais vous
devrez prendre un kernel beta ou attendre les noyaux 2.6.
Comme
j’utilise mon portable tous les jours, j’utilise APM pour la gestion de
l’énergie, ainsi que le toshset pour régler l’éclat du moniteur et la sortie
vidéo. Cela marche raisonnablement bien.
Comme dit plus haut, toshiba_acpi les gère. John Belmonte a écrit un outils en python pour les gérer. Prenez le ici.
La carte réseau est une EtherExpress PRO/100 VE. Le module eepro100 fera fonctionner cette NIC.
Le Wireless
LAN Mini PCI Card (PA3212U-2MPC) est detecte comme PCMCIA device sur le slot 0.
Il
est supporte par le module orinoco_cs. Vous pouvez utiliser le kernel-pcmcia-drivers ou prendre le dernier
PCMCIA-CardServices depuis SourceForge. Des patches existent pour que ce dernierpuisse change votre MAC et
supporte le monitor mode. Vous les trouverez a shmoo.com.
Le
Wireless LAN Mini PCI est aussi supporte par wavelan2_cs.o. Vous trouverez les
drivers chez Agere,
et des instructions d’installation detaillee dans le package.
Davyd 'proXy' Madeley m’a envoye la remarque suivante:
[..] J’ai [..] decouvert que l’internal wireless card semble fonctionner
mieux sous le driver open source orinoco_cs que sous […] wavelan2_cs.
Jettez
donc un coup d’œil dans la files section.
Si vous voulez me contacter pour de l’aide ou des échanges d’information,
sentez vous libre de le faire !
Thorsten
Haas mail@thorstenhaas.de