[alsa-devel] Zoom R16/24 playback slient
Ricard Wanderlof
ricard.wanderlof at axis.com
Wed Sep 30 10:05:44 CEST 2015
On Wed, 30 Sep 2015, Panu Matilainen wrote:
> > Where does the above output come from, and where could I find information
> > on what type of data is expected? I assume what's expected is something
> > one would get from an USB mixer device?
>
> The output is simply 'lsusb -v' plus manually added guesses as to what
> these unrecognized bits are.
Ah, I should have guessed as much... (I was looking in the kernel for some
USB debug thing via /sys or similar).
> As for the mixer, I concluded the Zoom does not really have one. The
> interface 0 is a control interface where a mixer would reside, but
> there's no actual mixer unit in there.
I wonder if any information could be gleaned from running the Windows
driver and somehow snooping the USB bus.
There must be some way of enabling the playback stream.
> My memory is a bit hazy on the details, but the automatically detected
> SNDRV_PCM_FMTBIT_S32 (which iirc means the actual 24bit values are
> carried in 32bit chunks) seems to be the right thing for the device,
> forcing it to something else just makes things worse. IIRC.
I think that many devices put 24 bits in the most significant bits of a 32
bit word, hence SNDRV_PCM_FMTBIT_S32 works fine, and the device simply
disregards the lowest 8 bits. I don't know about USB, but I've come across
SoC devices where it is the lower 24 bits that carry the data, in which
case SNDRV_PCM_FMTBIT_S24LE is needed, and then there are devices which
really handle the data in 24 bit chunks, using SNDRV_PCM_FMTBIT_S24_3LE.
At any rate this issue seems to be cleared up.
> Another finding from my last round in the spring I do remember clearly,
> is that enabling both the input and output interfaces makes things hang
> up (timeouts and nothing really works). But if you disable the input
> interface and enable the output interface, you get an apparently working
> playback stream. Only no sound comes out. If you disable the output and
> enable input, capture itself works fine.
Ok, thanks for that tidbit, I'd read about problems with simulatenous
capture and playback in previous threads; I thought perhaps (hopefully...)
the only remaining issue was the silent playback.
> So perhaps it needs another quirk similar in spirit to the E-Mu:
>
> /* When capture is active
> * sample rate shouldn't be changed
> * by playback substream
> */
> if (subs->direction == SNDRV_PCM_STREAM_PLAYBACK) {
> if
> (subs->stream->substream[SNDRV_PCM_STREAM_CAPTURE].interface != -1)
> return;
So your theory is that reconfiguring the device once opened for one
direction is what causes it to hang?
> Or something. I do intend to continue poking at it sooner or later but
> can't make any promises.
I understand. Since I have a setup at home that works now I thought I'd
take a look at it and see how far I get.
/Ricard
--
Ricard Wolf Wanderlöf ricardw(at)axis.com
Axis Communications AB, Lund, Sweden www.axis.com
Phone +46 46 272 2016 Fax +46 46 13 61 30
More information about the Alsa-devel
mailing list