Rasp-HiFiBerry-Linux-3-18-x

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Préambule

En janvier 2015, les développeurs du noyau Linux du Raspberry Pi on décidés de commencer à utiliser le Linux 3.18.x. Avec cette version Linux vient également une nouvelle manière de charger les pilotes, méthode appliquée à l'environnement Raspberry Pi. Cette méthode s'appelle "device tree overlay". Cela introduit un grand changement dans la façon de configurer les pilotes nécessaires au bon fonctionnement de votre carte HiFiBerry.

Retirer les pilotes de la BlackList

Pour commencer, il faut retirer les lignes suivantes de votre fichier /etc/modprobe.d/raspi-blacklist.conf de votre installation Raspbian. Une blacklist est une liste noire qui renseigne les éléments interdit (ceux qui ne peuvent pas être chargés).

Vous pouvez utiliser l'utilitaire nano (un éditeur de texte) pour effectuer ces modification. Dans un terminal, saisissez la ligne suivante pour modifier le fichier 'conf'.

sudo nano /etc/modprobe.d/raspi-blacklist.conf

Les lignes a retirer sont:

blacklist i2c-bcm2708
blacklist snd-soc-pcm512x
blacklist snd-soc-wm8804

Retirer le pilote son de la carte

Nous allons ensuite désactivé le pilote son natif du Raspberry Pi.

Retirez la ligne suivante dans le fichier /etc/modules

snd_bcm2835

Configurez le "device tree overlay"

Kaseko ce "Device Tree"?

"Device Tree" peut être vu comme un fichier permettant de définir la liste des périphériques pris en charge par le système. Dans les anciennes versions de Linux, le noyaux devrait avoir une connaissance "du matériel" disponible sur la machine (et par conséquent, il avait également une connaissance des pilotes à utiliser). Dans les systèmes Linux modernes, cette connaissance du matériel et des pilotes est "déporté" dans un fichier de configuration externe au noyau. C'est le fameux fichier device tree dans lequel vous pouvez signaler les périphériques et pilotes que le noyau devra utiliser. Cela permettra au noyau d'exploiter correctement ce nouveau matériel. Grâce à cette approche, il n'est plus nécessaire de recompiler un noyau pour supporter un nouveau matériel ;-)

Pour en savoir plus, n'hésitez pas à consulter le document "Device Tree for Dummies" (The Linux Fondation, Anglais, Pdf)

Les puristes ne manquerons pas de noter que j'ai pris quelques raccourcis dans les explications. Le but étant de faire comprendre au mieux l'utilité du Device Tree tout en restant abordable. N'hésitez pas à faire part de vos commentaires.

Le future et le présent

Dans le future il sera possible de détecter automatiquement la carte DAC+/Digi+ a partir de l'information stockée dans l'EEPROM de la carte. Mais cela doit encore être implémenté.

Dans l'attente, il vous faudra faire quelques opérations pour installer votre carte.

Configurer le Device Tree

Il n'est plus nécessaire de modifier le fichier /etc/modules, mais il sera nécessaire de charger le bon fichier device tree.

Pour réaliser cette tâche, vous devez éditer le fichier /boot/config.txt et ajouter l'une des lignes suivantes (en fonction du modèle de votre carte HiFiBerry.

Vous pouvez éditer le fichier config.txt à l'aide de la commande suivante:

sudo nano /boot/config.txt

DAC

Le DAC concerne uniquement les anciens modèles pour Raspberry Pi A et B. Si vous avez un Raspberry Pi 2 ou B+, il faut vous référer à la configuration du DAC+.

dtoverlay=hifiberry-dac

DAC+

Concerne les cartes HiFiBerry avec sorties analogiques (RCA), cartes destinées au Raspberry-Pi 2 et Pi B+.

dtoverlay=hifiberry-dacplus

Digi/Digi+

dtoverlay=hifiberry-digi

Amp/Amp+

dtoverlay=hifiberry-amp

Configurer ALSA

ALSA est le pilote informatique du noyau Linux en charge destiné à piloter les cartes sons. Voyez ce lien pour plus d'information sur ALSA (Wikipedia, français)

créez le fichier /etc/asound.conf avec le contenu ci-dessous:

sudo touch /etc/asound.conf
sudo nano /etc/asound.conf

Placez y ce contenu

pcm.!default  {
 type hw card 0
}
ctl.!default {
 type hw card 0
}

Redemarrer le Pi

Redémarrez votre Pi une dernière fois pour que notre nouvelle configuration audio soit utilisée par le système.

sudo reboot

Tester

Nous allons tester la configuration de la carte son avec le logiciel "aplay":

La commande aplay -l liste les périphériques audios capable de rejouer un son.

pi@raspberrypi ~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0

Vous pouvez utiliser aplay, pour rejouer des fichier WAV. Note: aplay ne convertira pas les fichiers qui ne sont pas nativement supportés par votre pilote audio. (ex: fichier mono ou avec différentes vitesse d'échantillonnage). Pour supporter d'autres format de fichiers (MP3, FLAC, ...) nous recommandons d'utiliser un autre utilitaire qui s'appelle mplayer.

sudo apt-get install mplayer

Certains utilisateurs ont mentionnés quelques problèmes de playback avec mplayer. Il semblerait que le codec MP3 ne soit pas installé par défaut sur tous les systèmes. HifiBerry nous informe que le format FLAC est le mieux supporté par mplayer. Si vous êtes résolument open-source, vous pouvez également vous pencher sur le format Ogg Vorbis.

Notez que le résultat de la commande aplay -l dépend du modèle de la carte son HiFiBerry que vous utilisez (DAC,DAC+, Digi or Amp)

Le périphérique n'est pas reconnu?

Cela pourrait être causé par une erreur de frapppe dans le fichier config.txt ou les pilotes "blacklisted".

Ajouter "dtdebug=1" dans votre config.txt. Permet de pouvoir lire les message de débug avec dmesg et la sortie de sudo vcdbg log msg.

Vous avez un problème?

Please post your question sur le Forum HiFiBerry (anglais).



Tutoriel Configuring Linux 3.18.x créé par HiFiBerry.com.

Tutoriel traduit par Meurisse D. pour MCHobby.be

Traduit avec l'autorisation de HiFiBerry - Translated with the permission from HiFiBerry - hifiberry.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.