Difference between revisions of "ECE497 Lab11 Using the Open Sound System (OSS)"

From eLinux.org
Jump to: navigation, search
Line 19: Line 19:
  
 
You will still need the symbolic link from part 5, and make sure to update the file paths.
 
You will still need the symbolic link from part 5, and make sure to update the file paths.
 +
 +
== Problems and Solutions ==
 +
I find that running
 +
<pre>
 +
cat /dev/dsp > /dev/dsp
 +
</pre>
 +
 +
gave me this error:
 +
<pre>
 +
-sh: can't create /dev/dsp: Device or resource busy
 +
</pre>
 +
 +
This did not seem to cause problems until part b of the lab. I found [http://linux.dsplabs.com.au/lsof-grep-snd-how-to-free-a-linux-sound-device-p25/ this website] to solve my problem. Apparently, the problem is that pulseaudio is using /dev/dsp, and refuses to give it up. When I killed pulseaudio (the rude way, not the graceful way), then running cat /dev/dsp > /dev/dsp worked, and my executable worked. I don't know what killing pulseaudio does to the system, I haven't noticed any ill-effects yet...

Revision as of 13:47, 27 April 2011


Be sure you have done Lab 10 before this lab so all your software is set up.

Lab 11/6 - Using the OSS Driver

Lab 11 is Lab 6 is on pages 171-186 of DaVinci-OMAP_Workshop_v2.0.pdf. In doing this lab you will get audio from the line-in jack on the Beagle and sent it out the speaker jack.

  • Go to the class dfs site and get:
    • setpaths.mak
    • setpaths.sh
  • Move the setpaths files in the workshop directory to another location.
host $ cd workshop
host $ mv setpaths.sh setpaths.sh.orig
host $ mv setpaths.mak setpaths.mak.orig
  • Copy the setpaths files you got from DFS into the workshop directory. In Lab 11/6 you will edit these files so they are correct.

You will still need the symbolic link from part 5, and make sure to update the file paths.

Problems and Solutions

I find that running

cat /dev/dsp > /dev/dsp

gave me this error:

-sh: can't create /dev/dsp: Device or resource busy

This did not seem to cause problems until part b of the lab. I found this website to solve my problem. Apparently, the problem is that pulseaudio is using /dev/dsp, and refuses to give it up. When I killed pulseaudio (the rude way, not the graceful way), then running cat /dev/dsp > /dev/dsp worked, and my executable worked. I don't know what killing pulseaudio does to the system, I haven't noticed any ill-effects yet...