=====Quick installation guide to enable the I2S audio output on Ubuntu.=====
==== HiFi-shield & HiFi-Shield+ ====
{{http://www.hardkernel.com/main/_Files/prdt/2016/201605/201605181634077377.jpg?400|}}
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 ====
{{http://www.hardkernel.com/main/_Files/prdt/2016/201610/201610081156405325.jpg?800|}}
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