Par Artisan Numérique, le 12/07/2008 à 11:30.
Après 2 ans de bon et loyaux services pendant lesquelles il nous a suivi dans des coins bien rock'n'roll de notre charmante planète, la retraite de l'ami Zaurus approche...
Car il accuse un peu le coup le Zaurus avec sa batterie anorexique calée au powertape, sa prise audio qui ne répond juste plus et son boiter fêlé de partout. Il était donc temps de penser à la relève...
Du Zaurus à l'U810
De Zaurus je tenais cependant à garder les aspects clefs comme le mode "nano-laptop" avec un "vrai" clavier, le mode "tablette" pour lire des vidéos, une bonne autonomie et tout cela en restant utilisable dans les transports en heures de pointe.
Mais tant qu'à changer, autant gommer les aspects les plus saoulant du PDA de Sharp, à commencer par son incapacité communiquante : Il me faut donc WIFI/WPA, Ethernet et Bluetooth au minimum.
Je ne veut plus de processeurs type ARM, bien trop compliqué à gérer, à remplacer par une unité compatibilité i86 grâce à laquelle je pourrais installer une distribution standard. Enfin, j'avais besoin de plus de puissance et de plus de mémoire pour l'utiliser comme machine d'appoint en clientèle.
Et puis tant qu'à faire, autant qu'elle ne soit pas trop moche et relativement robuste vu les vilains traitements que je lui réserve.
Pour ce remplacement, j'ai étudié tour à tour les Eeepc, une série d'UPMC, le magnifique flybook, leNanobook de VIA et dérivés. Tout cela sans trouver la bonne combinaison esthétique/prix/autonomie/ergonomie. Et c'est en tombant sur un article traitant du Willcom D4 de Sharp que je suis arrivé de fil en aiguille sur les machines utilisant l'Intel ATOM et plus particulièrement le Fujitsu Lifebook U810/U1010.
Comme le Zaurus, l'U810 est un nano-laptop disposant d'un "vrai" clavier qui n'est d'ailleurs pas sans rappeler celui de mon ancien Psion 5 MX. Comme le Zaurus, il est transformable en "tablette" en retournant l'écran. Dans ce mode il devient cependant plus utilisable grâce à une souris-téton sous le pouce droit, les boutons de la souris sous le pouce gauche et des grips sous les paumes. En revanche, il est clairement plus gros (17x13.3x2.6 cm3) et plus lourd (700g vs 300g) que le Zaurus mais reste parfaitement utilisable dans un métro en heure de pointe même s'il ne tiendra jamais plus dans une poche standard.
Côté connectivité, c'est un grand bond par rapport au Zaurus : WIFI, Fast-Ethernet, USB en mode Host (avec une vraie prise grand format), Bluetooth, connecteur VGA pour un écran externe, jacks pour l'Audio HQ, lecteur SD et CompactFlash. Et en interne il dispose d'un véritable disque dur de 60Go. C'est la fin du jonglage entre applications installées et installables... A noter que l'ethernet et le VGA sont accessible grâce à une petite extension qui se branche à l'avant de l'appareil. La même extension est disponible sur la station d'accueil qui ajoute en plus une entrée 14v pour la charge et un hub USB doté de 4 ports.
Le coeur du zinzin est donc un Intel Atom cadencé 800Mhz réputé peu gourmand en énergie, compatible avec les i86 et doté d'1 Go de RAM.
L'écran est un très beau WSVGA tactile de 5.6" (1024 x 600) très agréable à lire, même avec le soleil dans le dos. Autour de ce dernier nous trouvons une petite WebCam de 640x480 et un lecteur d'empreinte digitale.
En somme, une bien belle machine qui reprend nombre des avantages du Zaurus en y ajoutant la connectivité, la puissance et donc bon nombre de nouvelles utilisations possibles.
Installation de la Mandriva
Installer GNU/Linux sur cette bécane était la suite logique et prévue, mais je pensais faire cela un peu plus tard, histoire d'explorer la bête. Mais finalement la pré-installation de Vista a transformé cette tâche en urgente nécessitée...
Alors très sincèrement je n'avais à l'origine rien contre cet OS dans la mesure où je ne l'avais jamais utilisé. J'en avais certes entendu des vertes et des pas mures mais j'avais mis cela au compte de la classique rengaine du Windows Bidule est une horreur qui bouffe toutes mes ressources, moi je resterais à Windows Machin
. J'ai entendu cette chanson là pour à peu prés toutes les versions qu'a pu produire Redmond sans pour autant connaître aujourd'hui quelqu'un qui tourne encore sous Windows 3.1.... Mais pour Vista, il semblerait bien qu’il y ait là un bon fond de vérité...
p>
Alors déjà cet "OS" est d'une lenteur absolument infernale. Le machin met prés de 2 MINUTES 20 à démarrer. Et une fois ce laborieux lancement effectué, rien n'est réactif. Je me retrouve avec une machine ayant à peu prés les mêmes performances qu'un Zaurus sous pdaXrom...
Après le visuel est sûrement une histoire de goût même si je trouve cela globalement très vilain. En revanche côté ergonomie, s'y retrouver dans ce souk c'est mission impossible. Au début j'ai pensé que j'étais à l'ouest à cause la version Japonaise, mais même après avoir restauré la version anglaise, j'étais toujours autant paumé. Et je précise que même en ne connaissant rien à MacOS, ma 1/2 neurone avait réussi à prendre en main un mac-mini sans problème. Je refuse donc d'être le fautif dans cette histoire...
Bref, quelque peu inquiet sur les performances de mon nouveau jouet, j'ai été contraint d'installer tout de suite une Mandriva. La raison qui m'avais fait hésiter à me lancer là dedans tout de suite est que, comme certains le savent, je suis en plein déménagement/emménagement/cartons/chantier/salon format gravats et champ de bataille. Du coup impossible de mettre la main sur une clef USB de taille suffisante pour y coller un master amorçable d'installation. J'ai bien essayé de connecter un lecteur de CD-ROM sur un adaptateur IDE/USB mais la bête refuse de le voir au démarrage. J'ai donc opté sur la solution PXE.
Un détail pas évident dans le BIOS : le démarrage sur clef USB est marqué "excluded". Pour l'inclure dans la liste, la touche magique est x.
Sans trop rentrer dans les détails,
PXE
est un protocole permettant au BIOS de trouver une IP via DHCP, de trouver ensuite un serveur TFTP, d'en extraire une image amorçable et enfin de se lancer dessus. C'est une solution qui peut sembler complexe à mettre en oeuvre mais en réalité grâce aux assistants mandriva, cela se configure en 10 minutes. Je vous conseille pour cela de suivre ce très bon tutoriel qui m'a complètement guidé. Juste un détail mal expliqué, l'assistant permettant de configurer le serveur DHCP est disponible dans le paquet drakwizards. Pour ce qui est du tutoriel, arrêtez vous avant l'histoire du NFS car un problème avec la carte réseau de l'U810 nous empêchera d'utiliser ce système.
Une fois PXE paramétré avec une image d'installation de la Mandriva 2008.1, la machine peut démarrer et fini par se retrouver sur le menu permettant de choisir où se trouvent les images ISO pour poursuivre l'installation. Comme je le disais plus haut, la puce ethernet n'est pas encore reconnue par Linux, et mon seul recours est donc de coller les dites images sur un disque dur en USB et de choisir l'entrée
Hard Disk. Ceci fait, le disque USB est rapidement trouvé, ainsi que les ISO qui s'y trouvent et l'installation démarre réellement.
N'oubliez pas, le clavier est QWERTY, ne fait donc pas comme moi en sélectionnant "clavier français" par réflexe...
La copie des fichiers prend tout de même 20 bonne minutes mais à sa décharge j'ai choisi d'installer un bureau Gnome complet, histoire de me rassurer sur les performances qui semblaient tant manquer à Vista. Une fois l'installation achevée et la machine redémarrée, je me suis retrouvé sous un GDM beaucoup plus rapidement qu'avec Vista. Très rassurant... Les temps sont de 37s pour le démarrage (en gros 4x plus rapide que Vista) et 11s pour l'extinction.
Finalement le problème venait bien de Vista. Pour se donner une idée, Firefox, à froid, se lance en 4 seconde en étant parfaitement fluide à l'utilisation. OpenOffice demande 6 secondes de plus pour être aussi utilisable comme sur une machine "normale". Mais plus fort, Java/Eclipse, même s'il prend 30 secondes à démarrer, ne souffre d'aucun ralentissement à l'usage. Clairement le disque dur est un peu plus lent qu'une machine standard mais une fois les applications chargée, le processeur et le giga de RAM prennent la relève et s'en sorte aussi bien qu'une machine de bureau. Là c'est vrai que par rapport au Zaurus c'est un autre monde.
Côté compatibilité, Hors de la boîte
, Mandriva reconnaît l'essentiel et la machine est utilisable. En fait, un point qui m'avait confirmé dans mon choix de l'U810 était sa certification pour SUSE Linux Enterprise Desktop. Maintenant je ne sais pas ce que contient la Suse comme pilotes où si leur certification consiste à dire Ok, c'est installé, y'a un truc à l'écran, c'est bon
, mais sous Mandriva Free, il y a tout de même pas mal de réglage à faire pour que tout fonctionne.
Toutes les sources et fichiers de configuration utilisés dans ce tutoriel sont dans l'archive
u810.tgz. Vous pouvez la décompresser sur la machine où bon vous semble et recopier au cas par cas les données qui vous intéressent.
Northbridge
L'architecture de l'U810 est essentiellement basée sur l'Intel's Ultra Mobile Platform 2007. Le North bridge
est donc un Intel 945GU prenant en charge le processeur Atom A110 cadencé à 800mhz (FSB de 400mhz), 1go (le max) de DDR2 à 400mhz (logique
et une unité graphique intégrée.
Vidéo
Sur ce plan, absolument rien à redire. Mandriva a configuré Xorg avec le pilote intel. L'accélération 3D marche très bien et glxgears affiche un score de 655fps, ce qui est vraiment bien pour une si petite machine. Pour les aficionados des fenêtres qui gigotent, Compiz fonctionne très bien, sans ralentissement... Regardez, je fais tourner mon bureau !!! cool, cool, cool...
.
A noter que le contrôle de la luminosité marche parfaitement avec l'applet GNOME quiva bien. En revanche les touches de fonctions associées (Fn+S et Fn+D) si elles semblent bien être reconnues, ne permettent que changer plus à plus d'un niveau.
Pour ce qui est de la sortie VGA, c'est xrandr qui est notre ami. Tout marche directement en utilisant les commandes suivantes :
# désactiver l'écran LCD
xrandr --output LVDS --off
# activer l'écran VGA
xrandr --output VGA-1 --mode 1280x1024
# désactiver l'écran VGA
xrandr --output VGA-1 --off
# activer l'écran LCD
xrandr --output LVDS --auto
Il est ainsi parfaitement possible d'activer les deux sorties en même temps. De la même manière il est possible de faire tourner l'écran par un
xrandr --output LVDS --rotate left
Dans
u810.tgz vous trouverez
usr/bin/switch_screen.sh et
usr/bin/rotate_screen.sh.
Southbridge
Le Southbridge
est un Intel 82801G de la famille des ICH7 qui gère l'audio HQ, l'USB, PATA/IDE, le bus PCI et l'énergie. Le tout est pris en charge par le module piix.
Gestion de l'énergie
Les fonctions énergétiques de base sont disponibles à travers les différentes applets de Gnome : niveau de la batterie, vitesse du processeur (800 ou 600mhz), changement de la stratégie de consommation. Le problème ne viendra donc pas de là, mais de la mise en veille (RAM ou disque) qui cafouille autant qu'elle peut...Et pour ce genre de périphérique c'est un peu dommage...
Pour ce qui est de l'hibernation et de la mise en veille, suivez ce tutoriel.
Audio
Le son HQ du 82801G (module snd_hda_intel) est délégué au codec 24bits/100db Realtek ALC262. ALSA reconnaît l'ensemble sans problème, contrôle du volume compris, même si le son est un peu nasillard sur le haut parleur interne...
En revanche, une fois connecté sur un casque ou un ampli externe, la qualité est juste excellent, bien meilleur que le Zaurus, sans aucun souffle. Et contrairement à ce que j'ai pu lire sur le net, la prise casque déconnecte bien le haut parleur interne. C'est mieux pour les voisins
USB 2.0
Les HUBs USB 2.0 internes sont reconnus par le pilote ehci ce qui semble bien indiquer le bus fonctionne en mode High Speed. Un test avec une clef USB de bonne qualité indique un débit de 10 mo/s ce qui est très en ligne avec le maximum de ce genre de périphérique. Avec un disque dur le score atteint 26.6 mo/s, soit exactement la même chose que sur ma machine de bureau. En somme, c'est bien de l'USB 2.0 high speed. C'était marqué sur la boite mais c'est bien d'essayer
En tout cas d'un point de vue fonctionnel, le vrai port USB c'est bien pratique. Pouvoir tout brancher, hub, souris, clavier, clef, sans cablerie supplémentaire, c'est un vrai bonheur.
Stockage
PATA et Disque dur
Le disque interne est un Toshiba MK6028GAL. Un petit test avec hdparam -Tt /dev/hda1 me donne un score de 29MB/sec (option --direct), ce qui en comparaison d'un Baraccuda correspond à un petit deux fois plus lent
. La raison en est sûrement les 4200rpm sur cette unité contre 7200rpm sur un disque 3"5 classique.
Ceci mis à part, c'est un disque dur tout ce qu'il y a de plus classique avec un support S.M.A.R.T fonctionnel (température, pannes, etc..).
Lecteur SD/MMC/CF
La lecture des cartes est pris en charge par une puce OZ711MP1/MS1 d'O2 Micro disposée sur le bus PCI interne. La lecture des cartes SD se fait sans problème avec un bémol cependant, il ne sont pas montés automatiquement. J'ai tout essayé mais rien à faire. Et en plus ce n'est même pas systématique, de temps en temps ça apparaît, la plupart du temps, pas...
Sinon les cartes apparaissent comme pour le Zaurus en /dev/mmcblkXpY et affiche un débit en lecture de 2.8mb/sec pour une carte 80x transcend. Ce chiffre est à comparer à ceux obtenus pour un Zaurus et indiquent que l'on a bien une lecture rapide de type SD (4 fils) et pas MMC (1 fils).
Les cartes CF type I et II passent par le module pata_pcmcia et sont elles aussi lues sans problème en étant cette fois montées automatiquement. En revanche le début n'est pas terrible : 835ko/s en utilisant pourtant une carte dual channel de compétition.
Communication
Fast-Ethernet
Nous l'avions vu plus haut, le contrôleur ethernet ne marche pas directement. Pourtant, la puce Realtek 8101L est normalement très bien prise en charge par le module 8139too. La faute semble ici venir couple BIOS/PNP qui indique de mauvaises plages de resources. Pour régler le soucis, il suffit donc d'ajouter à la suite de la bonne ligne kernel dans /boot/grub/menu.lst les paramétres pnpbios=off pnpacpi=off.
Au redémarrage, la puce devrait être reconnue sans problème. Notez que celle-ci est intégrée dans la machine et que l'extension à connecter sur l'avant de l'appareil, ou encore la station d'accueil, ne sont que des reports de cablage pour ne pas encombrer les côtés d'un port RJ45. Comme pour le port VGA.
WIFI
Le WIFI est pris en charge par une puce Atheros AR5006EG 802.11ABG dotée d'une double antenne (impliquant une réception pouvant aller jusqu'à 200%). La réception même à travers un sol de béton est très bonne.
Cette puce est prise directement en charge par le pilote madwifi ath_pci et fonctionne avec toutes les options WPA classique. Laissez-vous guider par drakconnect, ça marche tout seul.
Bluetooth
Le Bluetooth 2.0 est pris en charge par un module USB (0c24:000f) Taiyo Yuden et fonctionne sans soucis. Il vaut mieux cependant déconnecter le service (drakxservices) histoire de ne pas pomper du jus pour rien.
Périphériques de saisie
Clavier principal
Comme je le disais plus haut, le clavier est assez proche de celui du Psion 5 mx mais en Qwerty... Il va donc falloir que je le bidouille un peu via xmodmap pour gérer les accents. Il est très agréable à utiliser pour mes gros doigts qui soufraient avec les touches du Zaurus. Le seul bémol à ce clavier sont les touches de directions qui sont d'une idiotie rare, car accessible uniquement via la touche Fn... Pas très malin.
L'écran tactile
Sur ce point, reportez vous à ce tutoriel.
Touches supplémentaires
Le curseur de contrôle logiciel du volume (côté gauche) fonctionne sans soin particulier. C'est déjà pas mal. En revanche pour les touches /, //, Rotation, Flèche haut et bas, il faut utiliser une version modifiée du projet fsc_btns.
Pour ce faire, allez dans le dossier où vous avez décompressé u810.tgz puis dans usr/src/buttons et appliquez la procédure suivante :
tar -zxvf fsc_btns-1.30.tar.gz
cd fsc_btns
patch -p1 < ../fsc_btns-1.30-u810.patch
# A ne faire que si vous avez un U1010, faites un dmidecode | grep Product pour vérifier !!!
patch -p1 < ../fsc_btns-1.30-u1010.patch
make
make install
modprobe fsc_btns
Voilà, le module devrait être chargé. Pour tester que les touches sont maintenant vivantes, vous pouvez lancer xbindkeys --km et les presser successivement. Il ne vous reste alors plus qu'à les associer à une action de votre choix toujours grâce à xbindkeys par exemple (voir le fichier etc/xbindkeys.rc dans l'archive u810.tgz).
Interrupteur "Flight mode"
Sur le côté gauche se trouve un interrupteur sensé pouvoir couper toute communication radio. A l'origine ce type de dispositif permet d'utiliser la machine en tout sécurité dans un avion. Malheureusement il n'a aucune action sous Linux et je n'ai pas encore trouvé le moyen de régler cela.
WebCAM
La WebCam est reconnue de traviole. Normalement c'est uvcvideo qui est en charge de cette périphérique mais il ne semble pas que la puce Ricoh R5U870 disponible sur le bus USB, soit très compatible avec uvc. Heureusement un pilote spécifique existe mais le support pour la version Fujitsu F01 UVC (USB ID: 05ca:1841) est encore en cours de réalisation. En tripatouillant entre les deux pilotes (modprobe r5u870,modprobe -r r5u870, modprobe ruvcvideo), on arrive à avoir un boût d'image avec xawtv mais c'est encore loin d'un résultat utilisable et ce même en utilisant la dernière version sur subversion.
Lecteur d'empreintes digitales
Le lecteur est AES25010 de chez AuthenTec sur bus USB (08ff:2580) et par chance il est parfaitement pris en charge par le projet fprint qui vient mettre un peu d'ordre dans tous les projets spécifique à tel ou tel scanner.
Pour lire une empreinte et la tester, le plus simple est d'installer le package fprint_demo qui embarquera avec lui les bonnes dépendances. Ensuite lancez fprint_demo pour scanner un de vos doigts, ceci fait, les onglets suivants servent à vérifier que cela colle.
Ensuite, pour les aventureux, il est possible d'ajouter au système d'authentification de Linux un module PAM spécifique à la lecture d'empreintes. Cela se fait très simplement en installant pam_fprint puis en ajoutant dans /etc/pam.d/system-auth, en tête de liste, un auth sufficient pam_fprint.so. N'allez pas toucher au reste, fprint est en alpha et s'il ne réussi pas à vous reconnaître, vous seriez bloqué hors de votre machine
Illumination du clavier
Une fonction bien sympatique de l'U810 est l'illumination du clavier par deux petites loupiotes bleues. Très geek, oui, oui, je sais 
Pour l'activer il faut cependant se frapper une compilation complète du kernel sur lequel on applique le patch disponible dans le dossier usr/src/lights de l'archive u810.tgz.
Mais comme le dit patch est conçu pour un kernel 2.6.25, avec un 2.6.24, il coince sur le premier chunk. Ce n'est pas bien grave, il suffit de modifier le fichier drivers/misc/fujitsu-laptop.c à la main en ajoutant l'inclusion de linux/leds.h après celle de backlight.h et en changant le numéro de version vers une 3.0e histoire de ne pas s'y perdre.
Une fois que le kernel est compilé (pensez à distcc
et que vous avez redémarré dessus, il suffit d'écrire dans un fichier pour changer les lumières :
modinfo fujitsu-laptop # ça doit dire 3.0E
modprobe fujitsu-laptop
# allumage normal
echo 3 > /sys/devices/platform/fujitsu-laptop/kbd_light
# estinction
echo 0 > /sys/devices/platform/fujitsu-laptop/kbd_light
# clignotant
echo 1 > /sys/devices/platform/fujitsu-laptop/kbd_light
Dans l'archive
u810.tgz, en
usr/bin, vous avez un script appelé
toggle_lights.sh qui permet d'allumer et d'éteindre les lumières.
Pour éviter de perdre l'accès aux modules pré-compilés de la mandriva, il est préférable de garder le même nom de kernel que celui du dépot en modifiant le Makefile dans les sources. Lors du make modules_install cela va écraser les modules d'origine mais comme les versions seront les mêmes, tout continuera à fonctionner.
Un peu de colle
Voilà, tout est presque prêt. Pour que tout marche correctement au re démarrage du système, vous trouverez dans u810.tgz un script d'initialisation u810 dans le dossier etc/rc.d/init.d à placer en /etc/rc.d/init.d. Lorsque vous l'aurez copié, lancez drakxservices et activez le. Au redémarrage vous devriez :
- Avoir un chargement du module u810_tablet dans le bon ordre et disposer de l'écran tactile.
- Avoir un chargement du module fujitsu-laptop et donc l'accès aux loupiotes.
- Avoir un chargement du module fcn_btns et ainsi accès aux touches supplémentaires.
- Un déchargement forcé du module bluetooth pour améliorer la durée de vie des batteries.
- Changer les droits sur la périphérique des loupiotes pour permettre à un utilisateur non-root de les utiliser.
Dans l'archive vous avez aussi un dossier usr/bin. Il contient une série de scripts :
- switch_screen.sh - permet de basculer l'écran sur VGA si l'écran VGA est connecté sinon il bascule sur LCD.
- rotate_screen.sh - change alternativement l'orientation pour s'adapter à la position de l'écran.
- toggle_lights.sh - pour allumer et éteindre les loupiotes.
Enfin pour rendre tout cela ergonomique, vous avez dans etc/xbindkeys.rc qui faut recopier dans votre /etc, puis recopiez etc/X11/xinit.d/35u810 dans votre /etc/X11/xinit.d/35u810. Ceci fait, au démarrage de votre session, xbindkeys devrait être automatiquement chargé et vous offrir les fonctions suivantes :
- / - Bascule de l'éclairage.
- rotation - Retournement de l'écran.
- // - hibernation.
- Fn+A - Activation de la sortie VGA.
A noter que la mise en veille est prise en charge par gnome-power-manager via la touche C-alt-D sous le lecteur d'empreintes.
Conclusion
Cela m'a pris tout de même deux bonnes journées pour arriver à rendre cette petite merveille utilisable dans de bonne conditions sous Mandriva mais toutes les fonctions essentiels sont maintenant disponibles à l'exception de la WebCam.