Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 Feb 2007 08:39:44 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        freebsd-multimedia@freebsd.org
Cc:        multimedia@freebsd.org, "M. Warner Losh" <imp@bsdimp.com>
Subject:   Re: Sound Blaster USB?
Message-ID:  <200702170839.44698.hselasky@c2i.net>
In-Reply-To: <20070216.151321.43011330.imp@bsdimp.com>
References:  <20070216.151321.43011330.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

--HPS



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