I have a Corewind WiFiG25 board based on the AT91SAMG25 400 MHz following Arm processor running Linux 3.6.9 built using Buildroot. I am attempting to play mp3 files using mpg123 connected to an ALSA device consisting of a USB connected TI PCM2900C CODEC. The files play, but they "crackle" during playback.

I suspected the processor of being overloaded playing the files, but the top command reveals less than 20% CPU utilization. To further test this hypothesis I made the CPU very busy to see if the issue got worse. I made the CPU busy using the following command

cat /dev/zero > /dev/null

This consumed 95% or more of the CPU. The issue did not get worse, but instead the audio noise vanished completely and the audio was great. I then suspected power management issues were involved.

I configured the kernel without power management, but that did not improve audio performance.

I have searched extensively for other ideas or approaches in an effort to validate my latest thinking, but to no avail. Lots of discussion on how to enable power-management and audio issues on linux desktop systems, but not this sort of embedded environment.

Any thoughts, hypotheses, test, etc. you might think of would be welcome. I would rather not leave the cat /dev/zero > /dev/null in my final system :)


Try a more up to date Linux kernel (like the latest version), and if the problem persists, report the bug to the maintainers of this platform in the mainline Linux kernel.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.