uaudio - distorted output
Alexander Leidinger
Alexander at leidinger.net
Sun Oct 8 21:09:03 UTC 2017
Quoting Hans Petter Selasky <hps at selasky.org> (from Sun, 8 Oct 2017
17:28:25 +0200):
> On 10/08/17 14:25, Alexander Leidinger wrote:
>>
>> Quoting Hans Petter Selasky <hps at selasky.org> (from Sun, 8 Oct 2017
>> 13:19:19 +0200):
>>
>>> On 10/08/17 12:56, Alexander Leidinger wrote:
>>>>
>>>> Hi,
>>>>
>>>> attached are the config descriptors and the device dump of two
>>>> uaudio devices. Both exhibit distorted audio output. It sounds a
>>>> little bit like clipping / not feeding enough samples fast
>>>> enough...
>>>>
>>>> I played around with dev.pcm.2.bitperfect=1,
>>>> dev.pcm.2.play.vchans=0, dev.pcm.2.play.vchanrate and
>>>> hw.snd.latency=1...10.
>>>>
>>>> At some point vchanrate doesn't work anymore, it always stays at
>>>> 4.0 audio, even when trying to go back to 2.0. I have to
>>>> usbconfig reset the device.
>>>>
>>>> Sometimes (rarely) when playing around I get clear audio output,
>>>> but when I try to reproduce it (going back to default value for
>>>> the last sysctl setting and then going back again to the same
>>>> setting again), the audio is distorted again.
>>>>
>>>> To me it sounds like some kind of buffer is not big enough or the
>>>> data is not delivered fast enough to the uaudio device. But this
>>>> is a dual-socket system with:
>>>> CPU: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz
>>>> (2133.36-MHz K8-class CPU)
>>>> FreeBSD/SMP: Multiprocessor System Detected: 16 CPUs
>>>> FreeBSD/SMP: 2 package(s) x 4 core(s) x 2 hardware threads
>>>> And while playing around with uaudio the system has a load of
>>>> around 1, so I would expect CPU/RAM is not an issue here.
>>>
>>> Hi,
>>>
>>> What version of FreeBSD is this?
>>
>> current as of r323636
>>
>>> Try to enable hw.usb.uaudio.debug=16 during playback.
>>
>> No such sysctl, only hw.usb.debug....
>> I did the hw.usb.debug=16, but no output in dmesg nor
>> /var/log/console.log nor /var/log/messages, where do I need to look?
>>
>> Bye,
>> Alexander.
>>
>
> Can you compile and install snd_uaudio module with
> DEBUG_FLAGS="-DUSB_DEBUG" and KMODDIR=/boot/kernel ?
Occasionally I get this while playing:
---snip---
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: short transfer, 3680 of 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: short transfer, 3360 of 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: short transfer, 4224 of 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: short transfer, 4096 of 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
uaudio_chan_play_callback: transferring 4608 bytes
---snip---
The first number on the short transfer varies:
---snip---
# dmesg |grep "transferring 4608 bytes" | wc -l
2738
# dmesg |grep "short transfer" | wc -l
124
# dmesg |grep "short transfer" | sort | uniq -c
1 uaudio_chan_play_callback: short transfer, 2176 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 2528 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 2624 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 2848 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 2976 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 3008 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 3040 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 3104 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 3136 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3168 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3264 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3296 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3328 of 4608 bytes
4 uaudio_chan_play_callback: short transfer, 3360 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3424 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3456 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3520 of 4608 bytes
4 uaudio_chan_play_callback: short transfer, 3552 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 3584 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 3616 of 4608 bytes
4 uaudio_chan_play_callback: short transfer, 3648 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 3680 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3712 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3744 of 4608 bytes
4 uaudio_chan_play_callback: short transfer, 3776 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3808 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 3872 of 4608 bytes
3 uaudio_chan_play_callback: short transfer, 3904 of 4608 bytes
3 uaudio_chan_play_callback: short transfer, 3936 of 4608 bytes
1 uaudio_chan_play_callback: short transfer, 3968 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 4032 of 4608 bytes
28 uaudio_chan_play_callback: short transfer, 4096 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 4128 of 4608 bytes
5 uaudio_chan_play_callback: short transfer, 4160 of 4608 bytes
8 uaudio_chan_play_callback: short transfer, 4192 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 4224 of 4608 bytes
3 uaudio_chan_play_callback: short transfer, 4256 of 4608 bytes
5 uaudio_chan_play_callback: short transfer, 4288 of 4608 bytes
3 uaudio_chan_play_callback: short transfer, 4320 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 4352 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 4416 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 4448 of 4608 bytes
3 uaudio_chan_play_callback: short transfer, 4480 of 4608 bytes
2 uaudio_chan_play_callback: short transfer, 4544 of 4608 bytes
---snip---
Bye,
Alexander.
--
http://www.Leidinger.net Alexander at Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org netchild at FreeBSD.org : PGP 0x8F31830F9F2772BF
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digitale PGP-Signatur
URL: <http://lists.freebsd.org/pipermail/freebsd-usb/attachments/20171008/8882259e/attachment.sig>
More information about the freebsd-usb
mailing list