From Open Sound System
Revision as of 02:12, 1 October 2011 by (Talk) (I can't hear any sound!)

Jump to: navigation, search

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.


  • 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'.
  • A newer version of OSS may work better. Check if your version is the latest, and update if needed.

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 file, or using '-f' switch to select another filename)
  • Build OSS from source
  • Other Tips And Tricks

Extremely hlepufl article, please write more.

I can't record!

  • Recording can be tested by using the "ossrecord" program supplied with OSS. "ossrecord - | ossplay -" can be used to set up an echo useful for testing.
  • Make sure the mic or cable used for input is connected and functional.
  • Check that the proper recording source is set as the input. Some typical cases:
    • If the driver is oss_ich, you may have to check the "rec" button for the proper input
    • With oss_audigyls, there's a combobox to select between "mic"/"aux"/"line" inputs.
    • With oss_hdaudio, "input-mix" or "select" or "rec1" comboboxes might do this, and the mode of the jack where the input is at should be set to "input". oss_hdaudio mixer is complicated and not entirely consistent between different codecs/devices. You may have to experiment with it.
  • Ensure that recording volume is not muted. Note that recording volume is often not the volume of the jack/port where the input is at (these typically set passthrough volume).
    • For example, in AC97-based devices, recording volume is typically set by "igain" slider rather than "mic" or "line-in" etc.
  • If there are several input nodes (this is visible in ossinfo output), you may have to use a non-default one. e.g. "ossrecord -d/dev/oss/oss_hdaudio0/pcmin1" etc.

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?

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. This can be fixed using the "vmixctl" command as in the tip above.
  • In recent OSS versions (4.1 and OSS 4.0 build 1016 and above), vmix0-channels needs to be set to "Multich" in the mixer if vmix is attached to the multichannel output (vmix being attached can be checked with 'ossinfo' output. If you don't know what this means, just test with and without this setting).
    • In versions of OSS before 4.0 build 1016, set vmix1_multich=1 in $OSSLIBDIR/conf/vmix.conf ($OSSLIBDIR is typically /usr/lib/oss).
  • Some devices require changing settings in the mixer (e.g. by 'ossmix' or 'ossxmix') to work in this mode.
  • sblive/audigy devices may require use of the sblive_digital_din (or audigy_digital_din) option in the device configuration file - see driver manpage (e.g. "man oss_audigyls").

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