Installation de la carte son Cirrus/Wolfson pour Raspberry Pi 1B avec le kernel 5

Matériel : Raspberry Pi 1B
Distribution : Raspbian GNU/Linux 8.0 (jessie)

Liens :
https://miniordi.hacktech.dev/carte-son-wolfson-pour-raspberry-pi-configuration/
https://www.raspberrypi.org/forums/viewtopic.php?t=291266

1/ Mise-à-jour d'une système d'exploitation

pi@raspberrypi:~ $ sudo apt-get update && sudo apt-get upgrade 

2/ Mise-à-jour du kernel vers sa dernière version.

  • Téléchargement :
pi@raspberrypi:~ $ sudo curl -L --output /usr/bin/rpi-update https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update && sudo chmod +x /usr/bin/rpi-update
  • Lancement de la mise-àjour :
pi@raspberrypi:~ $rpi-update
  • Redémarrage :
pi@raspberrypi:~ $ sudo reboot

3/ Vérification de la version du kernel.

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.36+ #1418 Thu May 13 18:12:25 BST 2021 armv6l GNU/Linux

4/ Configuration des fichiers de configuration.

Liens :
https://www.richardmudhar.com/blog/2018/02/cirrus-logic-audio-card-for-the-raspberry-pi-revisited/
https://www.horus.com/~hias/cirrus-driver.html

Ouvrir :

/boot/config.txt

Ajouter à la fin :

dtoverlay=rpi-cirrus-wm5102
dtoverlay=i2s-mmap
hdmi_force_hotplug=1
hdmi_group=1
hdmi_mode=16
dtparam=spi=on
dtparam=i2c_arm=on
disable_splash=1

Ouvrir :

/etc/modprobe.d/cirrus.conf

Ajouter :

softdep arizona-spi pre: arizona-ldo1

5/ Redémarrage.

pi@raspberrypi:~ $ sudo reboot

6/ Vérification de la prise en compte du module audio Cirrus.

pi@raspberrypi:~ $ dmesg |grep RPi-Cirrus
[   20.030530] LDO1: supplied by RPi-Cirrus 1v8
[   20.984761] MICVDD: supplied by RPi-Cirrus 1v8
pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: RPiCirrus [RPi-Cirrus], device 0: WM5102 AiFi wm5102-aif1-0 [WM5102 AiFi wm5102-aif1-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

7/ Installation des scripts de lecteur et d'enregistement audio.

  • Téléchargement de l'archive des scripts :
pi@raspberrypi:~ $ wget http://www.horus.com/~hias/tmp/cirrus/cirrus-ng-scripts.tgz
  • Création du répertoire pour les binaires :
pi@raspberrypi:~ $ mkdir bin
pi@raspberrypi:~ $ cd bin
  • Décompression de l'archive :
pi@raspberrypi:~/bin $ tar zxf ../cirrus-ng-scripts.tgz
  • Vérification :
pi@raspberrypi:~/bin $ ls
Cirrus_listen.sh        Playback_to_Lineout.sh  Playback_to_Speakers.sh  Record_from_Headset.sh         Record_from_Linein.sh  Reset_paths.sh
Playback_to_Headset.sh  Playback_to_SPDIF.sh    Record_from_DMIC.sh      Record_from_Linein_Micbias.sh  Record_from_SPDIF.sh   rpi-cirrus-functions.sh

8/ Démarrage.

pi@raspberrypi:~ $ sudo reboot

9/ Installation de l'application de lecteur de fichier mp3.

pi@raspberrypi:~ $ sudo apt-get install mpg123

10/ Téléchargement d'un fichier d'exemple mp3.

Par exemple :
https://carcariass.bandcamp.com/track/watery-grave-2

pi@raspberrypi:~ $ ls -l *.mp3
-rw-r--r-- 1 pi pi 10378624 May 23 21:55 CARCARIASS - Watery Grave.mp3

11/ Test de lecture audio.

  • Connecter la prise rose du haut-parleur sur la prise rose de la carte son : Entrée audio

  • Connecter la prise verte du haut-parleur sur la prise verte de la carte son : Sortie audio

  • Lecture audio :

pi@raspberrypi:~ $ mpg123 CARCARIASS\ -\ Watery\ Grave.mp3 
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
    version 1.20.1; written and copyright by Michael Hipp and others
    free software (LGPL) without any warranty but with best wishes

Playing MPEG stream 1 of 1: CARCARIASS - Watery Grave.mp3 ...

MPEG 1.0 layer III, VBR, 44100 Hz joint-stereo
Title:   Watery Grave                    Artist: CARCARIASS
Comment: Visit https://carcariass.bandcamp.com
Album:   BEST OF CARCARIASS by METALLIAN Magazine !!!
Year:    2017
  • Configuration de la sortie audio :
pi@raspberrypi:~ $ Playback_to_Lineout.sh
  • Le musique se sort maintenant des haut-parleurs.

  • Contrôle du volume sonore :

pi@raspberrypi:~ $ alsamixer 

alsam.png