Date: Wed, 23 Jan 2013 10:47:09 +0100 From: "Ralf Mardorf" <ralf.mardorf@rocketmail.com> To: "Ian Smith" <smithi@nimnet.asn.au> Cc: freebsd-multimedia@freebsd.org, freebsd-questions@freebsd.org Subject: ADAT does work, but often is interrupted by noise - Was: FreeBSD and snd_hdspe last-ditch attempt Message-ID: <op.wrcysv2guwjkcr@freebsd> In-Reply-To: <20130123144008.A62930@sola.nimnet.asn.au> References: <op.wrbx0pfiuwjkcr@freebsd> <20130123144008.A62930@sola.nimnet.asn.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Thank you Ian :) On Wed, 23 Jan 2013 05:25:59 +0100, Ian Smith <smithi@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@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}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?op.wrcysv2guwjkcr>