<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Artisan Numérique</title>
  <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1587"/>
  <link rel="self" type="application/atom+xml" href="http://artisan.karma-lab.net/node/1587/atom/feed"/>
  <id>http://artisan.karma-lab.net/node/1587/atom/feed</id>
  <updated>2008-10-31T01:01:18+01:00</updated>
  <entry>
    <title>Mandriva 2009.0 sur Fujitsu U810/U1010</title>
    <link rel="alternate" type="text/html" href="http://artisan.karma-lab.net/node/1587" />
    <id>http://artisan.karma-lab.net/node/1587</id>
    <published>2008-10-23T02:25:32+02:00</published>
    <updated>2008-10-31T01:01:18+01:00</updated>
    <author>
      <name>Ulhume</name>
    </author>
    <category term="U810" />
    <category term="OK" />
    <category term="Planet Libre" />
    <category term="Article" />
    <summary type="html"><![CDATA[<p>
   Cela fait maintenant deux semaines que je teste la nouvelle mandriva 2009.0 sur mon U810 et là, ça commence à devenir vraiment utilisable. Au menu des nouveautés le mode "tablet" qui fonctionne correctement, le lecteur d'empreintes digitales, la WebCAM, le WIFI en standard et pas mal d'autres choses. 
</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>
   Cela fait maintenant deux semaines que je teste la nouvelle mandriva 2009.0 sur mon U810 et là, ça commence à devenir vraiment utilisable. Au menu des nouveautés le mode "tablet" qui fonctionne correctement, le lecteur d'empreintes digitales, la WebCAM, le WIFI en standard et pas mal d'autres choses. 
</p>
<!--break-->

	<a name='chapter_1'></a>
  <h2>Présentation de l'U810</h2>
	
<p>
<image file="fujitsu_u810_hand2.jpg" width="150px"/>
 L'U810 (ou U1010 pour le marché asiatique) est un minuscule 
  <a target='_blank' href='http://fr.wikipedia.org/wiki/netbook'>
  netbook
  </a>. Même si mécaniquement il ressemble au Zaurus, avec ses <b>170x133x25 mm<sup>3</sup></b> il est tout de même un tiers plus gros et sera difficile à faire tenir dans une poche sauf à adopter une saharienne. Il est aussi deux fois plus lourd qu'un Zaurus avec <b>700g</b>, batterie longue durée comprise et <b>600g</b> avec la version standard.
</p>
<p>
<image file="mouse_nub.jpg" width="150px" style="float:right; margin-right:0px; margin-left:10px;"/>
  L'<b>écran 5"7</b> d'une résolution de <b>1024x600</b> est très sympa même si cette qualité devient aujourd'hui plus une norme. Comme le Zaurus, cet affichage peut être "partagée" avec d'autres en le faisant pivoter, et transformé en "tablette" en le faisant basculer. Dans ce mode l'U810 est beaucoup plus maniable que le Zaurus 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. La machine est aussi contrôlable en passant par la dalle tactile. 
</p>
<p>
  Pour compléter l'affichage, le tour de l'écran est garnit d'un lecteur d'empreintes, <a class='external' target='_blank' href='/node/1677' >un vrai plus</a> évitant d'utiliser le clavier un peu exigu pour saisir un mot de passe compliqué, et d'une série de boutons spécialisés. 
</p>
<p>
<image file="keyboard.jpg" width="150px"/>
  Concernant le clavier justement, il n'est pas sans rappeler celui de mon ancien <a class='external' target='_blank' href='http://en.wikipedia.org/wiki/Image:2005-04-16_Psion_Serie_5mx_PRO_24MB_beschn_unscharf_scharf.JPG' >Psion 5 MX</a> avec en plus l'indispensable illumination par deux petites LED bleues. Mon seul regret est sa conception quelque peu idiote avec des combinaisons de touches pour des choses aussi basiques que les flèches de direction. Ce n'est d'ailleurs pas pour rien si le clavier a été totalement repensé pour la <a class='external' target='_blank' href='http://www.fujitsu.com/hk/services/computing/pc/notebooks/useries/u2010/specs.html' >génération suivante</a>.
</p>
<p>
<image file="vue_eclate.jpg" width="150px" style="float:right; margin-right:0px; margin-left:10px;"/>
  Le coeur de la machine est un intel ATOM à 800mhz épaulé par 1Go de RAM, de 60Go de dur et d'un processeur graphique intel 945GM capable d'une accélération 3D basique mais efficace pour les compositeurs de bureaux comme compiz ou KWin/KDE4.
</p>
<p>
  Outre le disque dur, le stockage peut se faire via le lecteur MMC/SD ou par le lecteur CompactFlash (Type I et II). Ce dernier peut aussi recevoir des cartes d'extensions comme par exemple pour ajouter la <a class='external' target='_blank' href='http://mb.softbank.jp/mb/data_card/index.html' >3G</a>.
</p>
<p>
  La connectivité n'est pas à la traîne avec tout ce qu'il faut sauf la 3G (en option) : WIFI A/B/G, Fast-Ethernet, USB en mode <kbd>Host</kbd> avec une <b>vraie prise grand format</b> et le Bluetooth. 
</p>
<image file="adaptateur.jpg" width="150px" style="float:right; margin-right:0px; margin-left:10px;"/>
<p>
  Enfin la machine dispose d'une sortie VGA qui est un énorme avantage pour qui ne veut pas traîner une enclume lors d'une simple présentation en clientèle. L'U810 peut ainsi être branché sans soucis sur un rétro-projecteur ou un écran externe en 1280x1024. 
</p>
<p>
<image file="replicator.jpg" width="150px"/>
  L'ethernet et le VGA sont accessible grâce à une petite extension qui se branche à l'avant de l'appareil ce qui n'est pas génial si l'on doit utiliser le clavier. La même extension est aussi disponible sur la station d'accueil qui ajoute en plus une entrée 16v pour la charge et un hub USB doté de 4 ports. Dans les oublis regrettables de ce réplicateur de ports, on note l'absence d'une entrée PS/2 pour un clavier externe. 
</p>

<p>
  Maintenant que les présentation sont faites, passons au coeur du sujet. 
</p>



	<a name='chapter_2'></a>
  <h2>Installation de la Mandriva 2009</h2>
	
<p>
<image file="installation.jpg"/>
   Alors très sincèrement je n'avais à l'origine rien contre Vista dans la mesure où je ne l'avais jamais utilisé. J'en avais certes entendu des vertes et des pas mures mais j'ai mis cela sur le compte de la classique rengaine du <q>Windows Bidule est une horreur qui bouffe toutes mes ressources, moi je resterais à Windows Machin</q>. J'ai entendu cette chanson là pour à peu prés toutes les <a class='external' target='_blank' href='http://www.lyricstime.com/weird-al-yankovic-windows-95-sucks-lyrics.html' >versions qu'a pu produire Redmond</a> 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 fond de vérité... C'est assez moche déjà, c'est d'une lenteur infernale (2 Minutes 20 à démarrer !!!), rien ne réagit, bref, une horreur. Du coup, le passage à Linux c'est fait assez naturellement...
 </p>
<p>
  Si vous désirez installer GNU/Linux sur cette machine, le plus simple est de passer par un adaptateur USB/IDE et un lecteur de CD-ROM. Un détail pas évident dans le BIOS : le démarrage via USB est marqué "excluded". Pour l'inclure dans la liste, la touche magique est <kbd>x</kbd>.
</p>

<p>
  Il y a quelque mois j'avais donc installé la Mandriva 2008.1 avec pas mal de succès et quelques pétouilles. Le problème de lenteur venait bien de Vista car une fois GNU/Linux en place la machine s'est vue pousser des ailes. Firefox lancé à froid en 6 seconde était parfaitement fluide à l'utilisation. OpenOffice demande 6 secondes de plus pour être aussi rapide que sur une machine "normale". Mais plus fort, Java/Eclipse, même s'il prend 30 secondes à démarrer, ne souffre d'aucun ralentissement notable. Clairement le disque dur est un peu plus lent qu'une machine standard mais une fois les applications chargées, le processeur et le giga de RAM prennent la relève et s'en sortent aussi bien qu'une machine de bureau. D'ailleurs mon U810 <i>est</i> ma deuxième machine de bureau avec son propre écran externe. 
</p>

<P>
  Pour la grosse mise à jour de ce billet l'objectif est donc d'installer via le réseau le passage de la 2008.1 à la 2009.0 pour voir un peu comment le support de la machine a évolué. Le processus est la même que celle expliquée <a class='external' target='_blank' href='/node/1526' >ici</a>.
</P>

<p>
  La 2009.0 est livrée avec le kernel 2.6.27 qui, entre autres nouveautés, présente un support amélioré du WIFI et des WebCAM. Côté Mandriva l'ancien kernel <kbd>Laptop</kbd> a été fusionné avec le kernel <kbd>Desktop</kbd>. Pour ces tests le mien était celui-ci :
  
  <div class='code-block code-block-traces'>
  <div class='container'>
  <div class='command'><span class='prompt'>root#</span>uname -r</div><div class='result'>2.6.27-desktop-0.uc1mnb</div><div class='command'><span class='prompt'>root#</span><span class='cursor'>&nbsp;</span></div>
  </div>
  
  </div> 
</p>


<p>
  Une fois installé, la 2009.0 se comporte très bien même si point à point tout n'est pas toujours rose. Le tableau ci-dessous indique en vert ce qui fonctionne, en rouge ce qui ne marche pas et en orange, ce qui clopine sur trois pattes. La petite étoile indique quant à elle que si ça marche, ce n'est pas grâce à Mandriva mais à une bidouille maison <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/>
</p>
<style>

  table.progress {
  background-color:white;
  }
   
  table.progress  td{
border:1px solid white;
  }
  
  td.ok { 
    width:50px;
    background-color:#529e42;
    text-align:center;
  }
  td.ko { 
    width:50px;
    background-color:red;
    text-align:center;
  }
  td.bof { 
    width:50px;
    background-color:orange;
    text-align:center;
  }
  td.na { 
    width:50px;
    background-color:grey;
    text-align:center;
  }
</style>
<div style='float:left; padding-left:10px; padding-right:10px;'>
<table class='progress'>
  <tr><th colspan="2">Affichage</th></tr>
  <tr><td><a href='#video'>Support de la 2D                                   </a></td><td class='ok'></td></tr>
  <tr><td><a href='#video'>Support de la 3D                                   </a></td><td class='ok'></td></tr>
  <tr><td><a href='#video'>Rotation de l'écran                                </a></td><td class='ko'></td></tr>
  <tr><td><a href='#video'>Sortie VGA                                         </a></td><td class='ok'>*</td></tr>
  <tr><th colspan="2">Audio</th></tr>
  <tr><td><a href='#audio'>Restitution Audio                                  </a></td><td class='ok'></td></tr>
  <tr><td><a href='#audio'>Curseur de volume                                  </a></td><td class='ok'></td></tr>
  <tr><td><a href='#audio'>Bascule casque/haut parleur                        </a></td><td class='ok'></td></tr>
  <tr><td><a href='#audio'>Enregistrement microphone                          </a></td><td class='ko'></td></tr>
  <tr><th colspan="2">Stockage</th></tr>
  <tr><td><a href='#hd'>   Disque dur interne                                 </a></td><td class='ok'></td></tr>
  <tr><td><a href='#sd'>   Lecteur SD                                         </a></td><td class='ok'></td></tr>
  <tr><td><a href='#cf'>   Lecteur CF                                         </a></td><td class='ok'></td></tr>
  <tr><th colspan="2">Connectivité</th></tr>
  <tr><td><a href='#eth'>  Ethernet                                           </a></td><td class='ok'>*</td></tr>
  <tr><td><a href='#wifi'> WIFI                                               </a></td><td class='ok'></td></tr>
  <tr><td><a href='#bt'>   BlueTooth                                          </a></td><td class='ok'></td></tr>
  <tr><td><a href='#usb'>  USB                                                </a></td><td class='ok'></td></tr>
</table>
</div>
  
<div style='float:left; padding-left:10px; padding-right:10px;'>
<table class='progress'>
  <tr><th colspan="2">Périphériques en entrée</th></tr>
  <tr><td><a href='#kbd'>  Clavier                                            </a></td><td class='ok'></td></tr>
  <tr><td><a href='#mouse'>  Souris intégrée                                  </a></td><td class='ok'></td></tr>
  <tr><td><a href='#tablet'>Écran tactile                                     </a></td><td class='ok'></td></tr>
  <tr><td><a href='#btn'>  Boutons                                            </a></td><td class='ok'>*</td></tr>
  <tr><td><a href='#fm'>   Flight Mode                                        </a></td><td class='bof'></td></tr>
  <tr><td><a href='#fp'>   Lecteur d'empreinte digitale                       </a></td><td class='ok'></td></tr>
  <tr><td><a href='#webcam'>WebCAM                                            </a></td><td class='ok'>*</td></tr>
  <tr><td><a href='#light'>Illumination du clavier                            </a></td><td class='ok'>*</td></tr>
  <tr><th colspan="2">Energie</th></tr>
  <tr><td><a href='#energie'>  Mise en veille en RAM                          </a></td><td class='ok'></td></tr>
  <tr><td><a href='#energie'> Mise en veille sur disque                      </a></td><td class='ok'></td></tr>
  <tr><td><a href='#energie'> Variation de fréquence                         </a></td><td class='ok'></td></tr>
  <tr><td><a href='#energie'> Variation de luminosité                         </a></td><td class='ok'></td></tr>
</table>
</div>


	<a name='chapter_3'></a>
  <h2>Chipset</h2>
	
<p>
   L'architecture matérielle est essentiellement basée sur l'<a class='external' target='_blank' href='http://www.linuxdevices.com/news/NS9317663306.html' >Intel's Ultra Mobile Platform 2007</a>. Le Northbridge est donc un <b>945GU</b> prenant en charge le processeur <b>Atom à 800mhz avec une FBU de 400Mhz</b>, <b>1GO de DDR2 à 400Mhz</b>.
</p>
<p>
  Certains CPU Atom incluent l'
  <a target='_blank' href='http://fr.wikipedia.org/wiki/HyperThreading'>
  HyperThreading
  </a> mais un <kbd>cat /proc/cpuinfo</kbd> n'indique pas que ce soit le cas de l'A110. J'ai donc rajouté, sans être sur que cela apportait grand chose, la directive <kbd>nosmp</kbd> aux options du kernel :
  
  <div class='code-block code-block-fragment'>
  <div class='container'>
  title linux<br />
kernel <span class="br0">&#40;</span>hd0,<span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">/</span>boot<span class="sy0">/</span>vmlinuz <span class="re2">BOOT_IMAGE=</span>linux <span class="re2">root=</span><span class="re2">UUID=</span>a7160e22-c75b<span class="nu0">-4302</span>-afe5-fc6a8b713dbd <span class="re2">vga=</span><span class="nu0">788</span> nosmp<br />
initrd <span class="br0">&#40;</span>hd0,<span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">/</span>boot<span class="sy0">/</span>initrd.img
  </div>
  <div class='caption'>/boot/grub/menu.lst</div>
  </div>
</p>

<p>
  Évidemment les UUID seront différents chez vous. 
</p>
<p>
Le Southbridge est un quant à lui un <a class='external' target='_blank' href='http://www.thinkwiki.org/wiki/Intel_82801G_HDA' >Intel 82801G</a> de la famille des <b>ICH7</b> pris en charge par le module <kbd>piix</kbd>. 
</p>

<a name='video'></a>

	<a name='chapter_4'></a>
  <h2>Affichage</h2>
	
<p>
   Le panneau LCD fait 5"7 de diagonale pour une résolution de <b>1024x600</b>. Il est géré par la puce <b>Intel 945GM</b>.  Pour une utilisation standard il n'y rien à redire, le pilote <kbd>X11-intel</kbd> fonctionne très bien. L'accélération 3D est aussi en rendez-vous et <kbd>glxgears</kbd> affiche un score de 655fps, ce qui est vraiment étonnant pour une si petite machine. Pour les aficionados des fenêtres qui gigotent, Compiz fonctionne donc sans ralentissement... <q>Regardez, je fais tourner mon bureau !!! cool, cool, cool...</q> <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/>.
</p>

<p>
   Là où la 2009.0 régresse par rapport à la 2008.1, c'est sur la sélection de la sortie VGA externe. Techniquement la faute en revient à la nouvelle version du pilote intel (2.4.2) qui <a class='external' target='_blank' href='https://bugs.freedesktop.org/show_bug.cgi?id=17823' >bugge grave</a> avec l'U810. La sortie VGA externe n'est simplement pas reconnue en tant que telle mais comme une sortie TV inutilisable. Il faut donc du récupérer <a class='external' target='_blank' href='http://mandriva.c3sl.ufpr.br/official/2008.1/i586/media/main/release/x11-driver-video-intel-2.2.1-5mdv2008.1.i586.rpm' >l'ancien pilote sur la 2008.1</a> (version 2.2.1) qui lui fonctionne très bien et l'installer après avoir désinstaller la 2.4.2. 
<p>
<p>
  Pour commuter la sortie VGA (avec le pilote 2.2.1 donc), c'est <kbd>xrandr</kbd> qui est notre ami en utilisant les commandes suivantes :

  <div class='code-block code-block-traces'>
  <div class='container'>
  <div class='co0'># désactiver l'écran LCD</div><div class='command'><span class='prompt'>gaston$</span>xrandr --output LVDS --off</div><div class='result'>&nbsp;</div><div class='co0'># activer l'écran VGA</div><div class='command'><span class='prompt'>gaston$</span>xrandr --output VGA-1 --mode 1280x1024</div><div class='result'>&nbsp;</div><div class='co0'># désactiver l'écran VGA</div><div class='command'><span class='prompt'>gaston$</span>xrandr --output VGA-1 --off</div><div class='result'>&nbsp;</div><div class='co0'># activer l'écran LCD</div><div class='command'><span class='prompt'>gaston$</span>xrandr --output LVDS --auto</div><div class='command'><span class='prompt'>gaston$</span><span class='cursor'>&nbsp;</span></div>
  </div>
  
  </div>
</p>
<p>
  Il est ainsi parfaitement possible d'activer les deux sorties en même temps. De la même manière il devrait être possible de retourner l'écran, mais chez moi, cela plante X en boucle :

  <div class='code-block code-block-traces'>
  <div class='container'>
  <div class='command'><span class='prompt'>gaston$</span>xrandr --output LVDS --rotate left</div><div class='command'><span class='prompt'>gaston$</span><span class='cursor'>&nbsp;</span></div>
  </div>
  
  </div>
</p>

<p>
  A noter enfin que le contrôle de la luminosité marche parfaitement avec l'applet GNOME qui va bien et, nouveauté, il fonctionne aussi avec les touches de fonctions associées <kbd>Fn+S</kbd> et <kbd>Fn+D</kbd>. 
<p>


<a name='audio'></a>

	<a name='chapter_5'></a>
  <h2>Audio</h2>
	
<p>
  La gestion sonore HQ du <b>82801G</b> (module <kbd>snd_hda_intel</kbd>) est délégué au codec 24bits/100db <a class='external' target='_blank' href='http://www.realtek.com.tw/products/productsView.aspx?Langid=1&amp;PFid=27&amp;Level=5&amp;Conn=4&amp;ProdID=40' >Realtek ALC262</a>. La sortie audio se fait par haut-parleur interne ou par la prise <b>jack 3.5</b>. 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 <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/>
</p>
<p>
  ALSA reconnaît l'ensemble sans problème (pilote <kbd>snd_hda_intel</kbd>), contrôle du volume compris, même si le son est un peu nasillard sur le haut parleur interne...
</p>

<p>
  Le seul point noir est l'enregistrement à partir du micro intégré qui <a class='external' target='_blank' href='https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/141445' >ne fonctionne pas</a>. Pas très sympa pour un usage nomade avec skype & co. 
</p>



<a name='hd'></a>


	<a name='chapter_6'></a>
  <h2>Disque dur</h2>
	
<p>
   Il s'agit d'un <a class='external' target='_blank' href='http://www.toshibastorage.com/main.aspx?Path=HardDrivesOpticalDrives/1.8-inchHardDiskDrives/MK6028GAL' >Toshiba MK6028GAL</a> de 60GO en PAPA UDMA 100 à 4200rpm. Un petit test avec <kbd>hdparam -Tt /dev/hda1</kbd> me donne un score de 29MB/sec (option --direct), ce qui en comparaison d'un <a class='external' target='_blank' href='http://www.seagate.com/support/disc/manuals/ata/cuda_72008_pm.pdf' >Baraccuda</a> correspond à un petit <q>deux fois plus lent</q>.  La raison en est sûrement les 4200rpm sur cette unité contre 7200rpm sur un disque 3"5 classique. 
</p>
<p>
  Enfin petit détail agréable, il prend en charge le mode <a class='external' target='_blank' href='http://smartmontools.sourceforge.net/' >S.M.A.R.T</a>. 
</p>

<a name='sd'></a>

	<a name='chapter_7'></a>
  <h2>Lecteur SD/MMC</h2>
	
<p>
  La lecture de cartes SD est pris en charge par une puce <kbd>OZ711MP1/MS1</kbd> d'O2 Micro disposée sur le bus PCI interne. Le débit en lecture de 2.8mb/sec pour une carte 80x transcend. Ce chiffre est à comparer à ceux obtenus <a class='external' target='_blank' href='//node/70' >pour un Zaurus</a> et indiquent que l'on a bien une lecture rapide de type SD (4 fils) et pas MMC (1 fils).  
</p>
<p>
A noter que la grande nouveauté de la 2009.0 dans ce domaine est que les SD card se montent automatiquement sur le bureau Gnome. 
</p>

<a name='cf'></a>


	<a name='chapter_8'></a>
  <h2>Lecteur CF</h2>
	
<p>
Les cartes CF type I et II passent par le module <kbd>pata_pcmcia</kbd> et sont elles aussi sont montées automatiquement et lues sans problème. Le début n'est pas terrible : 835ko/s en utilisant pourtant une carte dual channel de compétition. 
</p>
<p>
  Maintenant le CompactFlash n'est, comme chacun le sait, pas limité au stockage. En fait, comme pour le standard SD, CompactFlash est aussi capable d'entrées-sorties pour l'insertion de cartes ajoutant des fonctions comme la 3G, le BlueTooth ou encore le WIFI. La différence entre SDIO et CFIO c'est que ce dernier est implémenté sous Linux, et le premier ne l'est pas pour de stupide raisons de licences.
</p>
<p>
 N'ayant pas de cartes 3G sous la main, j'ai tenté d'utiliser ma vieille carte WIFI Symbol/24 que j'utilisais pour le Zaurus. Une insertion simple et un tours dans <kbd>dmesg</kbd> m'ont montré que la carte était bien reconnue mais que le pilote ne trouvait pas le firmware. Notez que depuis la 2.6.27, l'emplacement normalisé des firmwares est <kbd>/lib/firmware</kbd>. 
</p>
<p>
  J'ai donc tenté un vieux <a class='external' target='_blank' href='/node/105' >tutoriel</a> pour récupérer les deux binaires propriétaires et les je les ai collés dans le bon dossier. Ré-insertion de la carte et la symbole est reconnue sans problème, la led clignote et au bout de quelques seconde je peux afficher la liste des réseaux. Donc au delà du problème classiques des firmwares, le port CF pour les entrées-sorties fonctionne très bien. 
</p>

<a name='usb'></a>


	<a name='chapter_9'></a>
  <h2>USB</h2>
	
<p>
  Les HUBs USB 2.0 internes sont reconnus sans problème par le pilote <kbd>ehci</kbd> ce qui semble bien indiquer que le bus fonctionne en mode <kbd>High Speed</kbd>. 
</p>

<p>
  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 <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/>
</p>


<a name='eth'></a>

	<a name='chapter_10'></a>
  <h2>Ethernet</h2>
	
<p>
  Le flux ethernet 10/100 est pris en charge par la puce Realtek 8101L 10/100 via PCI. Le problème est qu'elle n'est pas reconnue directement par Linux même si elle est très bien prise en charge par le module <kbd>8139too</kbd>. 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 aux options du kernel, dans <kbd>/boot/grub/menu.lst</kbd> : <kbd>pnpbios=off pnpacpi=off</kbd>. 
</p>
<div class='inline-box note'>
  Comme pour le port VGA, la puce chargée de l'Ethernet est intégrée dans la machine. L'extension à connecter sur l'avant de l'appareil, ou encore la station d'accueil, ne sont que des reports de câblage pour ne pas encombrer les côtés d'un port RJ45.
</div>

<a name='wifi'></a>

	<a name='chapter_11'></a>
  <h2>WIFI</h2>
	
<p>
  Le WIFI est géré via PCI par une carte Atheros AR5006EG doté d'une double antenne. Les protocoles pris en charges sont 802.11 a, b et g. 
</p>
<p>
  Avec le kernel 2.6.27 de la 2009.0 débarque le nouveau module <kbd>ath_5k</kbd> replaçant <kbd>ath_pci</kbd>. La prise en charge est donc directe sans avoir à paramétrer quoi que ce soit. La connection en <kbd>WPA-PSK-TKIP</kbd> fonctionne parfaitement et un test <kbd>ping -I ath0 www.free.fr</kbd> a tenu pendant plus d'une heure avec une perte de 5%. Donc là c'est un mieux par rapport à la 2008.1. Pas de madwifi à compiler à la main, ni de module <kbd>dkms</kbd> n'est nécessaire, tout marche "out of the box". 
</p>

<div class='inline-box attention'>
  Le bouton <kbd>Flight Mode</kbd> ne <b>déconnecte pas le WIFI</b>. Il faut que vous le fassiez à la main si vous prenez l'avion.
</div>

<a name='bt'></a>


	<a name='chapter_12'></a>
  <h2>Bluetooth</h2>
	
<p>
Tout fonctionne par défaut, rien à signaler. Le module est un Taiyo Yuden connecté via USB (0c24:000f). A noter qu'il est déconnecté de manière hardware lorsque le switch <kbd>Flight Mode</kbd> est activé.
</p>

<a name='kbd'></a>


	<a name='chapter_13'></a>
  <h2>Clavier</h2>
	
<p>
  Comme je le disais plus haut, le clavier est assez proche de celui du Psion 5 mx mais en Qwerty... Pour remédier à cela, le plus simple reste d'échanger physiquement les touches du clavier. Cela se fait relativement simplement avec un couteau à lame fine, en le glissant sur un côté et en maintenant la pression avec le pouce. Après il suffit de faire levier et la touche se décroche. 
</p>
<p>
  Pour les replacer, il suffit de la déposer à sa place et d'appuyer doucement dessus jusqu'à ce que cela fasse "clic". En 1/2 heure j'ai ainsi repositionné l'ensemble des caractères alphabétique pour obtenir un clavier AZERTY tout à fait acceptable.
</p>  
<p>
  La seconde étape est de définir un fichier de configuration pour XKB, le gestionnaire de clavier de X11. Son objectif est de redéfinir :
  <ul>
    <lI>Les touches alphabétiques en AZERTY.</li>
    <li>Positionner les flèches sur un simple appui (sans passer par Fn).</li>
    <li>Transformer la touche <kbd>WIN</kbd> en touche <kbd>Alt Gr</kbd>.</li>
    <li>Ajouter les accentués sur les touches du haut, comme sur un clavier français. Ce serait mieux si c'était sérigraphie mais l'habitude que l'on a de nos claviers fait que les doigts retrouvent instinctivement les touches <kbd>é/2</kbd>, <kbd>è/7</kbd>, <kbd>ç/9</kbd> et <kbd>à/0</kbd>.</li>
    <li>Placer la bascule pour les accents circonflexe et les trémas sur la touche <kbd>~/'</kbd>.</li>
    <li>Remplacer la touche <kbd>ESC</kbd> par la touche <kbd>Tab</kbd> (Escape reste accessible via Shift).</li>
  </ul>
</p>
<p>
  Pour opérer cette modification, allez faire un tour <a class='external' target='_blank' href='/node/1590' >par ici</a>, au chapitre XKB/Définition d'une disposition. Vous y trouverez le source de la disposition mais aussi les paramétrages pour X11 de sorte à ce que le clavier soit définit par défaut. 

</p>

<a name='tablet'></a>

	<a name='chapter_14'></a>
  <h2>L'écran tactile</h2>
	
<p>
  L'écran tactile est pris en charge par un module USB Passif Sun Microsystems (0430:0501). Dans le BIOS, il est possible de basculer l'écran tactile du mode <kbd>Touch Screen</kbd> au mode <kbd>Tablet</kbd>. J'avoue avoir un peu de mal à comprendre la différence entre les deux. Toujours est-il que le premier mode est pris en charge en standard par le module <kbd>usbhid</kbd> et pas le second. Cependant la machine configuré par défaut sur le second et c'est aussi comme cela que fonctionne le Windows livré avec.
</p>
<p>
  Dans un cas comme dans l'autre, le processus est le même, c'est un module USB pris en charge par un pilote noyau qui crée une entrée dans <kbd>/proc/bus/input/devices</kbd>. Ensuite au niveau de X11, c'est le module <kbd>evtouch</kbd> qui prend cette entrée en charge et gère le calibrage. A noter que ce paquet c'est bien amélioré sur la 2009.0 et ne plante plus du tout. 
</p>
<p>
  Le net est gavé <a class='external' target='_blank' href='http://forum.ubuntu-fr.org/viewtopic.php?id=215245' >d'excellents tutoriaux</a> sur le sujets <kbd>Touch Screen</kbd>, je vous laisse donc tester cela. Personnellement j'ai trouvé le résultat assez peu précis et je passe donc directement à la méthode <kbd>tablet</kbd>. 
</p>
<p>
  Le module qui prend en charge le mode tablet est développé par <a class='external' target='_blank' href='http://panic.cs-bristol.org.uk/~jules/fujitsu-u810-debian-install-notes.html' >Julian Brown</a>. Pour l'installer c'est relativement simple. Il suffit de le décompresser les sources quelque part et de <a class='external' target='_blank' href='/node/1678' >préparer les sources de votre kernel</a> pour utiliser son <kbd>make</kbd>. Imaginons que nous décompressons dans le dossier <kbd>~</kbd> :
  
  <div class='code-block code-block-traces'>
  <div class='container'>
  <div class='co0'># dans le dossier home de 'root'</div><div class='command'><span class='prompt'>root#</span>cd</div><div class='result'>&nbsp;</div><div class='co0'># décompression de l'archive (elle est dans le dossier u810/usr/src/tablet, voir la note en début de billet)</div><div class='command'><span class='prompt'>root#</span>tar -zxvf u810_tablet.tar.gz</div><div class='result'>&nbsp;</div><div class='co0'># utilisation du builder du kernel pour construire le module</div><div class='command'><span class='prompt'>root#</span>cd /usr/src/linux</div><div class='command'><span class='prompt'>root#</span>make ~/u810_tablet/u810_tablet.ko</div><div class='result'>&nbsp;</div><div class='co0'># recopie du nouveau module dans l'arborescence standard</div><div class='command'><span class='prompt'>root#</span>cp ~/u810_tablet/u810_tablet.ko /lib/modules/$(uname -r)/kernel/drivers/misc/</div><div class='result'>&nbsp;</div><div class='co0'># compression du module</div><div class='command'><span class='prompt'>root#</span>gzip /lib/modules/$(uname -r)/kernel/drivers/misc/u810_tablet.ko</div><div class='result'>&nbsp;</div><div class='co0'># rebuild des dépendances de modules</div><div class='command'><span class='prompt'>root#</span>depmod</div><div class='result'>&nbsp;</div><div class='co0'># chargement du nouveau module</div><div class='command'><span class='prompt'>root#</span>modprobe u810_tablet</div><div class='result'>&nbsp;</div><div class='co0'># vérification de l'enregistrement de la tablette tactile</div><div class='command'><span class='prompt'>root#</span>cat /proc/bus/input/devices</div><div class='result'>....</div><div class='result'>I: Bus=0003 Vendor=0430 Product=0530 Version=5001</div><div class='result'>N: Name="Fujitsu Component USB Touch Panel"</div><div class='result'>P: Phys=usb-0000:00:1d.1-1/input0</div><div class='result'>S: Sysfs=/class/input/input9</div><div class='result'>U: Uniq=</div><div class='result'>H: Handlers=mouse1 event8</div><div class='result'>B: EV=b</div><div class='result'>B: KEY=c01 0 0 0 0 0 0 0 0 0 0</div><div class='result'>B: ABS=3</div><div class='result'>&nbsp;</div><div class='co0'># vérification de l'ID généré par hal</div><div class='command'><span class='prompt'>root#</span>ls /dev/input/by-id</div><div class='result'>usb-Fujitsu_Component_USB_Touch_Panel-event-mouse@  usb-Fujitsu_Component_USB_Touch_Panel-mouse@</div><div class='command'><span class='prompt'>root#</span><span class='cursor'>&nbsp;</span></div>
  </div>
  
  </div>
</p>

<p>
  Dernier point important, le module ne gère pas la rotation de l'écran (pas bien grave) et la mise en veille. il rend tellement service qu'on ne va pas lui en vouloir pour cela. Pour le second point, voir la partie sur la <a class='external' target='_blank' href='/%2523energie' >gestion de l'énergie</a>. 
</p>
<p>
  Maintenant il ne reste plus qu'à ajouter une entrée pour cette nouvelle périphérique dans <kbd>/etc/X11/xorg.conf</kbd>. Tout d'abord une entrée <kbd>InputDevice</kbd>
  
  <div class='code-block code-block-fragment'>
  <div class='container'>
  Section &quot;InputDevice&quot;<br />
&nbsp; &nbsp; Identifier &quot;Tablet&quot;<br />
&nbsp; &nbsp; Driver &quot;evtouch&quot;<br />
&nbsp; &nbsp; Option &quot;Device&quot; &quot;/dev/input/by-id/usb-Fujitsu_Component_USB_Touch_Panel-event-mouse&quot;<br />
&nbsp; &nbsp; Option &quot;Emulate3Buttons&quot;<br />
&nbsp; &nbsp; Option &quot;Emulate3Timeout&quot; &quot;50&quot;<br />
&nbsp; &nbsp; Option &quot;oneandahalftap_button&quot; &quot;0&quot;<br />
&nbsp; &nbsp; Option &quot;MoveLimit&quot; &quot;18&quot;<br />
&nbsp; &nbsp; Option &quot;ReportingMode&quot; &quot;Raw&quot;<br />
&nbsp; &nbsp; Option &quot;longtouched_action&quot; &quot;down&quot;<br />
&nbsp; &nbsp; Option &quot;touched_drag&quot; &quot;1&quot;<br />
&nbsp; &nbsp; Option &quot;maybetapped_button&quot; &quot;1&quot;<br />
&nbsp; &nbsp; Option &quot;maybetapped_action&quot; &quot;click&quot;<br />
&nbsp; &nbsp; Option &quot;LongtouchTimer&quot; &quot;500&quot;<br />
&nbsp; &nbsp; Option &quot;DeviceName&quot; &quot;touchscreen&quot;<br />
&nbsp; &nbsp; Option &quot;TapTimer&quot; &quot;90&quot;<br />
&nbsp; &nbsp; Option &quot;longtouched_button&quot; &quot;3&quot;<br />
&nbsp; &nbsp; Option &quot;SendCoreEvents&quot; &quot;On&quot;<br />
&nbsp; &nbsp; Option &quot;SendCoreEvents&quot; &quot;On&quot;<br />
&nbsp; &nbsp; Option &quot;MinX&quot; &quot;13000&quot;<br />
&nbsp; &nbsp; Option &quot;MinY&quot; &quot;25000&quot;<br />
&nbsp; &nbsp; Option &quot;MaxX&quot; &quot;382000&quot;<br />
&nbsp; &nbsp; Option &quot;MaxY&quot; &quot;392000&quot;<br />
EndSection
  </div>
  
  </div>
</p>
<p>
  Ensuite il faut y faire référence dans <kbd>ServerLayout</kbd> comme cela :
  
  <div class='code-block code-block-fragment'>
  <div class='container'>
  Section &quot;ServerLayout&quot;<br />
&nbsp; Identifier &quot;Horizontal Layout&quot;<br />
&nbsp; InputDevice &quot;Keyboard&quot; &quot;CoreKeyboard&quot;<br />
&nbsp; InputDevice &quot;Tablet&quot; &quot;SendCoreEvents&quot;<br />
&nbsp; InputDevice &quot;Mouse1&quot; &quot;CorePointer&quot;<br />
&nbsp; Screen &quot;Screen&quot;<br />
EndSection
  </div>
  
  </div>
</p>
<p>
  Il ne reste plus qu'à relancer le serveur X11 et normalement, l'écran est fonctionnel. 
</p>

<a name="mouse"></a>

	<a name='chapter_15'></a>
  <h2>Souris intégrée</h2>
	
<p>
  Rien à dire là dessus, elle fonctionne sans problème directement.
</p>


<a name='btn'></a>

	<a name='chapter_16'></a>
  <h2>Boutons</h2>
	
<p>
   Les boutons sont pris en charge par le module <a class='external' target='_blank' href='http://sourceforge.net/project/showfiles.php?group_id=196222' >fsc_btns</a> qui n'est pas présent sur le noyau standard de la 2009.0. Il nous faut donc récupérer les sources dans l'archive 1.41 qui maintenant intègre correctement l'U810 (plus besoin de patcher). 
   
  <div class='code-block code-block-traces'>
  <div class='container'>
  <div class='command'><span class='prompt'>root#</span>tar -zxf fsc_btns-1.41.tar.gz</div><div class='command'><span class='prompt'>root#</span>cd fsc_btns-1.41</div><div class='command'><span class='prompt'>root#</span>make install</div><div class='result'>...</div><div class='co0'># chez moi le module n'était pas correctement enregistré après l'installation, donc au cas où...</div><div class='command'><span class='prompt'>root#</span>depmod</div><div class='result'>&nbsp;</div><div class='co0'># chargement du module</div><div class='command'><span class='prompt'>root#</span>modprobe fsc_btns</div><div class='result'>&nbsp;</div><div class='co0'># vérification</div><div class='command'><span class='prompt'>root#</span>lsmod | grep fsc_btns</div><div class='result'>fsc_btns                7772  0</div><div class='command'><span class='prompt'>root#</span>cat /proc/bus/input/devices</div><div class='result'>...</div><div class='result'>I: Bus=0019 Vendor=1734 Product=0001 Version=0101</div><div class='result'>N: Name="fsc tablet buttons"</div><div class='result'>P: Phys=fsc/input0</div><div class='result'>S: Sysfs=/class/input/input8</div><div class='result'>U: Uniq=</div><div class='result'>H: Handlers=kbd event8</div><div class='result'>B: EV=100033</div><div class='result'>B: KEY=100003 0 0 2005040 2100 0 1000000 20000000</div><div class='result'>B: MSC=10</div><div class='result'>B: SW=2</div><div class='result'>...</div><div class='result'>&nbsp;</div><div class='co0'># chargement du module au prochain démarrage</div><div class='command'><span class='prompt'>root#</span>echo fsc_btns > /etc/modules</div><div class='command'><span class='prompt'>root#</span><span class='cursor'>&nbsp;</span></div>
  </div>
  
  </div>
</p>
<p>
Pour tester que les boutons sont vivants, vous pouvez lancer <kbd>xbindkeys --km</kbd> et les presser successivement. Il ne vous reste alors plus qu'à les associer à une action de votre choix toujours grâce à xbindkeys par exemple. L'autre option que j'ai choisie est d'intégrer ces nouvelles touches dans la redéfinition globale du clavier (voir <a class='external' target='_blank' href='/%2523kbd' >plus haut</a>) et d'utiliser xbindkeys pour y assigner les fonctions qui vont bien (voir dernier chapitre). 
</p>  
<div class='inline-box note'>
  A noter que le curseur de contrôle logiciel du volume (côté gauche) étant en réalités deux touches d'un clavier multimédia standard fonctionne très bien sous Gnome même sans ce module. 
</div>

<a name="fm"></a>

	<a name='chapter_17'></a>
  <h2>Flight Mode</h2>
	
<p>
  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. Lorsqu'il est sur "off", le module USB/Bluetooth est désactivé de manière hardware. En revanche le WIFI reste activé et j'imagine que ce bouton doit générer un évènement utilisable d'une manière ou d'une autre mais ce n'est pas pris en charge en standard et je n'ai pas trouvé l'événement généré. En tout cas aucun des <kbd>/dev/input/eventX</kbd> ne semble réagir au passage on/off de cet interrupteur. Le seul moyen que je vois c'est de détecter avec UDEV la disparition du module bluetooth pour décharger les modules Wifi. A suivre  
</p>

<a name="webcam"></a>

	<a name='chapter_18'></a>
  <h2>WebCAM</h2>
	
<p>
  La WebCAM intégrée 640x480 est gérée par un Module USB - <a class='external' target='_blank' href='http://wiki.mediati.org/Supported_Devices' >Fujitsu F01 UVC</a> (05ca:1841). Et la bonne nouvelle est qu'elle est maintenant parfaitement opérationnelle. La mauvaise c'est que Mandriva n'y est pour rien du tout <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/wink2.gif" title="Wink" alt="Wink" class="smiley-content"/>
</p>
<p>
  L'auteur du module <a class='external' target='_blank' href='http://wiki.mediati.org/R5u870' >R5u870</a> a laissé tombé le développement de ce projet au profit d'un <a class='external' target='_blank' href='http://lists.mediati.org/archives/r5u870-list/2008-September/000053.html' >chargeur de firmware</a> permettant d'utiliser le très standard <a class='external' target='_blank' href='http://linux-uvc.berlios.de/' >uvcvideo</a>. Du coup plus de module à compiler, juste une petite application <kbd>loader</kbd> et comme le firmware de la webcam de l'U810 est maintenant intégré au projet, ça marche tout seul :
  
  <div class='code-block code-block-traces'>
  <div class='container'>
  <div class='result'>hg clone http://bitbucket.org/ahixon/r5u87x/</div><div class='result'>&nbsp;</div><div class='co0'># décompression et compilation</div><div class='command'><span class='prompt'>root#</span>r5u87x</div><div class='command'><span class='prompt'>root#</span>make</div><div class='result'>&nbsp;</div><div class='co0'># installation à la mano</div><div class='command'><span class='prompt'>root#</span>mkdir /opt/r5u87x</div><div class='command'><span class='prompt'>root#</span>cp -a ucode /opt/r5u87x</div><div class='command'><span class='prompt'>root#</span>cp loader /opt/r5u87x</div><div class='result'>&nbsp;</div><div class='co0'># test de chargement du firmware</div><div class='command'><span class='prompt'>root#</span>/opt/r5u87x/loader</div><div class='result'>Searching for device...</div><div class='result'>Found camera   : 05ca:1841</div><div class='result'>Firmware       : ucode/r5u87x-05ca-1841.fw</div><div class='result'>&nbsp;</div><div class='result'>Camera reports positive microcode state.</div><div class='result'>Camera reports microcode version 0x0103.</div><div class='result'>Not doing anything - camera already setup.</div><div class='result'>&nbsp;</div><div class='result'>Successfully uploaded firmware to device 05ca:1841!</div><div class='result'>&nbsp;</div><div class='co0'># chargement du pilote UCV</div><div class='command'><span class='prompt'>root#</span>modprobe ucvideo</div><div class='result'>&nbsp;</div><div class='co0'># vérification</div><div class='command'><span class='prompt'>root#</span>ls /dev/video*</div><div class='result'>/dev/video@  /dev/video0</div><div class='result'>&nbsp;</div><div class='command'><span class='prompt'>root#</span>mplayer -tv driver=v4l2 tv://</div><div class='command'><span class='prompt'>root#</span><span class='cursor'>&nbsp;</span></div>
  </div>
  
  </div>
</p>
<p>
  Et voilà. A tester aussi avec cheese ou n'importe quelle autre application du genre qui peut paramétrer un effet de miroir vertical car comme vous l'aurez remarqué avec mplayer, la caméra a la tête en bas...
</p>

<a name="fp"></a>

	<a name='chapter_19'></a>
  <h2>Lecteur d'empreintes digitales</h2>
	
<p>
Le lecteur est géré par un module <b>USB AuthenTec AES25010 (08ff:2580)</b>. Il est <a class='external' target='_blank' href='/node/1677' >parfaitement pris en charge</a> par le projet <a class='external' target='_blank' href='http://www.reactivated.net/fprint/wiki/Main_Page' >fprint</a>. 
</p>
<p>
  Pour que le tutoriel fonctionne il faut juste bloquer le chargement du module kernel <kbd>aes2501</kbd> car <kbd>libfprint</kbd> intègre déjà la logique d'accès à la puce. Pour ce faire :
  
  <div class='code-block code-block-fragment'>
  <div class='container'>
  <span class="co0"># suppression du module</span><br />
rmmod aes2501<br />
<br />
<span class="co0"># vérification du bon fonctionnement de fprint</span><br />
fprint_demo
  </div>
  
  </div>
</p>


<a name="light"></a>

	<a name='chapter_20'></a>
  <h2>Illumination du clavier</h2>
	
<p>
Une fonction bien sympathique de l'U810 est l'illumination du clavier par deux petites loupiotes bleues. Très geek, oui, oui, je sais <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/smile.gif" title="Smiling" alt="Smiling" class="smiley-content"/></p>
<p>
  Pour bénéficier de cette lumière, il faut patcher et re-compiler le module <kbd>fujitsu-laptop</kbd>. Pour cela aller dans les sources et appliquer le patch contenu dans le dossier <kbd>u810/usr/src/lights</kbd> en prenant la version correspondant à votre kernel. J'ai modifié la version d'origine pour le 2.24 de sorte à ce que cela fonctionne avec le 2.27. Ensuite, suivez la procédure décrite <a class='external' target='_blank' href='/node/1678' >ici</a> pour compiler le module.  Attention c'est de la haute magouille !!!
  
  <div class='code-block code-block-traces'>
  <div class='container'>
  <div class='command'><span class='prompt'>root#</span>urpmi kernel-source-2.6.27-0.rc8.2mnb-1-1mnb2.i586.rpm</div><div class='result'>&nbsp;</div><div class='co0'># L'installateur nous a torpillé notre lien vers les sources courantes, il faut donc corriger</div><div class='command'><span class='prompt'>root#</span>cd /usr/src</div><div class='command'><span class='prompt'>root#</span>rm -rf linux</div><div class='command'><span class='prompt'>root#</span>ln -s linux-$(uname -r) linux</div><div class='result'>&nbsp;</div><div class='co0'># patch du module</div><div class='command'><span class='prompt'>root#</span>cd linux-2.6.27-0.rc8.2mnb/</div><div class='command'><span class='prompt'>root#</span>patch -p1 < /root/u810/usr/src/lights/2.6.27-fujitsu-laptop-u810.patch</div><div class='result'>&nbsp;</div><div class='co0'># on retourne dans les sources du kernel courant...</div><div class='command'><span class='prompt'>root#</span>cd ../linux</div><div class='result'>&nbsp;</div><div class='co0'># ...et on compile le module de l'autre version des sources...</div><div class='command'><span class='prompt'>root#</span>make ../linux-2.6.27-0.rc8.2mnb/drivers/misc/fujitsu-laptop.ko</div><div class='result'>&nbsp;</div><div class='co0'># recopie du module dans l'arborescence de linux</div><div class='command'><span class='prompt'>root#</span>cp ../linux-2.6.27-0.rc8.2mnb/drivers/misc/fujitsu-laptop.ko /lib/modules/$(uname -r)/kernel/drivers/misc/</div><div class='result'>&nbsp;</div><div class='co0'># compression</div><div class='command'><span class='prompt'>root#</span>gzip /lib/modules/$(uname -r)/kernel/drivers/misc/fujitsu-laptop.ko</div><div class='result'>gzip: /lib/modules/2.6.27-desktop-0.rc8.2mnb/kernel/drivers/misc/fujitsu-laptop.ko.gz already exists; do you wish to overwrite (y or n)? y</div><div class='result'>&nbsp;</div><div class='co0'># on vire un éventuel module pré-existant</div><div class='command'><span class='prompt'>root#</span>rmmod  fujitsu-laptop</div><div class='result'>&nbsp;</div><div class='co0'># vérification de la bonne nouvelle version du module</div><div class='command'><span class='prompt'>root#</span>modinfo fujitsu-laptop | grep Version</div><div class='result'>version:        0.4.2E</div><div class='result'>&nbsp;</div><div class='co0'># chargement...</div><div class='command'><span class='prompt'>root#</span>modprobe fujitsu-laptop</div><div class='result'>&nbsp;</div><div class='co0'># Et que la lumière soit...</div><div class='command'><span class='prompt'>root#</span>echo 3 > /sys/devices/platform/fujitsu-laptop/kbd_light</div><div class='result'>&nbsp;</div><div class='co0'># extinction</div><div class='command'><span class='prompt'>root#</span>echo 0 > /sys/devices/platform/fujitsu-laptop/kbd_light</div><div class='result'>&nbsp;</div><div class='co0'># clignotant</div><div class='command'><span class='prompt'>root#</span>echo 1 > /sys/devices/platform/fujitsu-laptop/kbd_light</div><div class='command'><span class='prompt'>root#</span><span class='cursor'>&nbsp;</span></div>
  </div>
  
  </div>
</p>
<p>
  Je suis toujours surpris que ce type de bidouille puisse aboutir à un résultat, mais bon, c'est dans la boîte maintenant <img src="http://artisan.karma-lab.net/sites/all/modules/contrib/smileys/packs/crystal/smile.gif" title="Smiling" alt="Smiling" class="smiley-content"/> 
  
</p>



<a name="energie"></a>

	<a name='chapter_21'></a>
  <h2>Gestion de l'énergie</h2>
	
<h3>Alimentation</h3>
<p>
  L'U810 est équipé en standard d'une batterie 4 cellules 2600mAh de 7.2V qui tient en gros 2h30. La version longue durée double le nombre de cellules pour arriver à 5h. Le tout est rechargé par une petite alimentation à découpage 16V de 40W alimenté de 110 à 240. 
</p>

<p>
  Côté autonomie mes expérimentations sont à peu prés en ligne avec la spécifications avec une baisse en cas d'utilisation intensive du WIFI et du rétro-éclairage. Le tout est de faire correctement fonctionner le mode <kbd>standbye</kbd>...
</p>

<h3>Mise en veille</h3>
<p>
   Côté mise en veille la 2009.0 fait des merveilles. Tout fonctionne à peu prés directement sans le moindre problème. Hibernate n'est donc plus une nécessité, tout est pris en charge par <kbd>pm_utils</kbd>. La mise en veille en ram se fait sans modifier quoi que ce soit, par l'applet pour la barre Gnome, en ligne de commande par un <kbd>pm-suspend</kbd>, ou simplement en fermant l'écran. Le tout en 10s. Le réveil se fait sans encombres en 9s.
</p>
<p>
  Concernant la mise en veille sur disque, il suffit juste d'ajouter aux options du kernel la partition de swap (obtenue par un <kbd>swapon -s</kbd>) sous la forme <kbd>resume=/dev/sdX</kbd>. Ensuite il faut aussi reporter cette valeur dans <kbd>/etc/suspend.conf</kbd> pour la variable <kbd>resume device</kbd>. Après cela, l'appareil devrait passer en hibernation sans problème en quelques 21s et revenir tout aussi bien en 31s. Je pense que ces temps peuvent grandement être améliorés en recompilant un kernel semin-monolythique. J'ai ceci dit essayé des choses comme <a class='external' target='_blank' href='http://manpagesfr.free.fr/man/man2/readahead.2.html' >readahead</a> et même <kbd>super readahead</kbd> du projet <a class='external' target='_blank' href='http://www.moblin.org/' >moblin</a> sans grande amélioration. 
</p>
<p>
  Ceci dit, certain modules restent relativement récalcitrant à l'endormissement, en particulier le pilote tablet vu plus haut. Il est donc utile de créer un fichier <kbd>/etc/pm/config.d/u810</kbd> et d'un coller le code suivant :
  
  <div class='code-block code-block-fragment'>
  <div class='container'>
  <span class="re2">SUSPEND_MODULES=</span><span class="st0">&quot;&quot;</span>u810_tablet uvcvideo videodev v4l1_compat v4l2_common<span class="st0">&quot;<br />
</span
  </div>
  
  </div>
</p>

<h3>Changement de fréquence</h3>
<p>
  Côté fréquences, l'U810 peut basculer de 600 à 800Mhz et Linux permet d'utiliser différentes stratégies allant de <kbd>Performance</kbd> à <kbd>Powersave</kbd>. Par défaut c'est <kbd>OnDemand</kbd> qui est utilisée, variant la fréquence en fonction de la charge CPU sollicitée. Cela marchait déjà bien en 2008.1, ça le fait tout aussi bien en 2009.0.
</p>


	<a name='chapter_22'></a>
  <h2>Utilisabilité</h2>
	
<h3>Récupération des sources</h3>
<p>
  L'ensemble des sources et autres bidouilles sont disponibles <a class='external' target='_blank' href='http://artisan.karma-lab.net/node/1683' >ici</a>.
</p>


<h3>Paramétrage du kernel</h3>
<p>
   Pour reprendre ce qui a été dit plus haut, il faut aller modifier dans <kbd>/boot/grub/menu.lst</kbd> les options de démarrage du kernel courant en ajoutant cela :

  <div class='code-block code-block-fragment'>
  <div class='container'>
  <span class="re2">pnpbios=</span>off <span class="re2">pnpacpi=</span>off <span class="re2">vga=</span><span class="nu0">788</span> nosmp <span class="re2">resume=</span><span class="sy0">/</span>dev<span class="sy0">/</span>sda5
  </div>
  
  </div>
</p>

<p>
  Reportez vous au chapitre sur la <a class='external' target='_blank' href='/%2523energie' >gestion de l'énergie</a> pour bien positionner le paramètre <kbd>resume</kbd> sur la bonne partition. 
</p>

<h3>Paramétrages au démarrage</h3>
<p>
  Une fois le kernel paramétré, il nous faut charger automatiquement tout ce que nous avons créé. Le mieux est de placer tout cela dans un service <kbd>/etc/init.d/u810</kbd> qui sera dépendant du service <kbd>/etc/init.d/dm</kbd>. Le source du service en lui même est 
  
  <div class='code-block code-block-traces'>
  <div class='container'>
  <div class='command'><span class='prompt'>root#</span>chkconfig --level 016 u810 off</div><div class='command'><span class='prompt'>root#</span>chkconfig --level 2345 u810 on</div><div class='command'><span class='prompt'>root#</span>chkconfig --list u810</div><div class='result'>u810           	0:arrêt 	1:arrêt 	2:marche	3:marche	4:marche	5:marche	6:arrêt</div><div class='command'><span class='prompt'>root#</span><span class='cursor'>&nbsp;</span></div>
  </div>
  
  </div>
</p>

<h3>Authentification</h3>
<p>
  Personnellement j'utilise le <a class='external' target='_blank' href='/node/1677' >lecteur d'empreinte</a> et PAM. La partie logicielle est un peu capricieuse et il y a clairement un coup de doigt à prendre. Le plus simple vu la disposition reste d'enrôler le pouce gauche et seulement lui, sinon le module PAM va se paumer. 
</p>

<h3>Affichage</h3>
<p>
  Pour un écran de cette taille et de cette résolution, il est préférable de passer la définition des fonts à <b>100 à 120dpi</b> via le paramétrage avancé des fontes sous Gnome. Ce sera beaucoup plus lisible. 
</p>

<p>
  Dans cette idée, pensez à aller faire <kbd>Système/Préférences/Fenêtres</kbd> pour positionner la <kbd>touche de mouvement</kbd> à une valeur accessible, par exemple <kbd>Alt</kbd>. Ainsi, si une fenêtre dépasse de l'écran en rendant les boutons de validation inaccessibles, il suffit de presser <kbd>Alt</kbd>, puis avec la souris vous pouvez la déplacer. 
</p>
<p>
  Dans le même esprit vous pouvez aussi aller dans <kbd>Système/Préférences/Raccourcis clavier</kbd> et modifier la combinaison sur <kbd>déplacer la fenêtre</kbd> par exemple à <kbd>Ctrl+Alt+M</kbd>. Ainsi en pressant ces touches vous pouvez ensuite déplacer la fenêtre avec les flèches. 
<p>
<p>
  Pour terminer, l'outil <a class='external' target='_blank' href='/node/1314' ></a> permet d'étendre la surface du bureau de votre PC vers celui de l'U810, très pratique pour le paramétrage.
</p>
<p>
  Concernant le tableau de bord, le masquage automatique n'est pas ce qui se fait de plus agréable. Donc le mieux est de ne garder qu'une barre en permanence en haut et d'optimiser l'espace. Cela peut se faire en remplaçant la <kbd>Liste des fenêtres</kbd> par le <kbd>Sélecteur de fenêtres</kbd> et en ajoutant un tiroir dans lequel on place les choses utiles mais pas nécessaires à garder à l'écran. 
</p>

<h3>Clavier</h3>
<p>
  Je ne reviens pas sur le paramétrage du clavier en mode AZERTY avec les touches de fonctions, tout est expliqué <a class='external' target='_blank' href='/node/1590' >ici</a>. Une fois paramétré par défaut dans <kbd>xorg.conf</kbd>, vous pouvez utiliser <kbd>Système/Préférences/Raccourcis clavier</kbd> pour définir les actions standard de Gnome y compris avec les touches du tour de l'écran vu que celle-ci sont maintenant activées. 
</p>
<p>
  Pour disposer de plus d'action comme par exemple lancer des commandes "custom", vous pouvez aussi aller sur les clefs <kbd>/apps/metacity/global_keybindings</kbd> et <kbd>/apps/metacity/keybindings_commands</kbd>. Là vous pouvez définir des paires <kbd>command_N</kbd> / <kbd>run_command_N</kbd> pour lancer des applications plus rapidement, par exemple un terminal sur <kbd>Ctrl+Alt+C</kbd>.Vous pouvez aussi utiliser un des script qui se trouve dans les sources comme <kbd>toggle_light.sh</kbd>, <kbd>switch_screen.sh</kbd>. 
</p>


<h3>Energie</h3>
<p>
  Dans le tiroir j'ai ajouté le <kbd>Moniteur de changement de fréquence</kbd> qui permet de moduler sa consommation en fonction des besoins, et le <kbd>Moniteur de charge</kbd>
</p>
<p>
  Ensuite dans <kbd>Système/Préférences/Gestion d'énergie</kbd> il est possible de faire les réglages qui vont bien pour le mode "sur secteur" ou "sur batterie". Dans l'onglet <kbd>Général</kbd> j'ai réglé le bouton de mise en veille sur <kbd>Hiberner</kbd>. Si vous avez utilisez le paramétrage du clavier AZERTY vu au chapitre précédent, la touche <kbd>CaltD</kbd>, sous le lecteur d'empreinte, est considéré comme la touche <kbd>Sleep</kbd>. Ainsi avec ce paramétrage, presser cette touche permet de mettre l'U810 en veille prolongée. Sachant que par défaut fermer l'écran le met en veille simple et que l'utilisation du bouton d'alimentation affiche un dialogue entre les différentes options, nous somme complet. 
</p>


<h3>Audio</h3>
<p>
  Rien de particulier mis à part qu'il vaut mieux désactiver <kbd>pulseaudio</kbd> via <kbd>drakconf</kbd>/<kbd>Matériel</kbd>/<kbd>Configuration du son</kbd> et utiliser simplement ALSA.
</p>


	<a name='chapter_23'></a>
  <h2>Conclusion</h2>
	
<p>
   Cela m'a pris tout de même deux bonnes semaines pour arriver à rendre cette petite merveille utilisable dans de bonne conditions sous Mandriva 2009 mais toutes les fonctions essentiels sont maintenant disponibles.
</p>


	<a name='chapter_24'></a>
  <h2>Sources intéressantes</h2>
	
<ul>
  <li><a class='external' target='_blank' href='http://www.umpcportal.com/modules/newbb/viewtopic.php?topic_id=2202&amp;viewmode=flat&amp;order=ASC&amp;start=60' >Ce thread très riche</a>.</li>
  <li><a class='external' target='_blank' href='http://panic.cs-bristol.org.uk/~jules/fujitsu-u810-debian-install-notes.html' >Installation de la Debian sur U810</a>.</li>
  <li><a class='external' target='_blank' href='http://neilstechdocs.blogspot.com/' >Neil's Tech Doc</a>.</li>
  <li><a class='external' target='_blank' href='http://www.umpcportal.com/modules/umpcwiki/index.php?page=GNU/Linux+on+the+U810' >Statut du support GNU/Linux  sur l'U810</a>.</li>
</ul>
    ]]></content>
  </entry>
</feed>
