Date: Mon, 22 Apr 2013 08:20:06 +0200 From: Hans Petter Selasky <hps@bitfrost.no> To: Craig Leres <leres@ee.lbl.gov> Cc: freebsd-multimedia@freebsd.org Subject: Re: Dragonfly USB DAC under 9.1-RELEASE Message-ID: <5174D696.5080009@bitfrost.no> In-Reply-To: <51743200.7010209@ee.lbl.gov> References: <51732A63.9010001@ee.lbl.gov> <51740C56.3000907@bitfrost.no> <51743200.7010209@ee.lbl.gov>
next in thread | previous in thread | raw e-mail | index | archive | help
On 04/21/13 20:37, Craig Leres wrote: > First let me say that I did a quick install of FreeBSD 10.0-CURRENT > (r249439) onto a spare system yesterday and was able to play various > source material with no glitches. Then I back ported the 10.0-CURRENT > /sys/dev/sound tree (r249715) to my 9.1-RELEASE system and this solved > my remaining audio issues. There were bug fixes but it looks like the > bulk of the changes add support for USB Audio v2.0. > > On 04/21/13 08:57, Hans Petter Selasky wrote: >> There are multiple options for debugging this issue. >> >> 1) Look at the usbdump utility for dumping the data communication for >> your device: >> >> usbdump -i usbusX -f Y -s 65536 > > I did find usbdump earlier but don't know enough about usb audio to be > able to identify any problems. > >> I suspect your device uses rate adaption, and that it does not work >> properly. > > The Dragonfly supports 44.1, 48, 88.2 and 96 and one goal of mine is to > not be doing any additional conversion so I'm hoping it's not doing that! > >> What does: >> >> usbconfig -d X.Y dump_curr_config_desc >> >> Say? > > Attached. I also installed usbutils and have attached output from "lsusb > -v". > >> See also: >> >> sysctl hw.usb.uaudio.debug=15 > > hw.usb.uaudio.debug was very helpful the original sample rate mismatch > problem. > > One thing that's annoying is the way dev/sound/usb/uaudio.c is > structured, the sample rate is programmed in the Dragonfly only when the > device is inserted; there's no way to change rates once it's plugged in. Hi, This can be changed. The problem is allocating and freeing audio buffers, which is a sleeping operation and I think cannot be done directly from the PCM API. If it is all about changing the sample rate, I think we at insert time can decide the maximum, and allow lower values to be set without any problems. I know there was a thread about this at the FreeBSD forums too, and it shouldn't be too hard to change this, at least for the case you are seeing. Are you a programmer capable of writing C-code ? --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5174D696.5080009>