Dragonfly USB DAC under 9.1-RELEASE
Hans Petter Selasky
hps at bitfrost.no
Mon Apr 22 06:49:31 UTC 2013
On 04/22/13 08:20, Hans Petter Selasky wrote:
> 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
>> 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
>> Attached. I also installed usbutils and have attached output from "lsusb
>>> See also:
>>> sysctl hw.usb.uaudio.debug=15
>> hw.usb.uaudio.debug was very helpful the original sample rate mismatch
>> 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.
> 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
> 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 ?
You don't don't need to re-plug the adapter. You can also use
usbconfig -d X.Y reset
More information about the freebsd-multimedia