Un media center avec le ASRock ION 330HT

De MicElectroLinGenMet.

Sommaire

Le mini-PC ASRock ION 330HT

http://www.asrock.com/nettop/overview.asp?Model=ION%20330HT



Caractéristiques principales :

  • Processeur double coeur Intel Atom 330 1.6GHz avec faible consommation énergétique.
  • Processeur graphique Nvidia ION compatible Full HD 1080p
  • Mémoire: supporte DDR2 800MHz, 2 x SO-DIMM slots, defaut 2GB (2 x 1GB), Maximum 4GB
  • Disque dur: 320GB 2.5" capable de gérer RAID 0, 1 en rajoutant un second disque 2,5".
  • Carte réseau Gigabit ()
  • Carte audio 7.1 Ch HD Audio DTS
  • Lecteur/graveur de DVD (existe avec lecteur Blu-ray)
  • Taille compacte pour un encombrement très réduit.
  • Fonctionnement silencieux avec un niveau sonore inférieur à 26 dB (reste bruyant à l'usage).
  • Faible consommation d'énergie : certification Energy Star 5.0
  • Connexion réseau sans fil Wi-Fi 802.11 b/g/n
  • Connecteurs arrière: 1 x HDMI / adaptateur DVI, 1 x VGA, 6 x USB 2.0, 1 x S/PDIF, 1 x Powered eSATA/USB
  • Télécommande Media Center incluse (MCE Remote Controller)
  • Utilitaire de flashage intégré au BIOS.
  • Dimensions: 195mm(L) x 70mm(H) x 186mm(P)
  • Poids: 1.7Kg

(For Powered eSATA function, Hot Plug function is supported in RAID / AHCI mode only. IDE mode does not support Hot Plug function.)


Mise à jour BIOS

Possibilité de mise à jour sans OS.

Pour mettre à jour le bios de l'Asrock Ion 330, préférez plutôt le site officiel:
ASRock > Products > ION330HT > Download: http://www.asrock.com/nettop/download.asp?Model=ION%20330HT&o=All

Il y a un utilitaire de flashage intégré au bios, donc, il n'y a pas besoin d'avoir un OS spécial pour pouvoir flasher.
Pour flasher, utilisez une clef <8Go, sinon l'utilitaire fera l'aveugle

Il existe deux méthodes pour mettre à jour le BIOS à l'aide d'Instant Flash

Méthode 1:

  1. Sauvegardez le fichier du BIOS sur un périphérique tel que clé USB ou disque dur.
  2. Pressez la touche <F2> durant la séquence de démarrage pour accéder au menu du BIOS.
  3. Sélectionnez l?utilitaire Instant Flash dans le menu [Smart] et lancez le.
  4. ASRock Instant Flash détectera automatiquement tous les périphériques connectés et listera uniquement les versions de BIOS compatibles avec votre carte mère.
  5. Sélectionnez le fichier BIOS correspondant à la version souhaitée et flashez (ex de nom de fichier: AMCP7AI1.40, où 1.40 est la version du bios).

Méthode 2:

  1. Sauvegardez le fichier du BIOS sur un périphérique tel que clé USB ou disque dur.
  2. Pressez la touche <F6> à l?affichage de cette page [ou page similaire].
  3. Sélectionnez le fichier BIOS correspondant à la version souhaitée et flashez.

Installation de Debian

Debian squeeze (stable) netinstall
http://cdimage.debian.org/cdimage/release/current/i386/iso-cd/debian-6.0.0-i386-netinst.iso i386
http://cdimage.debian.org/cdimage/release/current/ia64/iso-cd/debian-6.0.0-ia64-netinst.iso ia64

Installation freevo

Voir page Media center Freevo


Configuration spécifique

Installing Freevo on an ASRock Ion-330 with HDMI http://doc.freevo.org/ASRockIon330Fedora


Configuring for HDMI audio output

Again in /etc/mplayer/mplayer.conf ensure you audio output is set to:

ao = alsa:device=hw=0.3 

The device name was discovered by running aplay -l (that is L in lower case):

[root@freevo]# aplay -l                 
**** List of PLAYBACK Hardware Devices ****      
card 0: NVidia [HDA NVidia], device 0: VT1708S Analog [VT1708S Analog]
 Subdevices: 2/2                                                     
 Subdevice #0: subdevice #0                                          
 Subdevice #1: subdevice #1                                          
card 0: NVidia [HDA NVidia], device 1: VT1708S Digital [VT1708S Digital]
 Subdevices: 2/2                                                       
 Subdevice #0: subdevice #0                                            
 Subdevice #1: subdevice #1                                            
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]
 Subdevices: 1/1
 Subdevice #0: subdevice #0

You can see that HDMI output is card 0, device 3 equating to the 0.3 in the mplayer settings above.

If you want to have audio output from HDMI and SPDIF at the same time, then look on the tips and tricks page for the ASLA configuration required:

http://doc.freevo.org/TipsAndTricks#head-4ca196866b6ae120b2c0ce473c0e5c181ae88ca2


Fichier /etc/asound.conf à créer:

pcm.!default {
  type plug
  slave {
      pcm "hdmi"
  }
}


Volume / Mute HDMI non pilotable par mixer

Rajout commande volume avec irexec et pilotage RS232 Samsung:

dan@freevo:~ $ ps ax|grep ire
6523 ?        Ss     0:00 /usr/bin/irexec -d /home/freevo/bin/lircrc.irexec
dan@freevo:~ $ cat /home/freevo/bin/lircrc.irexec
# Commande volume faites par port série TV (la sortie audio HDMI ne se régle pas avec le mixer !)
# Toutes les commandes de type setsamsungtv_xxx agissent directement sur l'interface série de la TV Samsung.
begin
   prog   = irexec
   button = Power
   repeat = 0
   config = sudo shutdown -h now
end
begin
   prog   = irexec
   button = Aspect
   repeat = 0
   config = sudo /etc/init.d/freevo_xserver restart
end
begin
   prog   = irexec
   button = Mute
   repeat = 0
   config = /home/freevo/bin/samsung_exlink/setsamsungtv_mute
end
begin
   prog   = irexec
   button = VolDown
   repeat = 0
   config = /home/freevo/bin/samsung_exlink/setsamsungtv_volumedown
end
begin
   prog   = irexec
   button = VolUp
   repeat = 0
   config = /home/freevo/bin/samsung_exlink/setsamsungtv_volumeup
end
# Active TV
begin
   prog   = irexec
   button = LiveTV
   repeat = 0
   config = /home/freevo/bin/samsung_exlink/setsamsungtv_sourcetv
end
# Active HDMI1
begin
   prog   = irexec
   button = DVD
   repeat = 0
   config = /home/freevo/bin/samsung_exlink/setsamsungtv_sourcehdmi1
end
# Sortie TV HDMI mise en mode veille
begin
   prog   = irexec
   button = Star
   repeat = 0
   config = /home/freevo/bin/setscreenhdmi.sh off
end
# Sortie TV HDMI sortie du mode veille
begin
   prog   = irexec
   button = Hash
   repeat = 0
   config = /home/freevo/bin/setscreenhdmi.sh on
end


Configuring VDPAU HDMI dans Freevo

Freevo ne tiens pas compte du fichier de config mplayer.

Config. dans /etc/freevo/local_conf.py :

MPLAYER_AO_DEV      = 'alsa:device=hw=0.3'
MPLAYER_VO_DEV      = 'xv,vdpau'

MPLAYER_VF_INTERLACED  = 'pp=de/fd'
MPLAYER_VF_PROGRESSIVE = 

MPLAYER_ARGS = {
'dvd' : '-cache 8192',
'vcd' : '-cache 4096',
'cd' : '-cache 1024 -cdda speed=2',
'tv' : '-nocache',
'ivtv' : '-cache 8192',
'avi' : '-cache 5000 -idx -subfont-text-scale 5',
'flv' : '-nocache -forceidx',
'dvb' : '-vo vdpau -vc ffh264vdpau,ffmpeg12vdpau,ffvc1vdpau,ffwmv3vdpau,ffodivxvdpau, -cache 1024',
'mp4' : '-vo vdpau -vc ffh264vdpau, -nocache -forceidx',
'default': '-vo vdpau -vc ffh264vdpau,ffmpeg12vdpau,ffvc1vdpau,ffwmv3vdpau,ffodivxvdpau, -cache 5000'
}


Installer driver proprio. nvidia pour gérer chipset graphique ION

  • Téléchargement package headers du noyau

Package linux-headers-2.6.32-5-686

  • Pour compiler driver NVIDIA si version gcc différente:
export CC=gcc-4.3


Interface TNT USB

AverMedia AVerTV Volar Black HD (A850) (Récepteur TNT USB)


Supporté par Linux: kernel >= 2.6.30-rc1
Package "linux-firmware-nonfree" pour disposer du firmware: dvb-usb-af9015.fw (à vérifier si present dans package sur Debian , mettre un lien)

Nov  7 14:04:57 hestia kernel: [ 8371.616028] usb 1-5: new high speed USB device using ehci_hcd and address 4
Nov  7 14:04:57 hestia kernel: [ 8371.752542] usb 1-5: New USB device found, idVendor=07ca, idProduct=850a
Nov  7 14:04:57 hestia kernel: [ 8371.752550] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Nov  7 14:04:57 hestia kernel: [ 8371.752556] usb 1-5: Product: A850 DVBT
Nov  7 14:04:57 hestia kernel: [ 8371.752561] usb 1-5: Manufacturer: AVerMedia
Nov  7 14:04:57 hestia kernel: [ 8371.752565] usb 1-5: SerialNumber: 302980500004000
Nov  7 14:04:57 hestia kernel: [ 8371.752772] usb 1-5: configuration #1 chosen from 1 choice
Nov  7 14:04:58 hestia kernel: [ 8371.925041] dvb-usb: found a 'AverMedia AVerTV Volar Black HD (A850)' in cold state, will try to load a firmware
Nov  7 14:04:58 hestia kernel: [ 8371.925053] usb 1-5: firmware: requesting dvb-usb-af9015.fw		<= firmware recherché
Nov  7 14:04:58 hestia kernel: [ 8371.996806] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
Nov  7 14:04:58 hestia kernel: [ 8372.064304] dvb-usb: found a 'AverMedia AVerTV Volar Black HD (A850)' in warm state.
Nov  7 14:04:58 hestia kernel: [ 8372.064400] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Nov  7 14:04:58 hestia kernel: [ 8372.065511] DVB: registering new adapter (AverMedia AVerTV Volar Black HD (A850))
Nov  7 14:04:58 hestia kernel: [ 8372.490564] af9013: firmware version:4.95.0
Nov  7 14:04:58 hestia kernel: [ 8372.493694] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
Nov  7 14:04:58 hestia kernel: [ 8372.514893] MXL5005S: Attached at address 0xc6
Nov  7 14:04:58 hestia kernel: [ 8372.514904] dvb-usb: AverMedia AVerTV Volar Black HD (A850) successfully initialized and connected.
Nov  7 14:04:58 hestia kernel: [ 8372.520881] usbcore: registered new interface driver dvb_usb_af9015
root@freevo:/usr/src# lsmod|grep dvb
dvb_usb_af9015         19311  0 
dvb_usb                10632  1 dvb_usb_af9015
dvb_core               62650  1 dvb_usb
i2c_core               12696  5 mxl5005s,af9013,dvb_usb_af9015,dvb_usb,i2c_nforce2
usbcore                98377  7 dvb_usb_af9015,dvb_usb,ati_remote,usbhid,ohci_hcd,ehci_hcd
root@freevo:/usr/src# l /dev/dvb
total 0
drwxr-xr-x 2 root root 120  7 nov.  14:04 adapter0/
root@freevo:/home/dan# adduser freevo video
Adding user `freevo' to group `video' ...
Ajout de l'utilisateur freevo au groupe video
Done.

Non du package contrenant fichiers fréquences !
Nouveau fichier fréquences : channels_apres_toutnumerique.conf

freevo@freevo:~$ scan /usr/share/dvb/dvb-t/fr-Paris | tee ~/.mplayer/channels.conf
freevo@freevo:~$ mplayer dvb://"France 3"

Config. freevo DVB

Voir page Media center Freevo#TNT


Divers

Mise en veille sortie vidéo

dan@freevo:~$ export DISPLAY=:1.0
dan@freevo:~$ /usr/bin/xset dpms force off 	(on pour réactiver)

voir irexec

Active "Wake On lan" (WOL) carte réseau

(Doit être activer dans le Bios)

# /sbin/ethtool -s eth0 wol g

Ajouté dans /etc/rc.local


Réveille avec la commande réseau à parti d'un autre hosts

# etherwake e0:cb:4e:85:7d:1a

package Debian: etherwake


Telecommande IR

Configuration sous Debian

Drivers dispo. pour Ubuntu sous forme de packages deb non compatible Debian.

http://europe.asrock.com/downloadsite/drivers/Nettop/Ubuntu/IR(10.04)2.6.32-25.zip => Configuré avec celui-ci !


Compile source driver lirc_wb677

Info. trouvées sur "ASRock ION 330HT nettop running Sabayon Linux [Solved]": http://forum.sabayon.org/viewtopic.php?f=56&p=114051&sid=b6ccbdcdf8ac5a32d1c70f091554a18d

Compilation faite sous Debian Squeeze kernel 2.6.32-5-686:

  • Téléchargement header du noyau si pas déjà fait:

Package linux-headers-2.6.32-5-686


  • Télechargement source lirc:
$ wget http://prdownloads.sourceforge.net/lirc/lirc-0.8.6.tar.bz2
$ sudo mv lirc-0.8.6.tar.bz2 /usr/src
$ cd /usr/src
$ tar xvjf lirc-0.8.6.tar.bz2 
$ cd lirc-0.8.6
$ ./setup.sh		=> choix CIR utilisant lirc_dev (Drivers / Irda/CIR hardware / Winbond 8769L CIR port (e.g. Acer Aspire 6530G))
$ make
# make install
# modprobe lirc_dev	=> necéssaire pour module lirc_wb677.ko
# l /usr/local/sbin/lircd
-rwxr-xr-x 1 root staff 253K 21 déc.  13:47 /usr/local/sbin/lircd*	daemon lircd installé


  • Source module wb677 (Téléchargement driver Ubuntu fourni par Asrock):
$ wget http://europe.asrock.com/downloadsite/drivers/Nettop/Ubuntu/IR(10.04)2.6.32-25.zip
$ unzip IR\(10.04\)2.6.32-25.zip 
$ cd IR\(10.04\)/
$ unzip lirc-nct677x-src-1.0.4-ubuntu10.04.zip 
$ ar xv lirc-nct677x-src-1.0.4-ubuntu10.04.deb 
$ tar xvzf data.tar.gz 
$ cd usr/src/lirc-nct677x-src-1.0.4-ubuntu9.10/
$ tar cvzf lirc_wb677.tgz lirc_wb677/
$ sudo cp IR\(10.04\).zip lirc_wb677.tgz /usr/src
# cd /usr/src
# tar xvzf lirc_wb677.tgz 
# cd lirc_wb677/

# make
echo KERNELDIR=/lib/modules/2.6.32-5-686/build
KERNELDIR=/lib/modules/2.6.32-5-686/build
make -C /lib/modules/2.6.32-5-686/build -I /usr/src/lirc-0.8.6 M=/usr/src/lirc_wb677 modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-2.6.32-5-686 »
 CC [M]  /usr/src/lirc_wb677/lirc_wb677_main.o
 CC [M]  /usr/src/lirc_wb677/lirc_wb677_mouse_kbd.o
 LD [M]  /usr/src/lirc_wb677/lirc_wb677.o
 Building modules, stage 2.
 MODPOST 1 modules
WARNING: "lirc_register_driver" [/usr/src/lirc_wb677/lirc_wb677.ko] undefined!
WARNING: "lirc_unregister_driver" [/usr/src/lirc_wb677/lirc_wb677.ko] undefined!
 CC      /usr/src/lirc_wb677/lirc_wb677.mod.o
 LD [M]  /usr/src/lirc_wb677/lirc_wb677.ko
make[1]: quittant le répertoire « /usr/src/linux-headers-2.6.32-5-686 »
# modprobe lirc_wb677
FATAL: Error inserting lirc_wb677 (/lib/modules/2.6.32-5-686/misc/lirc_wb677.ko): Unknown symbol in module, or unknown parameter (see dmesg)
# dmesg | tail
[ 4693.672235] lirc_wb677: no symbol version for lirc_unregister_driver
[ 4693.672244] lirc_wb677: Unknown symbol lirc_unregister_driver
[ 4693.673285] lirc_wb677: no symbol version for lirc_register_driver
[ 4693.673292] lirc_wb677: Unknown symbol lirc_register_driver
# modprobe -f lirc_wb677	<= mode force sinon ko !
# dmesg | tail
[ 5636.511637] lirc_wb677: module_layout: kernel tainted.
[ 5636.513968] lirc_wb677 w677hga: chip id high: 0xb4
[ 5636.513981] lirc_wb677 w677hga: chip id low: 0x73 expect:0x73
[ 5636.514558] input: MCE Remote Keyboard as /devices/virtual/input/input5
[ 5636.514809] lirc_dev: lirc_register_driver: sample_rate: 0
# lsmod|grep lirc
lirc_wb677             21204  0 
lirc_dev                6868  1 lirc_wb677
# cat /proc/bus/input/devices
...
I: Bus=0019 Vendor=1050 Product=0001 Version=0000
N: Name="MCE Remote Keyboard"
P: Phys=lirc_wb677
S: Sysfs=/devices/virtual/input/input5
U: Uniq=
H: Handlers=kbd mouse1 event5 
B: EV=7
B: KEY=30000 0 7 ff87207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: REL=3
...
# evtest /dev/input/event5 (packahe Debian evtest !)
Input driver version is 1.0.0
Input device ID: bus 0x19 vendor 0x1050 product 0x1 version 0x0
Input device name: "MCE Remote Keyboard"
Supported events:
 Event type 0 (Sync)
 Event type 1 (Key)
   Event code 1 (Esc)
   Event code 2 (1)
   Event code 3 (2)
   Event code 4 (3)
   Event code 5 (4)
   ...
   Event code 272 (LeftBtn)
   Event code 273 (RightBtn)
 Event type 2 (Relative)
   Event code 0 (X)
   Event code 1 (Y)
Testing ... (interrupt to exit)


  • Test de la télécommande

Lancement daemon
Lircd utilise un socket
=> Socket par defaut = /var/run/lirc/lircd, mais lien rajouté /dev/lircd -> /var/run/lirc/lircd.

# l /dev/lirc*
crw-rw---- 1 root video 61, 0  2 janv. 19:42 /dev/lirc0
lrwxrwxrwx 1 root root     19  2 janv. 19:42 /dev/lircd -> /var/run/lirc/lircd=
# /usr/local/sbin/lircd --device=/dev/lirc0
# ps ax|grep lirc
10496 ?        Ss     0:00 /usr/local/sbin/lircd --device=/dev/lirc0 


Fichier de conf de la télécommande (mettre un lien en local):

# l /etc/lirc/lircd.conf
lrwxrwxrwx 1 root root 16 21 déc.  22:33 /etc/lirc/lircd.conf -> lircd.conf.wb677*	(lircd.conf.wb677 fourni avec packages Asrock pour ubuntu)
# irw 
000000037ff07bfe 00 One mceusb
000000037ff07bfe 01 One mceusb
000000037ff07bfe 02 One mceusb
000000037ff07bfd 00 Two mceusb
000000037ff07bfd 01 Two mceusb
000000037ff07bfd 02 Two mceusb
000000037ff07bfc 00 Three mceusb
000000037ff07bfc 01 Three mceusb
000000037ff07bfb 00 Four mceusb
000000037ff07bfb 01 Four mceusb


Script rc /etc/init.d/lirc perso:

...
DAEMON_ARGS="--device=/dev/lirc0"
...
# Function that starts the daemon/service
#
do_start()
{
       /sbin/modprobe -f lirc_wb677
       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
               || return 1
       start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
               $DAEMON_ARGS \
               || return 2
       ln -s /var/run/lirc/lircd /dev/lircd
}
# Function that stops the daemon/service
#
do_stop()
{
       start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
       RETVAL="$?"
       [ "$RETVAL" = 2 ] && return 2
       start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
       [ "$?" = 2 ] && return 2
       rm -f $PIDFILE
       rm /dev/lircd
       /sbin/rmmod lirc_wb677 lirc_dev
       return "$RETVAL"
}
...


  • Bloquer mise à jour package lirc

Dans /etc/apt/preferences:

Package: lirc
Pin: version 0.8.3-5
Pin-priority: 1001

Package: liblircclient0
Pin: version 0.8.3-5
Pin-priority: 1001


Activer réveille Asrock avec télécommande IR

root@hestia:~# cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
CIR       S4     disabled  pnp:00:04
SMB0      S4     disabled  pci:0000:00:03.2
USB0      S4     disabled  pci:0000:00:04.0
USB2      S4     disabled  pci:0000:00:04.1
NMAC      S5     disabled  pci:0000:00:0a.0
PBB0      S4     disabled  pci:0000:00:09.0
HDAC      S4     disabled  pci:0000:00:08.0
XVR0      S4     disabled
XVR1      S4     disabled
P0P5      S4     disabled
P0P6      S4     disabled
P0P7      S4     disabled
P0P8      S4     disabled
P0P9      S4     disabled
root@hestia:~# echo CIR > /proc/acpi/wakeup 	# Enable wake-up on IR receiver
root@hestia:~# cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
CIR       S4     enabled   pnp:00:04
SMB0      S4     disabled  pci:0000:00:03.2
USB0      S4     disabled  pci:0000:00:04.0
USB2      S4     disabled  pci:0000:00:04.1
NMAC      S5     disabled  pci:0000:00:0a.0
PBB0      S4     disabled  pci:0000:00:09.0
HDAC      S4     disabled  pci:0000:00:08.0
XVR0      S4     disabled
XVR1      S4     disabled
P0P5      S4     disabled
P0P6      S4     disabled
P0P7      S4     disabled
P0P8      S4     disabled
P0P9      S4     disabled

Ajout dans /etc/rc.local:

echo "Active Wake On CIR (IR receiver) ..."
echo CIR > /proc/acpi/wakeup

La télécommande lance le média-center par "wakeup" et l'éteint avec le bouton "power" configuré dans le fichier lircrc.irexec.