Hi,
this is just an update for those who use the older Wolfson Audio Card. You can download it here or simply fire up your Raspberry Pi and install it directly. The kernel sources are from Cirrus Logic’s 3.12.33 kernel. This kernel is patched with the realtime preemption patches from https://www.kernel.org/pub/linux/kernel/projects/rt/ So now you should have a realtime linux system running on your Raspberry Pi for making LIVE MUSIC or other things.
THIS WON’T WORK FOR THE NEW RASPBERRY PI 2!
The kernel is running on a standard Raspberry Pi Debian Wheezy image 2015-02-16 which you can download from http://www.raspberrypi.org/downloads/
On Raspberry Pi, open a shell and type
Then install it with
dpkg -i linux-image-3.12.33-rt47-georg_3.12.33-rt47-georg-1_armhf.deb
sudo mv /boot/vmlinuz-3.12.33-rt47-georg /boot/kernel-rt-georg.img
Thanks for Ragnar Jensen’s patch for memory mapped I/O support to the Wolfson/Cirrus card.
A slightly modified version of this patch can be found here.
Change boot options in /boot/config.txt with
sudo nano /boot/config.txt
and change OR add this line:
kernel=kernel-rt-georg.img
Open /etc/modules with
sudo nano /etc/modules
and change OR add these lines:
spi-bcm2708
i2c-bcm2708
arizona-spi
snd-soc-wm5102
snd-soc-pcm5102a
snd-soc-wm8804
snd-soc-rpi-wsp
snd-soc-rpi-wsp
bcm2708-rng
snd-bcm2835
gpio_arizona
arizona_micsupp
snd_soc_bcm2708_i2s
snd-soc-arizona
snd-soc-wm-adsp
snd-soc-wm5102
snd-soc-rpi-wsp
Open /etc/modprobe.d/raspi-blacklist.conf with
1 2 3 4 |
<strong>sudo nano /etc/modprobe.d/raspi-blacklist.conf</strong> and change OR add these lines: |
1 2 3 4 5 6 7 8 9 |
<strong><code>#blacklist spi-bcm2708 #blacklist i2c-bcm2708 blacklist snd-soc-pcm512x #blacklist snd-soc-wm8804 softdep arizona-spi pre: arizona-ld </code></strong><code>Op</code><code>en /boot/cmdline.txt</code><code> with</code><code> </code><code><strong>sudo nano </strong></code><strong><code>/boot/cmdline.txt </code></strong> |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
and change OR add this line to the other boot params</code><code> <strong>sdhci_bcm2708.enable_llm=0</strong> Reboot with </code><code><strong>sudo shutdown -r now </strong> If everything runs o.k. <strong>uname -r</strong> should show <strong>3.12.33-rt47-georg</strong> Have fun. |
1 |
It is possible with additioanl power source. Read the specs, please.
Finally good audio quality for my Raspberry Pi. The functionality to attach loudspeakers directly to it would have been fantastic though!
Hi Justin,
sorry for answering so late. But I have been rather busy during the last weeks.
So, the simple answer to your question is: Modify or add it in
/boot/cmdline.txt on your sd card.
Thanks for this, it looks very useful except for the last incomprehensible instruction:-
and change OR add this line to the other boot params
sdhci_bcm2708.enable_llm=0
-- I'm not very good with linux, just how do we change the boot params?
Nobody on element14 (http://www.element14.com/community/thread/40498/l/rpi-b-cirrus-audio-card-linphonecli?displayFullThread=true) knows it, so please wait for an answer there.
I have installed wolfson audio card for 40 pin. Kernel compiled, I am able to record and play sound.
*****
card 0: sndrpiwsp [snd_rpi_wsp], device 0: WM5102 AiFi wm5102-aif1-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
*****
But very big issue for me is that I can’t start working this sound card with – linphone application. When I dial number from linphonec, it shows me error message:
*****
ortp-error-alsa_open_r: Error setting params for more than 3 seconds
*****
Now I don’t know where is the issue.
Best regards,
Lukas.
Thanx for info. How long didn’t you reach my domain?
How long did you try?
its up now – thanks very much
Georg
Looking forward to trying this with my 9 year old Pi enthusiast but we can’t seem to get to your server.
Is it down for some reason.
http://lxr.free-electrons.com/source/sound/soc/codecs/wm5102.c
should be the right place, I guess.
hi
i need the source code for this driver wm5102.c plz
You didn’t get me right. I’m involved in some other hard- and software projects, so just don’t wait, or you will be „waiting for Godot„.
If you do something even only in November, I wait for your efforts. Looking forward to it!
Some other people are already working on it, but there seem to be freezes with cyclictest on RPI2 with the 3.18 preempt kernel.
Unfortunately time is rare. As I am going to Berlin next month again there will be o support from until after that date (early beginning of November 2015). Sorry.
Is there a chance that you revisit the project and make a working 3.18 kernel for Raspbian Jessie on the Raspberry Pi 2?
Unfortunately, the RPi with the Cirrus card is the only platform which allows for audio out AND in. Otherwise, I would also get an Odroid C1+. Things like [OpenOB](http://jamesharrison.github.io/openob/index.html) won’t work with another solution like audio via USB.