Audio Cape with Beaglebone Black

It’s been a month since it was mentioned that the audio cape compatibility problem was being looked at by “Darren”. In addition, there have been no updates since 6-20 for the flasher (BBB-eMMC-flasher-2013.06.20.img.xz). Has there been any progress on the BBB lately? Thanks.

Audio cape still does not work from what I can see. Darren never was working on it. He is working on HDMI issues

I suggest you contact support@beagleboardtoys.com direct for help with their product.

Gerald

Hi,

Darren has been working on restoring support for the audio cape, this
is done by reworking the HDMI support patch. There is nothing wrong
with the audio cape or the support for it in mainline 3.8, it is the
patch that adds support for HDMI on the beaglebone black that was
implemented in a way that didn't take other audio peripherals into
account. Darren has reworked this and sent an updated HDMI patch that
restored audio support, but he wanted to do some more work on it
before considering it done. Haven't heard since then, I'll ping him
and check if he is still working on it.

Regards
Daniel

Excellent. I did send BeagleBoardToys an email asking about any progress but I don’t expect a response till the weekend is over. I’m glad to hear from Daniel that there is indeed work still being done and that it seems to be going well. Thanks for your reply Daniel, and thanks to Gerald for providing so much support on the lists here. It’s greatly appreciated.

-Seth

The email I received from BeagleBoardToys said that Circuitco is not currently working on making the Audio cape compatible with the BBB and that they are waiting for some patches for the 3.11 kernel release. This seems to correspond with what Daniel mentioned here. The email didn’t give an estimate as to when they were expecting the patches to be released. However, since previous BBB image updates have been posted three or four times a month in the recent past I can only assume it shouldn’t take too much longer. I was initially trying to decide whether to attempt the patch Daniel posted above or if I should instead wait for a ‘proper fix’. I guess for now I’ll just wait a bit longer.

-Seth

Daniel:

I’m curious as to whether you can shed any additional light on BBB compatibility with the audio cape. I’m trying to prepare for a course that will run in the spring, and we’re looking to use audio, lcd screen, and camera cape. I’d like to go with the black for cost reasons, but I’m not sure of the support for the devices.

Walt

If anyone is having a problem with their audio cape quality try applying this patch to your 3.8 kernel and let me know if it solves your problem. I have tested it and it seems to do the job for me but I would like to get input from others.

0001-Make-the-McASP-code-generic-again-remove-all-hardcod.patch (5.94 KB)

I am not sure about the other capes but the Audio Cape was working well until a fix was made for HDMI. After that it seems that the audio quality degraded. The solution for some was to not include the HDMI patches in their kernel build. The patch above will allow for the inclusion of the HDMI patches in the kernel build and fix audio quality from the cape.

Cody,

Noob question but how did you apply to the patch to the kernel? I’m following Derek Molloy’s bitbake method to compile the BB kernel but haven’t found an easy way to insert the patch file to it. I gave up trying to solve the static/noise issue on the cape, it only works 1/10th of the time with clean audio from my BB A5C.

YSK

Cody,

Noob question but how did you apply to the patch to the kernel? I’m following Derek Molloy’s bitbake method to compile the BB kernel but haven’t found an easy way to insert the patch file to it. I gave up trying to solve the static/noise issue on the cape, it only works 1/10th of the time with clean audio from my BB A5C.

YSK

I am not sure about the other capes but the Audio Cape was working well until a fix was made for HDMI. After that it seems that the audio quality degraded. The solution for some was to not include the HDMI patches in their kernel build. The patch above will allow for the inclusion of the HDMI patches in the kernel build and fix audio quality from the cape.

My guess is you are building the V3.8 kernel. You will find the recipe in
/sources/meta-beagleboard/common-bsp/recipes-kernel/linux/
The kernel recipe is called "linux-mainline_3.8.bb”
Simply add your patch file to the list (don’t forget to include the trailing ) and then add your patch file to the appropriate folder.

BTW, it is probably easier to use Robert Nelson’s linux-dev (http://github.com/RobertCNelson/linux-dev). You simply add your patch to the patch.sh file and then place your patch in the appropriate patches folder.

Regards,
John

Thanks John,

Iḿ building RCNelsonś linux-dev as we speak with the patch applied in the right folder. However, for the bitBake method, i was bit-baking the cloud9 image which is under meta-ti. What recipe should i edit for the patch file in that case? Would it be one of the kernel recipes under meta-ti or does it still use the mainline_3.8 recipe? Thanks for the tip.

YSK

So, while trying to build ubuntu from RCNelsonś 3.12 branch on linux-dev, i get the following error when i run build_kernel.sh

error: patch failed: sound/soc/davinci/davinci-evm.c:380
error: sound/soc/davinci/davinci-evm.c: patch does not apply
error: patch failed: sound/soc/davinci/davinci-mcasp.c:498
error: sound/soc/davinci/davinci-mcasp.c: patch does not apply
Patch failed at 0001 Make the McASP code generic again, remove all hardcoding
When you have resolved this problem run “git am --resolved”.
If you would prefer to skip this patch, instead run “git am --skip”.

Any ideas?

Yeap... What did you change.. What's the top commit in the 3.12
branch, what git version, what host os?

As it work here..

Regards,

Hi Robert,

Here are the steps i took:

  1. Edited the patch.sh file manually and made the following change:

general_fixes () {
echo “dir: general-fixes”
${git} “${DIR}/patches/general-fixes/0001-add-PM-firmware.patch”
#Nak! use zImage + dtb file…
#${git} “${DIR}/patches/general-fixes/0002-ARM-CUSTOM-Build-a-uImage-with-dtb-already-appended.patch”
${git} “${DIR}/patches/general-fixes/0003-defconfig-add-for-mainline-on-the-beaglebone.patch”
${git} “${DIR}/patches/general-fixes/0001-Make-the-McASP-code-generic-again-remove-all-hardcod.patch”

}
2. Copied the patch file to the general-fixes directory

  1. Run build_kernel.sh

the git log output is:

v-am33x-v3.12$ git log
commit 125488871b2b08c25b8b53fc6f546374a5b150e4
Author: Robert Nelson

My host OS is ubuntu , 3.8.0-33-generic and the git version is 1.7.9.5

So.. I'm confused.. You randomly added a patch to patch.sh without
making sure it patched "cleanly" and now it's my script's fault??

Clean up your patch..

Regards,

Hi Robert,

no fault of patch.sh or your script, my OP was for cody who posted a patch for the audio issues on BBB, iḿ trying to figure out a way to get that patch installed /working–and thats where iḿ stuck

run ./build_kernel.sh without patch..

cd KERNEL
patch -p1 < xyz
fixup *.rej, meld/gedit/etc..

git commit -a -m 'somethign' -s
git format-patch -1
mv to end of patch.sh script..

Regards,

Thanks Robert for helping out, the patch provided by cody fails, i wonder if anyone else has got it working and specifically under what conditions?

patch -p1 < /home/yasirk/Angstrom/0001-Make-the-McASP-code-generic-again-remove-all-hardcod.patch
patching file sound/soc/davinci/davinci-evm.c
Hunk #1 succeeded at 129 (offset -17 lines).
Hunk #2 FAILED at 406.
Hunk #3 FAILED at 424.
Hunk #4 FAILED at 447.
Hunk #5 FAILED at 486.
Hunk #6 FAILED at 509.
5 out of 6 hunks FAILED – saving rejects to file sound/soc/davinci/davinci-evm.c.rej
patching file sound/soc/davinci/davinci-mcasp.c
Hunk #1 succeeded at 485 (offset 1 line).
Hunk #2 FAILED at 502.
Hunk #3 FAILED at 753.
Hunk #4 FAILED at 763.
3 out of 4 hunks FAILED – saving rejects to file sound/soc/davinci/davinci-mcasp.c.rej

This is normal kernel patch backporting.. First compare
sound/soc/davinci/davinci-evm.c & sound/soc/davinci/davinci-evm.c.rej
and fix it up..

Regards,

Yes, I have used it and it works under the conditions that Cody stated it
should be used under (the 3.8 kernel). Seems like you are trying to apply
it on the 3.12 kernel, which would require some work on your side.

Regards
Daniel