pavement

Sound card: checking drivers

From FreeBSDwiki
Revision as of 10:36, 3 August 2005 by Jimbo (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

If you aren't sure which individual driver your sound card requires, you may find this shell script useful - it will iterate through each driver present in your system, check each to see if it works, and let you know what it found out when it's done.


#!/bin/sh # Copyright (c) 2004, Romain TARTIERE <romain-tartiere@astase.com> # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice unmodified, this list of conditions, and the following # disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # Root ? expr `id -u` = 0 > /dev/null || { echo "Error: This utility should only be run as root." exit 1 } # Any driver loaded ? kldstat | grep 'snd_*' > /dev/null 2>&1 && { echo "Error: No sound driver should be loaded." exit 1 } cd /boot/kernel Result=''; # Drivers that do something Cnt=`ls snd_* | wc -l` # Drivers count echo -n '[Trying sound drivers -' $Cnt 'drivers found ' for i in snd_* do echo -n '.' kldload $i [ -e /dev/audio0.0 ] && Result="$Result $i" kldunload $i done echo ' done]' # Print result echo "===> Usable sound driver(s) : $Result" # That's all folks !

Personal tools