Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Feb 2007 01:49:43 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        hselasky@c2i.net
Cc:        freebsd-multimedia@freebsd.org, multimedia@freebsd.org
Subject:   Re: Sound Blaster USB?
Message-ID:  <20070217.014943.1586001315.imp@bsdimp.com>
In-Reply-To: <200702170839.44698.hselasky@c2i.net>
References:  <20070216.151321.43011330.imp@bsdimp.com> <200702170839.44698.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200702170839.44698.hselasky@c2i.net>
            Hans Petter Selasky <hselasky@c2i.net> writes:
: On Friday 16 February 2007 23:13, M. Warner Losh wrote:
: > I have a sound blaster usb that I just bought.  When I connect it to
: > my computer I get the following:
: >
: > uaudio0: <Creative Technology SB Live! 24-bit External, class 0/0, rev
: > 1.10/1.00, addr 2> on uhub0 uaudio0: audio rev 1.00
: > pcm0: <USB Audio> on uaudio0
: >
: > When I'm playing music with xmms2d, I get no sounds out the head-phone
: > portion of this device.  However, xmmd status claims the music is
: > playing.  Here's all the status info I could find.
: >
: > mixer reports:
: > Mixer vol      is currently set to  75:75
: > Mixer pcm      is currently set to  75:75
: > Mixer speaker  is currently set to  75:75
: > Mixer line     is currently set to  75:75
: > Recording source: mic
: >
: > sez:
: > /dev/sndstat FreeBSD Audio Driver (newpcm: 32bit)
: > Installed devices:
: > pcm0: <USB Audio> at ? kld snd_uaudio (1p/1r/1v channels duplex default)
: >         mode 1:(output) 2ch, 16/16bit, pcm, 44100Hz
: >         mode 2:(output) 2ch, 24/24bit, pcm, 44100Hz
: >         mode 3:(output) 4ch, 16/16bit, pcm, 44100Hz
: >         mode 4:(output) 4ch, 24/24bit, pcm, 44100Hz
: >         mode 5:(output) 6ch, 16/16bit, pcm, 44100Hz
: >         mode 6:(output) 6ch, 24/24bit, pcm, 44100Hz
: >         mode 7:(output) 2ch, 16/16bit, pcm, 48000Hz
: >         mode 8:(output) 2ch, 24/24bit, pcm, 48000Hz
: >         mode 9:(output) 4ch, 16/16bit, pcm, 48000Hz
: >         mode 10:(output) 4ch, 24/24bit, pcm, 48000Hz
: >         mode 11:(output) 6ch, 16/16bit, pcm, 48000Hz
: >         mode 12:(output) 6ch, 24/24bit, pcm, 48000Hz
: >         mode 13:(output) 2ch, 16/16bit, pcm, 96000Hz
: >         mode 14:(output) 2ch, 24/24bit, pcm, 96000Hz
: >         mode 1:(input) 2ch, 16/16bit, pcm, 44100Hz
: >         mode 2:(input) 2ch, 24/24bit, pcm, 44100Hz
: >         mode 3:(input) 2ch, 16/16bit, pcm, 48000Hz
: >         mode 4:(input) 2ch, 24/24bit, pcm, 48000Hz
: >         mode 5:(input) 2ch, 16/16bit, pcm, 96000Hz
: >         mode 6:(input) 2ch, 24/24bit, pcm, 96000Hz
: >
: > % sysctl hw.snd
: > hw.snd.report_soft_formats: 1
: > hw.snd.latency: 5
: > hw.snd.latency_profile: 1
: > hw.snd.feeder_buffersize: 16384
: > hw.snd.feeder_rate_min: 1
: > hw.snd.feeder_rate_max: 2016000
: > hw.snd.feeder_rate_round: 25
: > hw.snd.verbose: 1
: > hw.snd.default_unit: 0
: > hw.snd.maxautovchans: 4
: > % sysctl dev.pcm
: > dev.pcm.0.%desc: USB Audio
: > dev.pcm.0.%driver: pcm
: > dev.pcm.0.%parent: uaudio0
: > dev.pcm.0.buffersize: 16384
: > dev.pcm.0.vchans: 1
: > dev.pcm.0.vchanrate: 48000
: > dev.pcm.0.vchanformat: s16le
: > % sysctl hw.snd.verbose=4
: > % cat /dev/sndstat
: > more /dev/sndstat
: > FreeBSD Audio Driver (newpcm: 32bit)
: > Installed devices:
: > pcm0: <USB Audio> at ? kld snd_uaudio (1p/1r/1v channels duplex
: > default)
: >         mode 1:(output) 2ch, 16/16bit, pcm, 44100Hz
: >         mode 2:(output) 2ch, 24/24bit, pcm, 44100Hz
: >         mode 3:(output) 4ch, 16/16bit, pcm, 44100Hz
: >         mode 4:(output) 4ch, 24/24bit, pcm, 44100Hz
: >         mode 5:(output) 6ch, 16/16bit, pcm, 44100Hz
: >         mode 6:(output) 6ch, 24/24bit, pcm, 44100Hz
: >         mode 7:(output) 2ch, 16/16bit, pcm, 48000Hz
: >         mode 8:(output) 2ch, 24/24bit, pcm, 48000Hz
: >         mode 9:(output) 4ch, 16/16bit, pcm, 48000Hz
: >         mode 10:(output) 4ch, 24/24bit, pcm, 48000Hz
: >         mode 11:(output) 6ch, 16/16bit, pcm, 48000Hz
: >         mode 12:(output) 6ch, 24/24bit, pcm, 48000Hz
: >         mode 13:(output) 2ch, 16/16bit, pcm, 96000Hz
: >         mode 14:(output) 2ch, 24/24bit, pcm, 96000Hz
: >         mode 1:(input) 2ch, 16/16bit, pcm, 44100Hz
: >         mode 2:(input) 2ch, 24/24bit, pcm, 44100Hz
: >         mode 3:(input) 2ch, 16/16bit, pcm, 48000Hz
: >         mode 4:(input) 2ch, 24/24bit, pcm, 48000Hz
: >         mode 5:(input) 2ch, 16/16bit, pcm, 96000Hz
: >         mode 6:(input) 2ch, 24/24bit, pcm, 96000Hz
: >         [pcm0:play:0:dsp0.p0]: spd 48000, fmt 0x10000010, flags 0x00101020,
: > 0x00000040 interrupts 450, underruns 0, feed 451, ready 0
: > [b:16384/2048/8|bs:131072/65536/2] {userland} -> feeder_vchan(0x10000010)
: > -> feeder_volume -> {hardware} [pcm0:record:0:dsp0.r0]: spd 0, fmt
: > 0x00000000/0x00000008,flags 0x00000000, 0x00000000 interrupts 0, overruns
: > 0, feed 0, hfree 16384, sfree 0[b:16384/8192/2|bs:0/0/0] {hardware} ->
: > feeder_root(0x00000000) -> {userland}
: >         pcm0:play:0:dsp0.p0[pcm0:virtual:0:dsp0.v0]: spd 44100/48000, fmt
: > 0x10000010, flags 0x10003030, 0x00000010, pid 30040 interrupts 0, underruns
: > 0, feed 451, ready 131072 [b:0/0/0|bs:131072/4096/32] {userland} ->
: > feeder_root(0x10000010) -> feeder_rate(44100 -> 48000) -> {hardware}
: >
: > File Versions:
: > $FreeBSD: src/sys/dev/sound/isa/sndbuf_dma.c,v 1.3 2005/01/06 01:43:17 imp
: > Exp $ $FreeBSD: src/sys/dev/sound/pcm/dsp.c,v 1.101 2006/12/07 07:48:20
: > ariff Exp $ $FreeBSD: src/sys/dev/sound/pcm/vchan.c,v 1.27 2007/02/01
: > 09:30:01 ariff Exp $ $FreeBSD: src/sys/dev/sound/pcm/feeder_rate.c,v 1.19
: > 2006/11/26 12:24:05 ariff Exp $ $FreeBSD: src/sys/dev/sound/pcm/buffer.c,v
: > 1.30 2007/02/01 09:46:03 ariff Exp $ $FreeBSD:
: > src/sys/dev/sound/pcm/sound.c,v 1.108 2007/02/02 13:44:09 joel Exp $
: > $FreeBSD: src/sys/dev/sound/pcm/feeder_fmt.c,v 1.21 2006/11/26 12:24:05
: > ariff Exp $ $FreeBSD: src/sys/dev/sound/pcm/ac97_patch.c,v 1.7 2007/02/04
: > 06:52:33 joel Exp $ $FreeBSD: src/sys/dev/sound/pcm/sndstat.c,v 1.23
: > 2006/11/26 12:24:06 ariff Exp $ $FreeBSD: src/sys/dev/sound/pcm/ac97.c,v
: > 1.64 2006/11/26 12:24:05 ariff Exp $ $FreeBSD:
: > src/sys/dev/sound/pcm/mixer.c,v 1.56 2006/11/26 12:24:05 ariff Exp $
: > $FreeBSD: src/sys/dev/sound/pcm/channel.c,v 1.113 2006/12/07 07:48:58 ariff
: > Exp $ $FreeBSD: src/sys/dev/sound/pcm/feeder_volume.c,v 1.3 2006/11/26
: > 12:24:05 ariff Exp $ $FreeBSD: src/sys/dev/sound/pcm/feeder.c,v 1.39
: > 2007/01/06 19:11:48 netchild Exp $ $FreeBSD: src/sys/dev/sound/pcm/fake.c,v
: > 1.17 2006/11/26 12:24:05 ariff Exp $
: >
: > # subsequent listings of /dev/sndstat see interrupts and feed counters
: >   increasing
: >
: > ideas?
: 
: You could compile the kernel with "options USB_DEBUG". Then there is a 
: sysctl "hw.usb.uaudio.debug" that you can set.
: 
: Else you could also try compiling a kernel from the USB perforce project, and 
: see if that works better.

The root problem isn't in the sound system or usb system, per se.  The
root problem turns out to be that the volume button on this device
will mute things if you press it, but won't unmute it if you press it
again or spin it.  There are special features that uaudio doesn't yet
support for this device.

Once I started keeping my paws off that button, things just worked...

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070217.014943.1586001315.imp>