Δημήτρη, σε ευχαριστώ!
Όχι δεν έχω παίξει ποτέ με i2s αλλά το έχουν κάνει πολλοί 99% θα σου παίξει.
Όταν το κάνεις, εκτός από extra modules που θα πρέπει να φορτώσεις θα πρέπει να αλλάξεις και ένα δυο αρχεία ακόμα που αφορούν στην αναγνώριση των καρτών, στο ποιά ορίζεις ως default για τον mpd.conf κλπ αλλά αυτά θα τα βρούμε όλα.
Κάποια στιγμή είχα γράψει ένα πολύ απλό script για εναλλαγή από onboard/usb dac/hifiberry (ένα από τα i2s dacs που κυκλοφορούν)
Code:
#!/bin/bash
PS3='Please enter your the sound device you want to use: '
options=("USB DAC" "On Board Card" "Hifiberry" "Quit")
select opt in "${options[@]}"
do
case $opt in
"USB DAC")
rmmod snd_bcm2835 &>/dev/null
rmmod snd_soc_bcm2708 &>/dev/null
rmmod snd_soc_bcm2708_i2s &>/dev/null
rmmod bcm2708_dmaengine &>/dev/null
rmmod snd_soc_pcm5102a &>/dev/null
rmmod snd_soc_rpi_pcm5102a &>/dev/null
modprobe snd_usb_audio index=0 nrpacks=1
echo 'blacklist snd_bcm2835' > /etc/modprobe.d/blacklist.conf
echo 'blacklist snd_soc_bcm2708' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist snd_soc_bcm2708_i2s' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist bcm2708_dmaengine' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist snd_soc_pcm5102a' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist snd_soc_rpi_pcm5102a' >> /etc/modprobe.d/blacklist.conf
cp /etc/modprobe.d/alsa-base.conf /etc/modprobe.d/alsa-base.conf.bak
echo '#default configuration for usb dac' > /etc/modprobe.d/alsa-base.conf
echo 'options snd_usb_audio index=0 nrpacks=1' >> /etc/modprobe.d/alsa-base.conf
/usr/bin/unmute
exit
;;
"On Board Card")
rmmod snd-usb-audio &>/dev/null
rmmod snd_soc_bcm2708 &>/dev/null
rmmod snd_soc_bcm2708_i2s &>/dev/null
rmmod bcm2708_dmaengine &>/dev/null
rmmod snd_soc_pcm5102a &>/dev/null
rmmod snd_soc_rpi_pcm5102a &>/dev/null
modprobe snd_bcm2835
echo 'blacklist snd_usb_audio' > /etc/modprobe.d/blacklist.conf
echo 'blacklist snd_soc_bcm2708' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist snd_soc_bcm2708_i2s' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist bcm2708_dmaengine' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist snd_soc_pcm5102a' >> /etc/modprobe.d/blacklist.conf
echo 'blacklist snd_soc_rpi_pcm5102a' >> /etc/modprobe.d/blacklist.conf
cp /etc/modprobe.d/alsa-base.conf /etc/modprobe.d/alsa-base.conf.bak
echo '#default configuration for on board card' > /etc/modprobe.d/alsa-base.conf
echo 'options snd_bcm2835 index=0' >> /etc/modprobe.d/alsa-base.conf
/usr/bin/unmute
exit
;;
"Hifiberry")
rmmod snd-usb-audio &>/dev/null
rmmod snd_bcm2835 &>/dev/null
echo 'blacklist snd_usb_audio' > /etc/modprobe.d/blacklist.conf
echo 'blacklist snd_bcm2835' >> /etc/modprobe.d/blacklist.conf
modprobe snd_soc_rpi_pcm5102a
modprobe snd_soc_bcm2708
modprobe snd_soc_bcm2708_i2s
modprobe bcm2708_dmaengine
modprobe snd_soc_pcm5102a
cp /etc/modprobe.d/alsa-base.conf /etc/modprobe.d/alsa-base.conf.bak
echo '#default configuration for HifiBerry (i2s)' > /etc/modprobe.d/alsa-base.conf
/usr/bin/unmute
exit
;;
"Quit")
break
;;
*) echo invalid option;;
esac
done
Mε μια μικρή παραλλαγή στα modules που φορτώνονται για το i2s dac, λογικά το παραπάνω θα δουλέψει και θα ρυθμιστουν όλα αυτόματα. Βέβαια δεν το χω δοκιμάσει ποτέ (και δεν φημίζομαι και για το scripting μου).
Από κει και πέρα ευχαρίστως να βοηθήσω ακόμα και από κοντά, γιατί θέλω πολύ να γίνει αυτή η δοκιμή!
Edit:
Εδω μπορείς να δεις και να πειραξεις την αρχική συνταγη χωρίς να εγκαταστήσεις το image μου.:
https://github.com/archphile/recipe/blob/master/scripts/archphile-create-script-rpi
Το μόνο που θέλει το παραπάνω είναι μια καθαρή ArchlinuxARM εγκατάσταση.
--- Αυτόματη συγχώνευση μηνύματος ---
Aυτό που ξέχασα να αναφέρω παραπάνω και είναι προς κάθε ενδιαφερόμενο για το rpi, είναι πως αν σκοπεύετε να το χρησιμοποιήσετε με κάποιο wifi dongle, είναι πραγματικά ζαριά.
Υπάρχουν dongles που θα συνεργαστούν και υπάρχουν και dongles που είναι για πέταμα.
Εγώ με το μοναδικό dongle που αγόρασα για να κάνω δοκιμή, δεν έβγαλα ποτέ άκρη στο θεμα της μουσικής αναπαραγωγής. Παράλληλα όμως υπάρχουν άτομα με άλλα dongles που έιναι 100% ευχαριστημένα.