Table of Contents
Quick installation guide to enable the I2S audio output on Ubuntu.
HiFi-shield & HiFi-Shield+
The HiFi Shield Plus provides both stereo RCA connectors and a 3.5mm stereo jack (all gold-plated) to connect to external amplifiers and other audio equipment. An S/PDIF Optical output is also available. Via TI's high-end PCM5102 DAC chip(known as Burr-Brown), it supports 16, 24, 32 bit audio formats with minimal distortion (-93dB) and ideal dynamics (110dB+), plus amazing sampling rates of 384kHz
- Assemble the C2 with the HiFi shield, attach a USB keyboard, USB mouse and HDMI monitor, then power up the system.
- Update the System: sudo apt-get update && sudo apt-get dist-upgrade
- To ensure that the HiFi shield kernel modules are loaded on Terminal.
odroid@odroid64:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S.27 dit-hifi-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0 odroid@odroid64:~$ odroid@odroid64:~$ sudo modprobe snd-soc-pcm5102 odroid@odroid64:~$ sudo modprobe snd-soc-odroid-dac odroid@odroid64:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S.27 dit-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: ODROIDDAC [ODROID-DAC], device 0: I2S.27 pcm5102-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 odroid@odroid64:~$
- To test, connect an amplifier to the 3.5mm or RCA lineout jack on the HiFi Shield, and then run:
- Applications → Sound & Video → Sound → Hardware Tab & Output Tab select “ODROID-DAC”
- If you want to use the Optical output on HiFi-Shile-Plus model, select “ODROID-HDMI”.
If you have to load the driver every time whenever your ODROID-C2 starts, simply you can register the driver into /etc/modules
odroid@odroid64:~$ su Password: /* root password is "odroid" */ root@odroid64:/home/odroid# echo "snd-soc-pcm5102" >> /etc/modules root@odroid64:/home/odroid# echo "snd-soc-odroid-dac" >> /etc/modules root@odroid64:/home/odroid# exit exit odroid@odroid64:~$
This adds one line at end of the file, /etc/modules, and load the driver on boot automatically.
Create /etc/asound.conf with the following content:
pcm.!default { type hw card 1 } ctl.!default { type hw card 1 }
Reboot again.
Check, if the sound card is enabled with “aplay -l”:
odroid@odroid64:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S.27 dit-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: ODROIDDAC [ODROID-DAC], device 0: I2S.27 pcm5102-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 odroid@odroid64:~$
HiFi-shield2
The HiFi Shield 2 provides stereo RCA connectors to connect to external amplifiers and other audio equipment. An S/PDIF Optical output is also available. Via TI's high-end PCM5242 DAC chip(known as Burr-Brown), it supports 16, 24, 32 bit audio formats with minimal THD+N ratio (0.002%) and ideal dynamics (116dB+), plus amazing sampling rates of 384kHz. Volume control via I2C interface is great feature to keep the great audio quality with various audio output volume.
- Assemble the C2 with the HiFi shield2, attach a USB keyboard, USB mouse and HDMI monitor, then power up the system.
- Update the System: sudo apt-get update && sudo apt-get dist-upgrade
- To ensure that the HiFi shield2 kernel modules are loaded on Terminal.
odroid@odroid64:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S dit-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 odroid@odroid64:~$ su Password: /* root password is "odroid" */ root@odroid64:/home/odroid# modprobe aml_i2c root@odroid64:/home/odroid# modprobe snd_soc_pcm512x root@odroid64:/home/odroid# modprobe snd_soc_pcm512x_i2c root@odroid64:/home/odroid# echo pcm5242 0x4c > /sys/class/i2c-adapter/i2c-1/new_device root@odroid64:/home/odroid# modprobe snd-soc-odroid-dac2 root@odroid64:/home/odroid# aplay -l **** List of PLAYBACK Hardware Devices *** card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S dit-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: ODROIDDAC2 [ODROID-DAC2], device 0: I2S pcm512x-hifi-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0 root@odroid64:/home/odroid#
- To test, connect an amplifier to the RCA out jack on the HiFi Shield2, and then run:
- Applications → Sound & Video → Sound → Hardware Tab & Output Tab select “ODROID-DAC2”
- If you want to use the Optical output select “ODROID-HDMI”.
You want to add the HiFi-Shield2 sound_card on ODROID-C2 at boot by editing /etc/rc.local.
odroid@odroid64:~$ sudo nano /etc/rc.local if [ -f /aafirstboot ]; then /aafirstboot start ; fi echo Loading HiFi-Shield2 module modprobe aml_i2c modprobe snd-soc-pcm512x modprobe snd-soc-pcm512x-i2c echo pcm5242 0x4c > /sys/class/i2c-adapter/i2c-1/new_device modprobe snd-soc-odroid-dac2 amixer -c 1 sset Analogue 0 amixer -c 1 sset Digital 201 amixer -c 1 sset Deemphasis on echo Done. exit 0 ^G Get Help ^O Write Out ^W Where Is ^K Cut Text ^J Justify ^C Cur Pos ^X Exit ^R Read File ^\ Replace ^U Uncut Text^T To Linter ^_ Go To Line
Add the following at the bottom of the page above exit 0. ^x exit and save the file. Reboot your ODROID-C2.
Create /etc/asound.conf with the following content:
pcm.!default { type hw card 1 } ctl.!default { type hw card 1 }
Reboot again.
Check, if the sound card is enabled with “aplay -l”:
odroid@odroid64:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S dit-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: ODROIDDAC2 [ODROID-DAC2], device 0: I2S pcm512x-hifi-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0 odroid@odroid64:~$
If above guide is not comfortable for you, try this alternative easy solution made by Fourdee (DietPi OS image author).
http://forum.odroid.com/viewtopic.php?f=118&t=24415