=====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