Difference between revisions of "Troubleshooting"

From Open Sound System
Jump to: navigation, search
m (I hear noises!)
(I hear noises!)
Line 32: Line 32:
  
 
== I hear noises! ==
 
== I hear noises! ==
 +
*Does this happen only with a particular program? If so, it might be trying to force a too small fragment size or using OSS indirectly (e.g. via a sound server like esd). The [[Configuring_Applications_for_OSSv4 | Configuring Applications for OSSv4]] page has tips on how to reconfigure some programs to use OSS properly.
 
*Many soundcard's hardware requires output mixers be set to less than maximum (even down to 60% with a few cards).
 
*Many soundcard's hardware requires output mixers be set to less than maximum (even down to 60% with a few cards).
 
*Set vmix0-src to an higher setting using a mixer program like ossxmix.
 
*Set vmix0-src to an higher setting using a mixer program like ossxmix.
*Check if there's an input mixer control which is unmuted in the mixer, and try muting it. An unmuted input may make noise if it is unconnected to anything or if input cable is noisy.
+
*Check if there's an input mixer control which is unmuted in the mixer, and try muting it. An unmuted input may make noise if it is unconnected to anything or if the input cable is noisy.
*Check in osstest/ossinfo whether there's another output node which doesn't have noise. If there is such a node, you may wish to [[Tips_And_Tricks#Changing_the_default_sound_output| make it the default output]].
+
*Check with osstest command whether there's another output node which doesn't have noise. If there is such a node, you may wish to [[Tips_And_Tricks#Changing_the_default_sound_output| make it the default output]].
 
*Is the cable from the soundcard to the speakers connected correctly? Could it be too long?
 
*Is the cable from the soundcard to the speakers connected correctly? Could it be too long?
 
*Build and use OSS using the source from the public hg repository, perhaps a newer version will work better.
 
*Build and use OSS using the source from the public hg repository, perhaps a newer version will work better.

Revision as of 06:29, 30 August 2009

This page provide general troubleshooting tips. If these cannot help in solving a problem with OSS, you may wish to consult the 4front support forum.


General

  • Always read your driver's manpage. You can get the name of driver from 'ossinfo'.
  • Always test with osstest.
  • When consulting the forum, attach the output of 'ossinfo -v3' and 'ossmix'.

How do I...

  • Control volume, change mixer settings - ossmix (command line), ossxmix (GUI)
  • Record and play sound - ossrecord, ossplay (though you should probably use more dedicated software like Audacity)
  • Start and shut down OSS - soundon, soundoff (both require root). Restarting OSS is just a matter of "soundoff" followed by "soundon".
  • Save and restore volume and other mixer settings - savemixer (saving requires write permissions for mixer.save file, or using '-f' switch to select another filename)
  • Build OSS from source
  • Other Tips And Tricks

I can't hear any sound!

  • Did OSS load at all? Run the command to examine loaded modules specific to your OS (lsmod, kldstat, etc.) to find out.
  • Does osstest work?
  • Are the outputs muted in the mixer?
  • Do the device nodes (/dev/dsp, /dev/oss directory, etc.) exist (osstest should complain if they don't)? If not, restarting OSS would probably create them. However, the following two commands should create them without need to restart:
    sudo ossdevlinks -r -v
    sudo ossdetect -d -v
  • Is the default output (the one linked to /dev/dsp) the one connected / outputting sound in osstest? If not, see here how to change that.
  • HDAudio: Are the jacks detected by OSS as output, actually the jacks connected to the speaker?
  • HDAudio: Some of these devices needs to be set up in the mixer before they can play sound. Run "osstest -l" in the background and "ossxmix" in the foreground. Change settings in the mixer until you hear a sound or exhaust all settings. A similar technique can be used for testing recording (using "ossrecord - | ossplay -" instead of osstest).
  • Ich: Some computers have an inverted external amplifier settings, so setting ac97_amplifier to 0 in $OSSLIBDIR/conf/osscore.conf would help. Gateway notebooks (Gateway 4542GP, 4028GZ, 7326GZ) in particular often have this problem.
    • $OSSLIBDIR is almost always /usr/lib/oss, and can be determined exactly by the contents of /etc/oss.conf.
  • Is this an hardware issue?
    • Are the speakers muted?
    • Is the soundcard connected correctly to the speakers?
    • Do other drivers available for your OS (e.g. ALSA for Linux, FreeBSD native) work?

I hear noises!

  • Does this happen only with a particular program? If so, it might be trying to force a too small fragment size or using OSS indirectly (e.g. via a sound server like esd). The Configuring Applications for OSSv4 page has tips on how to reconfigure some programs to use OSS properly.
  • Many soundcard's hardware requires output mixers be set to less than maximum (even down to 60% with a few cards).
  • Set vmix0-src to an higher setting using a mixer program like ossxmix.
  • Check if there's an input mixer control which is unmuted in the mixer, and try muting it. An unmuted input may make noise if it is unconnected to anything or if the input cable is noisy.
  • Check with osstest command whether there's another output node which doesn't have noise. If there is such a node, you may wish to make it the default output.
  • Is the cable from the soundcard to the speakers connected correctly? Could it be too long?
  • Build and use OSS using the source from the public hg repository, perhaps a newer version will work better.

I can't get multiple sound clients to play on the same device!

  • OSSv4.0 for the FreeBSD platform doesn't support multiple clients to same device node on /dev/dsp device node (OSSv4.0 does support this on other platforms like Linux). It instead splits the mixing to separate devices: /dev/dsp1, /dev/dsp2, etc. Either set programs to use separate devices, or use a sound server like aRts, esd, etc., or upgrade to v4.1 which supports multiple clients on FreeBSD 7.1 and up.
  • Is vmix loaded and attached to the device? (Check if 'ossinfo -v3' shows more than one engine for the output device).
    • In OSS 4.0, (Doesn't apply to build 1016:) If vmix is not attached, make sure vmix1_masterdev in $OSSLIBDIR/conf/vmix.conf is set to the output device's device index (this can be determined via 'ossinfo -a'). ($OSSLIBDIR is typically /usr/lib/oss).
    • In OSS 4.1, 'vmixctl' command is used instead of vmix.conf (requires root permissions).
  • Are the vmix controls in ossxmix unmuted?

I can't get multichannel/5.1 output to play!

  • Some configurations require more than one cable connected to the speaker set. Make sure that as many cables as required are connected.
  • Some devices have the multich output at a different device node than the regular one, use /dev/dsp_multich rather than /dev/dsp as /dev/dsp_multich is always linked to the correct device. In the case of Dolby digital/AC3, /dev/dsp_ac3 is the best device instead of /dev/dsp_multich. It is possible that the node /dev/dsp_multich is symlinked to doesn't have vmix attached, so multiple clients won't play. See the tip above for how to fix this.
  • Some devices require changing settings in the mixer (e.g. by 'ossmix' or 'ossxmix') to work.
  • sblive/audigy devices may require use of the sblive_digital_din (or audigy_digital_din) option in the device configuration file - see driver manpage.
  • In recent OSS versions (4.1 and OSS 4.0 build 1016 and above), set vmix0-channels to "Multich" in the mixer.
    • In versions of OSS before 4.0 build 1016, set vmix1_multich=1 in $OSSLIBDIR/conf/vmix.conf ($OSSLIBDIR is typically /usr/lib/oss).

I can't get sound/volume control from an application!