Table des matières
Ce document fait suite à un premier essai d' HTPC avec mon bon vieux PC, maintenant l'idée est d'en bricoler un de toutes pièces avec du matériel dédié.
Pour l'instant je n'en suis qu'à l'ébauche, de l'HTPC comme du document ... disons qu'il est évolutif. Au fil du temps J'y noterai les choix que j'ai pu faire, tant matériel que logiciel, la configuration des éléments, les erreurs produites, les trucs trouvés ....
Je serais très heureux d'entendre toutes les remarques, les idées, les critiques qui pourraient aider à ce projet.
J'ai tout de même un cahier des charges minimim:
Matériel silencieux et évolutif
Sous Linux
Le choix du matériel n'a pas été une mince affaire, il devait répondre au minimum à ces deux critères : silencieux, évolutif. ( et si possible pas trop onéreux )
Le boitier tout dabord. Je le voulais capable de recevoir des CM ATX, muni d'un écran VFD compatible Linux, avec un bouton de volume en facade. je me suis orienté vers l'Antec Fusion qui disposait d'emplacement important pour la ventilation. Les 120 mm ne semblent pas nombreux sur le marché :( ... machine arrière toute ... il ne dispose pas de télécommande (certes on peut l'ajouter par la suite), pas de lecteur de carte mémoire et ne peut acceuillir que des cartes micro ATX :( Du coup je me suis tourné vers le Cooler Master 281 ... mais pas de volume en facade. Oui j'insiste pour ce bouton :)
Et puis j'ai découvert le Zalman HD160.
Zalman est une marque reconnue pour la qualité de ses produits notamment pour la finition et un bon système de refroidissement . Son prix au contraire lui est souvent reproché.
Il répond complétement au cahier des charges : adjugé
La carte mère quant à elle devait répondre à :
Socket AM2 ( Pour Cool & Quiet des AMD )
Format ATX ( pour avoir 3PCI )
PCI Express ( future carte graphique ? )
Au moins un IDE ( pour CDROM & future connexion Compact Flash )
Sortie VGA / DVI
La carte MSI K9AG Neo2-Digital répond aux exigences : Les caractéristiques sont ICI
Le processeur sera un AMD64 x2 et la mémoire 1Go de DDR2.
Au final ma commande fût la suivante:
Boitier Zalman HD160 (noir)
Alimentation Seasonic M12-500
Carte mère MSI K9AG NEO2-DIGITAL
CPU AMD Athlon 64 X2 4200+ Socket AM2, Boîte EE
Ventirad Noctua NH-U9F
Mémoire G.Skill Value DDRII 1 Go PC6400 NR
Disque dur Seagate Barracuda 7200.10 SATA - 320 Go - 16 Mo
Graveur DVD Plextor PX-800A OEM, noir
pate thermique Arctic Silver Arctic Céramique
Je passe commande pour tout de même 800 euros ... et recois quelques jours après 3 colis. Je peux enfin me lancer tout heureux dans la construction de mon HTPC ... Tranquillement j'ai assemblé le tout, je connecte clavier, souris, écran VGA (j'ai pas de dvi) ...
Il est pas joli ce boitier Zalman ? Son imposant volume lui permet d'y insérer a peu près n'importe quel ventirad.
![]() |
Matbe.com en a fait un test que l'on peut trouver ICI.
De l'intérieur ça ressemble à ça:
![]() |
L'alimentation sera installée en haut à droite. Avec son ventilateur 120 mm, elle est particulièrement silencieuse.
En bas à droite juste au dessus du lecteur de carte une baie permet d'acceuillir le graveur de DVD. Le(s) disque(s) dur(s) seront fixés sur leur support ( en bas à gauche sur la photo ). Il est conseillé d'utiliser un disque insérer dans une gaine caoutchouc pour amortir les vibrations. Pour ma part n'ayant pas ça sous la main, je l'ai simplement isolé avec un peu de mousse sur ruban adhésif.
Deux ventilateurs sont livrés avec le Zalman, je ne les qualifierai pas de silencieux, je les entend même connectées à une résistance qui fait chuter la tension et donc la vitesse (livrée avec le ventilateur Noctua)
Voyons voir la carte mère (qui va par la suite me donner tant de mal )
![]() |
Pour plus d'infos sur cette carte voir ICI
Avant de fixer la carte mère au boitier il faudra dabord y installer le processeur et ventirad ( Le support du ventirad étant situé sous la CM ) Voila les étapes :
1 - Dévisser le support d'origine et y fixer le support AM2
![]() |
2 - Visser les fixations de l'autre coté
![]() |
3 - Et enfin y fixer le ventirad. Notez la mise en place des 'épingles' qui assurent la fixation du ventilateur sur le ventirad.
![]() |
Et le voilà fixé dans le boitier
![]() |
Et pour finir connexion du DVD, Disque dur, cables (usb, sata, ide, alim , power, led ... )
Enfin la machine est prête à décoller ...
Démarrage de la bête et là rien ou presque :( L'afficheur 2 lignes m'indique que l'infra rouge est en version ... et m'affiche "Welcome to HTPC" . J'appui ensuite sur Power, les ventilos démarrent ... et c'est tout. Rien sur l'écran VGA, la machine ne semble pas booter :(
Je passe sur tous les tests, démontages, mises en cause ... pour au final remplacer momentanement la carte mère défectueuse :( Et Donc en attendant ce sera une ASUS M2N-MX SE.
Remontage du tout, croisement de doigts, j'appui sur power et ... la machine démarre ... OUF :)
Pour l'instant j'ai relevé quelques petits problèmes avec cette carte:
1 seul connecteur pour les ventilateurs du boitier
2 PCI seulement
2 pins seulement pour le cable "Power" alors que l'espacement est de trois avec le cable du HD160.
Pas de HDMI mais ça je verrai plus tard
Le bruit provient des éléments mécanique de la machine. Les ventilateurs bien sur, l'idéal étant de pas en avoir mais ça semble un peu difficile. Le(s) disque(s) dur(s) et lecteur DVD à choisir silencieux.
A part avoir un peu isolé le disque dur j'ai seulement connecté les fils des ventilateurs sur les résistances fournies avec le noctua. A ce propos, ce dernier dispose de seulement trois fils contrairement au connecteur 'CPU FAN' qui en a 4. Le dernier fil sert, me semble-t-il, pour le réglage de la vitesse du ventilateur. Dommage ça :(
Mais dans l'ensemble c'est silencieux bien que l'on doit pouvoir faire mieux avec :
Ventilateurs boitier plus silencieux
Réglage de vitesse du ventilatur du CPU
Meilleur isation contre les vibrations du disque ou même son remplacement par compact Flash (???)
Bien la machine étant démarrée, il est maintenant nécessaire d'installer le système et les logisiels associés.
J'ai choisi dans un premier temps d'installer une Debian car il s'agit d'un système que je connais assez bien. L'installation s'effectuant sans problème (voir chapitre suivant) mais après quelques minutes d'utilisation j'ai vu apparaitre des signes de mauvaise augure. Notamment lors de la décompression de fichiers téléchargés apparaissant comme imcomplets. Et problème de son et enfin de config réseau.
Ca suffit je me rabat sur Ubuntu :(
Heureuse suprise, installation impec, reconnaissance matériel nickel, facilité d'utilisation nif ;)
Tout dabord télécharger l'image AMD64 http://cdimage.debian.org/debian-cd/4.0_r1/amd64/iso-cd/debian-40r1-amd64-netinst.iso et la graver.
Booter sur ce cdrom et à l'invite taper:
install acpi=off
Ensuite l'installation se fait normalement. J'ai choisi 50 Go
dans ' /', une swap de 2Go et c'est tout. Si
besoin j'affinerai plus tard.
Lors de l'installation le programme uswsup bloque car le fichier d'échange n'est pas disponible. Répondre Continuer car le swap n'est pas encore monté mais le sera lors du prochain démarrage. Nous le verrons par la suite mais ce programme permet de stopper un système en enregistrant son image dans le fichier de swap. Et donc de redémarrer plus rapidement.
Dans les chapitres qui suivent nous aurons surement à construire quelques programmes à partir de sources, pour il est nécessaire d'installer une chaine de compilation. Le package ' build-essential' fait ça très bien.
apt-get install build-essential libncurses5-dev
Nous aurons aussi besoin des librairies de compatibilité 32 vers 64.
apt-get install ia32-libs libc6-i386 libc6-dev-i386
Le controle de l'IR se fait habituellement avec le daemon ' lirc', dans le cas de l'HD160 nous le controlerons avec le daemon fourni par la société IRTRANS.
Conservons tout de même les programmes livrés avec le package ' lirc', ceux-ci seront certainement utile par la suite. (irw, irexec).
apt-get install lirc /etc/init.d/lirc stop update-rc.d -f lirc remove
C'est le daemon ' irserver' sera chargé du controle de l'IR. Voyons voir ...
mkdir /tmp/irserver && cd /tmp/irserver wget http://www.irtrans.de/download/Server/Linux/irserver-src.tar.gz tar xvzf irserver-src.tar.gz make
Si tout c'est bien passé, les daemons
' irserver' et ' irserver64'
nous attendent dans le répertoire courant.
Sa configuration étant dans un fichier de configuration
habituellement situé dans le répertoire
/usr/local/share/irtrans/remotes.
mkdir -p /usr/local/share/irtrans/remotes
' irserver' lit le périphérique
' /dev/ttyUSB0', il s'agit du convertisseur
USB/Infra rouge de l'HD160. Le noyau l'a repéré lors du boot :
dmesg | grep tty serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A usb 2-5: FTDI USB Serial Device converter now attached to ttyUSB0
Testons immédiatement le daemon:
./irserver64 -codedump -debug_code -loglevel 4 /dev/ttyUSB0
En appuyant sur les touches de la télécommande on peut vérifier que les touches sont correctement détectées.
IRTRans Send Done: 1 Name : Version: D5.04.13 FW SNo : 14647 Capab : Power On; FW Cap : 3964953 USB SNo: Node : /dev/ttyUSB0 IRServer Version 5.9.04 [ 0]: D5.04.13 SN: 14647 ... IRTRans Send Done: 1 [0.0] 1 mediacenter [0.0] 2 mediacenter [0.0] 3 mediacenter [0.0] mute mediacenter [0.0] ehome mediacenter [0.0] vol+ mediacenter [0.0] vol- mediacenter
Cool toutes les touches sont déjà reconnues (
excepté le '#' ) C'est le fichier
/tmp/irserver/remotes/mediacenter.rem qui est
utilisé dans le paramétrage des touches.
Installons plus proprement le serveur.
cp /tmp/irserver/irserver64 /usr/local/sbin/
Le binaire copié, nous allons installer un script de démarrage pour ne plus avoir à s'en soucier. Ce script est téléchargeable ICI.
wget http://dab.free.fr/files/articles/htpc2/irtrans/irserver-daemon chmod 700 irserver-daemon mv irserver-daemon /etc/init.d/ cd /etc/init.d/ update-rc.d -f irserver-daemon start 98 2 3 4 5 .
Après son démarrage le server irserver64 est à l'écoute sur le port 21000.
j'oubliai le plus important le fichier de configuration à copier
dans /usr/local/share/irtrans/remotes.
wget http://dab.free.fr/files/articles/htpc/irtrans/Zalman.rem mv Zalman.rem /usr/local/share/irtrans/remotes/
Le serveur IRTrans peut controler jusqu'à 256 périphériques. Un idée à creuser pour commander son htpc à partir de sa télécommande, de son pda, téléphone ... via IR, wifi, ...
Le client ' irclient' va nous être
nécessaire pour programmer la touche 'power' de la télécommande. (
configurée dans le fichier Zalman.rem ). Il va
nous falloir entrer dans les entrailles de la bête :)
mkdir /tmp/irclient cd /tmp/irclient wget http://www.irtrans.de/download/Client/client-src.zip unzip client-src.zip chmod +x irclient
Le client se connecte au serveur 'irserver' vu précédement, ce dernier doit donc être démarré. On se déplace ensuite dans le menu 'Status' du client:
./irclient localhost 1 - Send 2 - Learn 3 - Status 99 - Exit Select command 3
Getting Device Status ...SEND RES: 0 - 14
1 Device(s) Found:
0: - D5.04.13
99 - Exit
Select command 0
Le nom de la télécommande de l'HTPC sera 'zalman' et celui de la commande 'power'.
On choisi donc les menus 52 et 53 pour fixer ces valeurs.
PowerOn Remote [52]: zalman PowerOn Command [53]: power PowerOff Remote [54]: PowerOff Command [55]: Cancel [88] Save & Exit [99] Select command 99
Et 2 x '99' pour sortir.
La machine démarre maintenant à la télécommande :)
Mplayer lorsqu'il est lancé vérifie la présence du fichier
' .lircrc' dans le répertoire de l'utilisateur.
( ou encore dans /etc/lircrc )
On peut voir ce fichier comme un lien entre la télécommande et l'application lancée. Par exemple pour contrôler Mplayer avec la télécommande du Zalman, le fichier ressemblera a :
begin
button = vol+
prog = mplayer
config = volume 1
repeat = 1
end
begin
button = vol-
prog = mplayer
config = volume -1
repeat = 1
end
begin
button = up
prog = mplayer
config = volume 1
repeat = 1
end
begin
button = down
prog = mplayer
config = volume -1
repeat = 1
end
begin
button = play
prog = mplayer
config = pause
end
begin
button = pause
prog = mplayer
config = pause
end
begin
button = Cross
prog = mplayer
config = quit 0
end
begin
button = fwd
prog = mplayer
config = seek 5 0
repeat = 1
end
begin
button = rew
prog = mplayer
config = seek -5 0
repeat = 1
end
begin
button = right
prog = mplayer
config = pt_step 1
repeat = 0
end
begin
button = left
prog = mplayer
config = pt_step -1
repeat = 0
end
begin
button = mute
prog = mplayer
config = mute
end
begin
button = stop
prog = mplayer
config = quit 0
end
Les commandes ( config ) comprises par Mplayer sont détaillées ICI : http://www.mplayerhq.hu/DOCS/tech/slave.txt
TODO: config des chaines TNT dans mplayer
Le bouton de volume peut être vu comme une molette de souris.
Lorsque l'on tourne le bouton à gauche la commande 'vol-' est
transmise à irserver et 'vol+' dans l'autre sens. Suffit de paramétrer
tout ça dans le fichier ' .lircrc'
Il est ainsi possible d'augmenter/baisser le son de mplayer, mythtv avec le bouton de volume :))
Le fun serait de pouvoir afficher ce que l'on souhaite sur le mini écran de 2 lignes ...
Et c'est possible :)
Lircd devra être stoppé ou supprimer pour ne pas interférer avec
le daemon et client d' IRTRANS que nous allons construire. Le daemon
' irserver' lui, doit être démarré.
cd /tmp wget http://www.irtrans.de/download/Server/Linux/lcdproc.tar.gz tar xvzf lcdproc.tar.gz ./configure --enable-drivers=irtrans make
On copie le serveur ' LCDd' et ' lcdproc' oû il faut.
cp server/LCDd /usr/local/sbin cp clients/lcdproc/lcdproc /usr/local/bin
Vérifions ...
LCDd -d irtrans -f
Le serveur LCDd est à l'écoute du port 13666, on peut donc l'adresser à partir d'une autre machine sur le réseau. Si on exécute :
lcdproc C
Ô merveille ... l'afficheur fait défiler la charge CPU de la machine :) . man lcdproc
Avec l'archive lcdproc sont livrés quelques exemples écrit en perl
./examples/fortune.pl
Fait défiler des proverbes sur l'afficheur.
Comme pour le serveur 'irserver', nous installons plus proprement le daemon LCDd. Le script de démarrage est founi ICI
wget http://dab.free.fr/files/articles/htpc2/irtrans/LCDd-daemon chmod 700 LCDd-daemon mv LCDd-daemon /etc/init.d/ cd /etc/init.d/ update-rc.d -f LCDd-daemon start 98 2 3 4 5 .
Il existe dans
le répertoire ' scripts' le script de démarrage
pour lcdproc dont on pourra s'inspirer ou
utiliser.
... TODO ...
Reconnaissance de la carte son:
apt-get install alsa-base alsa-utils alsaconf
... TODO ...
L'AAM est une technologie qui permet de réduire le bruit de fonctionnement des disques durs. Le principe est assez simple. Les têtes du disque dur sont entrainées par un moteur qui recoit une tension importante permettant à ces dernières de se déplacer très rapidement. Ces déplacements violents génèrent du bruit, consomment beaucoup et provoquent sur le long terme des problèmes mécanique.
L'AAM permet de diminuer la tension maximale et donc le bruit généré mais aussi la consommation et d'augmenter la durée de vie. La contre partie est une perte de performance des temps d'accès.
Le programme 'Feature Tool' crée à l'origine par IBM puis racheté par Hitachi est disponible en téléchargement.
Téléchargement de Feature Tool : http://www.hgst.com/hdd/support/download.htm#FeatureTool
Attention
Le DVD doir être de type IDE.
Pour réduire le bruit que peut faire un CD ou DVD il suffit de réduire sa vitesse de rotation.
L'utilitaire 'hdparm' présent dans toute les distribution nous le permet.
apt-get install hdparm hdparm -E <vitesse> <lecteur>
Il est ainsi
possible de régler à 8x la vitesse d'un DVD
( /dev/hdc) avec la commande suivante:
hdparm -E 8 /dev/hdc









