ADAT does work, but often is interrupted by noise - Was: FreeBSD and snd_hdspe last-ditch attempt

Ruslan Bukin br at bsdpad.com
Wed Jan 23 09:52:45 UTC 2013


please include also the output of

1. sysctl hw.snd
2. sysctl dev.pcm

On Wed, Jan 23, 2013 at 10:47:09AM +0100, Ralf Mardorf wrote:
> Thank you Ian :)
> 
> On Wed, 23 Jan 2013 05:25:59 +0100, Ian Smith <smithi at nimnet.asn.au> wrote:
> > 'cat /dev/sndstat'
> 
> I already posted it ;). However, I set sysctl hw.snd.verbose=2, here it's  
> again [1].
> It's a cheap professional audio device, IOW it's not a consumer or  
> semi-professional device, so cheap doesn't mean low quality. Professional  
> and semi-professional devices usually don't support surround sound, but at  
> least the professional devices provide special interfaces, such as AES/EBU  
> and ADAT. The card I'm using comes with two analog IOs, AES/EBU, ADAT and  
> it supports consumer's SPDIF.
> 
> $ ls -l /dev/dsp*
> crw-rw-rw-  1 root  wheel    0, 205 Jan 23 09:41 /dev/dsp0.0
> crw-rw-rw-  1 root  wheel    0, 204 Jan 23 09:41 /dev/dsp1.0
> crw-rw-rw-  1 root  wheel    0, 203 Jan 23 09:41 /dev/dsp2.0
> crw-rw-rw-  1 root  wheel    0, 202 Jan 23 09:41 /dev/dsp3.0
> crw-rw-rw-  1 root  wheel    0, 201 Jan 23 09:41 /dev/dsp4.0
> crw-rw-rw-  1 root  wheel    0, 200 Jan 23 09:41 /dev/dsp5.0
> crw-rw-rw-  1 root  wheel    0, 199 Jan 23 09:41 /dev/dsp6.0
> crw-rw-rw-  1 root  wheel    0, 198 Jan 23 09:41 /dev/dsp7.0
> 
> > have to assume you've already
> > discussed your issues with its author, Ruslan Bukin <br at bsdpad.com>
> 
> Yes, Ruslan does or at least did follow the thread.
> 
> I set jackd to use OSS with /dev/dsp4.0, I connected synaddsubfx
> 
> $ zynaddsubfx
> 
> ZynAddSubFX - Copyright (c) 2002-2009 Nasca Octavian Paul and others
> Compiled: Jan 20 2013 03:10:05
> This program is free software (GNU GPL v.2 or later) and
> it comes with ABSOLUTELY NO WARRANTY.
> 
> Try 'zynaddsubfx --help' for command-line options.
> Sound Buffer Size = 	256 samples
> Internal latency = 	5.3 ms
> ADsynth Oscil.Size = 	1024 samples
> Internal SampleRate   = 48000
> Jack Output SampleRate= 48000
> ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: No such  
> file or directory
> 
> Now there sometimes is audio output and sometimes dangerous noise, that  
> could damage the speakers. Jack is running without real-time,  
> Frames/Period 1024, Periods/Buffer 2, Samplerae 48000, Word Length 16.
> 
> Regards,
> Ralf
> 
> [1]
> $ cat /dev/sndstat
> FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
> Installed devices:
> pcm0: <HDSPe AIO [line]> at io 0xfdff0000 irq 18 kld snd_hdspe  
> (1p:1v/1r:1v) default
> 	snddev flags=0x2e6<AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
> 	[pcm0:play:dsp0.p0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000006
> 	interrupts 0, underruns 0, feed 0, ready 0  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 ->  
> 0x00201000) -> {hardware}
> 	pcm0:play:dsp0.p0[pcm0:virtual:dsp0.vp0]: spd 8000, fmt 0x00100008, flags  
> 0x10000000, 0x00000000
> 	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{userland} -> feeder_root(0x00000000) -> {hardware}
> 	[pcm0:record:dsp0.r0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000007
> 	interrupts 0, overruns 0, feed 0, hfree 131072, sfree 65536  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{hardware} -> feeder_root(0x00201000) -> feeder_format(0x00201000 ->  
> 0x00200010) -> feeder_mixer(0x00200010) -> {userland}
> 	pcm0:record:dsp0.r0[pcm0:virtual:dsp0.vr0]: spd 8000, fmt 0x00100008,  
> flags 0x10000000, 0x00000000
> 	interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{hardware} -> feeder_root(0x00000000) -> {userland}
> pcm1: <HDSPe AIO [phone]> at io 0xfdff0000 irq 18 kld snd_hdspe  
> (1p:1v/0r:0v)
> 	snddev  
> flags=0x2e7<SIMPLEX,AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
> 	[pcm1:play:dsp1.p0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000006
> 	interrupts 0, underruns 0, feed 0, ready 0  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 ->  
> 0x00201000) -> {hardware}
> 	pcm1:play:dsp1.p0[pcm1:virtual:dsp1.vp0]: spd 8000, fmt 0x00100008, flags  
> 0x10000000, 0x00000000
> 	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{userland} -> feeder_root(0x00000000) -> {hardware}
> pcm2: <HDSPe AIO [aes]> at io 0xfdff0000 irq 18 kld snd_hdspe (1p:1v/1r:1v)
> 	snddev flags=0x2e6<AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
> 	[pcm2:play:dsp2.p0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000006
> 	interrupts 0, underruns 0, feed 0, ready 0  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 ->  
> 0x00201000) -> {hardware}
> 	pcm2:play:dsp2.p0[pcm2:virtual:dsp2.vp0]: spd 8000, fmt 0x00100008, flags  
> 0x10000000, 0x00000000
> 	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{userland} -> feeder_root(0x00000000) -> {hardware}
> 	[pcm2:record:dsp2.r0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000007
> 	interrupts 0, overruns 0, feed 0, hfree 131072, sfree 65536  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{hardware} -> feeder_root(0x00201000) -> feeder_format(0x00201000 ->  
> 0x00200010) -> feeder_mixer(0x00200010) -> {userland}
> 	pcm2:record:dsp2.r0[pcm2:virtual:dsp2.vr0]: spd 8000, fmt 0x00100008,  
> flags 0x10000000, 0x00000000
> 	interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{hardware} -> feeder_root(0x00000000) -> {userland}
> pcm3: <HDSPe AIO [s/pdif]> at io 0xfdff0000 irq 18 kld snd_hdspe  
> (1p:1v/1r:1v)
> 	snddev flags=0x2e6<AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
> 	[pcm3:play:dsp3.p0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000006
> 	interrupts 0, underruns 0, feed 0, ready 0  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 ->  
> 0x00201000) -> {hardware}
> 	pcm3:play:dsp3.p0[pcm3:virtual:dsp3.vp0]: spd 8000, fmt 0x00100008, flags  
> 0x10000000, 0x00000000
> 	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{userland} -> feeder_root(0x00000000) -> {hardware}
> 	[pcm3:record:dsp3.r0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000007
> 	interrupts 0, overruns 0, feed 0, hfree 131072, sfree 65536  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{hardware} -> feeder_root(0x00201000) -> feeder_format(0x00201000 ->  
> 0x00200010) -> feeder_mixer(0x00200010) -> {userland}
> 	pcm3:record:dsp3.r0[pcm3:virtual:dsp3.vr0]: spd 8000, fmt 0x00100008,  
> flags 0x10000000, 0x00000000
> 	interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{hardware} -> feeder_root(0x00000000) -> {userland}
> pcm4: <HDSPe AIO [adat]> at io 0xfdff0000 irq 18 kld snd_hdspe  
> (1p:1v/1r:1v)
> 	snddev flags=0x2e6<AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
> 	[pcm4:play:dsp4.p0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000006
> 	interrupts 0, underruns 0, feed 0, ready 0  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 ->  
> 0x00201000) -> {hardware}
> 	pcm4:play:dsp4.p0[pcm4:virtual:dsp4.vp0]: spd 8000, fmt 0x00100008, flags  
> 0x10000000, 0x00000000
> 	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{userland} -> feeder_root(0x00000000) -> {hardware}
> 	[pcm4:record:dsp4.r0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000007
> 	interrupts 0, overruns 0, feed 0, hfree 131072, sfree 65536  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{hardware} -> feeder_root(0x00201000) -> feeder_format(0x00201000 ->  
> 0x00200010) -> feeder_mixer(0x00200010) -> {userland}
> 	pcm4:record:dsp4.r0[pcm4:virtual:dsp4.vr0]: spd 8000, fmt 0x00100008,  
> flags 0x10000000, 0x00000000
> 	interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{hardware} -> feeder_root(0x00000000) -> {userland}
> pcm5: <HDSPe AIO [adat]> at io 0xfdff0000 irq 18 kld snd_hdspe  
> (1p:1v/1r:1v)
> 	snddev flags=0x2e6<AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
> 	[pcm5:play:dsp5.p0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000006
> 	interrupts 0, underruns 0, feed 0, ready 0  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 ->  
> 0x00201000) -> {hardware}
> 	pcm5:play:dsp5.p0[pcm5:virtual:dsp5.vp0]: spd 8000, fmt 0x00100008, flags  
> 0x10000000, 0x00000000
> 	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{userland} -> feeder_root(0x00000000) -> {hardware}
> 	[pcm5:record:dsp5.r0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000007
> 	interrupts 0, overruns 0, feed 0, hfree 131072, sfree 65536  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{hardware} -> feeder_root(0x00201000) -> feeder_format(0x00201000 ->  
> 0x00200010) -> feeder_mixer(0x00200010) -> {userland}
> 	pcm5:record:dsp5.r0[pcm5:virtual:dsp5.vr0]: spd 8000, fmt 0x00100008,  
> flags 0x10000000, 0x00000000
> 	interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{hardware} -> feeder_root(0x00000000) -> {userland}
> pcm6: <HDSPe AIO [adat]> at io 0xfdff0000 irq 18 kld snd_hdspe  
> (1p:1v/1r:1v)
> 	snddev flags=0x2e6<AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
> 	[pcm6:play:dsp6.p0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000006
> 	interrupts 0, underruns 0, feed 0, ready 0  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 ->  
> 0x00201000) -> {hardware}
> 	pcm6:play:dsp6.p0[pcm6:virtual:dsp6.vp0]: spd 8000, fmt 0x00100008, flags  
> 0x10000000, 0x00000000
> 	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{userland} -> feeder_root(0x00000000) -> {hardware}
> 	[pcm6:record:dsp6.r0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000007
> 	interrupts 0, overruns 0, feed 0, hfree 131072, sfree 65536  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{hardware} -> feeder_root(0x00201000) -> feeder_format(0x00201000 ->  
> 0x00200010) -> feeder_mixer(0x00200010) -> {userland}
> 	pcm6:record:dsp6.r0[pcm6:virtual:dsp6.vr0]: spd 8000, fmt 0x00100008,  
> flags 0x10000000, 0x00000000
> 	interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{hardware} -> feeder_root(0x00000000) -> {userland}
> pcm7: <HDSPe AIO [adat]> at io 0xfdff0000 irq 18 kld snd_hdspe  
> (1p:1v/1r:1v)
> 	snddev flags=0x2e6<AUTOVCHAN,SOFTPCMVOL,BUSY,MPSAFE,REGISTERED,VPC>
> 	[pcm7:play:dsp7.p0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000006
> 	interrupts 0, underruns 0, feed 0, ready 0  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{userland} -> feeder_mixer(0x00200010) -> feeder_format(0x00200010 ->  
> 0x00201000) -> {hardware}
> 	pcm7:play:dsp7.p0[pcm7:virtual:dsp7.vp0]: spd 8000, fmt 0x00100008, flags  
> 0x10000000, 0x00000000
> 	interrupts 0, underruns 0, feed 0, ready 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{userland} -> feeder_root(0x00000000) -> {hardware}
> 	[pcm7:record:dsp7.r0]: spd 48000, fmt 0x00200010/0x00201000, flags  
> 0x00002100, 0x00000007
> 	interrupts 0, overruns 0, feed 0, hfree 131072, sfree 65536  
> [b:131072/4096/32|bs:65536/2048/32]
> 	channel flags=0x2100<BUSY,HAS_VCHAN>
> 	{hardware} -> feeder_root(0x00201000) -> feeder_format(0x00201000 ->  
> 0x00200010) -> feeder_mixer(0x00200010) -> {userland}
> 	pcm7:record:dsp7.r0[pcm7:virtual:dsp7.vr0]: spd 8000, fmt 0x00100008,  
> flags 0x10000000, 0x00000000
> 	interrupts 0, overruns 0, feed 0, hfree 0, sfree 0 [b:0/0/0|bs:0/0/0]
> 	channel flags=0x10000000<VIRTUAL>
> 	{hardware} -> feeder_root(0x00000000) -> {userland}
> _______________________________________________
> freebsd-multimedia at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-multimedia
> To unsubscribe, send any mail to "freebsd-multimedia-unsubscribe at freebsd.org"


More information about the freebsd-multimedia mailing list