All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Richter <stefanr@s5r6.in-berlin.de>
To: Takashi Sakamoto <o-takashi@sakamocchi.jp>, alsa-devel@alsa-project.org
Cc: fenlason@redhat.com, linux1394-devel@lists.sourceforge.net,
	clemens@ladisch.de, ffado-devel@lists.sf.net
Subject: Re: [RFC][PATCH 00/15 v4] OXFW driver, a succesor to firewire-speakers
Date: Sun, 26 Oct 2014 13:00:32 +0100	[thread overview]
Message-ID: <20141026130032.593f268a@kant> (raw)
In-Reply-To: <1399991272-5807-1-git-send-email-o-takashi@sakamocchi.jp>

On May 13 Takashi Sakamoto wrote:
[...]
> Currently, in ALSA, 'firewire-speakers' driver supports OXFW970/971 chipset
> which Oxford Semiconductor produced. But this driver has some restrictions:
>  - Don't support MIDI substreams
>  - Don't support substreams for PCM/MIDI capturing
> There are several devices which are based on OXFW970/971. Especially, devices
> which Behringer and Mackie produced support playback/capture PCM samples/MIDI
> messages. So firewire-speakers needs re-work to support these devices.
> 
> This patchset renames 'firewire-speakers' to 'oxfw'. Maintainers already
> agreed to rename firewire-speakers to suitable name, in my first RFC in Jan
> 2014.
> 
> 
> == Supported devices
> Currently these devices are supported:
>  * Griffin Firewave
>  * LaCie Firewire Speakers
>  * Behringer F-Control Audio 202
>  * Mackie(Loud) Onyx-i series (former models)
>  * Mackie(Loud) Onyx Satellite
>  * Mackie(Loud) Tapco Link.Firewire
[...]
> == Features
>  - Capturing/Playbacking PCM samples/MIDI messages at supported sampling
>    rates via ALSA PCM/MIDI interfaces
>  - Retrieving firewire node information via ALSA hwdep interface
>  - Locking/Unlocking kernel streaming via ALSA hwdep interface
>  - Receiving notification at starting/stopping kernel streaming via ALSA
>    hwdep interface
[...]

Hi,

here is a test report with the devices
  - LaCie FireWire Speakers,
  - Griffin FireWave
and the software
  - alsamixer,
  - audacious (using ALSA backend or Jack backend),
  - mplayer   (using ALSA backend or Jack backend),
  - jack
on top of kernel 3.17(.1).  I tested playback of stereo audio only (44.1 kHz
PCM sources; a few symphonic, rock, and electronic music pieces; stereo only).
I did not test pulseaudio, as I do not have it yet installed on my test box.
So far I ran jack only with 44.1 kHz sample rate.  The FireWave was connected
to L/R line-in of a stereo amplifier.  To test the upper channels of the
FireWave, I simply replugged the cable between FireWave's L/R, C/S, and LS/RS
ports.

First I re-tested with stock 3.17.1 because I haven't used these two devices
in a while.  After that, I pulled the following patches from
https://github.com/takaswie/sound master branch, applied them on top of 3.17.1,
and repeated the tests.
    f7c9bc4c15ea ALSA: oxfw: Add hwdep interface
    787e571d3197 ALSA: oxfw: Add support for capture/playback MIDI messages
    1868471597e6 ALSA: oxfw: Add support AMDTP in-stream and PCM capture
    42483f846ff5 ALSA: oxfw: Add support for Behringer/Mackie devices
    51fadf6db12e ALSA: oxfw: Change the way to start stream
    54a1b23d6eba ALSA: oxfw: Add proc interface for debugging purpose
    f56001836575 ALSA: oxfw: Change the way to make PCM rules/constraints
    2d07cd88a870 ALSA: oxfw: Add support for AV/C stream format command to get/set supported stream formation
    b213d30cd408 ALSA: oxfw: Change the way to name card
    4255f0663f83 ALSA: oxfw: Split control functionality to a new file
    ed98704ccad7 ALSA: oxfw: Split PCM functionality to a new file
    646b7c0dfedd ALSA: oxfw: Split stream functionality to a new file and add a header file
    b09fa32b4063 ALSA: oxfw: Move to its own directory
    3479e7136ccb ALSA: speakers: Rename to oxfw and rename some members
Later I also switched back and forth between drivers without and with the
patches, with consistent results as described below.


Results with LaCie FireWire Speakers:
-------------------------------------

The only difference in behavior between 3.17.1 and 3.17.1 plus patches is
that alsamixer displays the speakers' card and chip name differently.
Stock, i.e. snd-firewire-speakers:     Patched, i.e. snd-oxfw:
    Card: FireWire Speakers                Card: FWSpeakers
    Chip: OXFW970                          Chip: FWSpeakers
I am not familiar enough with ALSA and its applications to tell whether
this change is good or bad or immaterial; for me it does not matter.

Otherwise, I noticed no difference between stock and patched; i.e.
alsamixer shows the same single PCM volume control, the two playback
applications times two backends behave the same, and the sound files sound
the same.


Results with Griffin FireWave:
------------------------------

With snd-firewire-speakers, only the blue "FireWire" LED lights up.
With snd-oxfw, the blue LED lights up, and as soon as the card is opened by
audacious' or mplayer's ALSA backend for the first time, the red "Dolby D+PL
II" LED lights up too and stays lit until power-off or until jackd is
started.

Alsamixer displays different chip names.
Stock, i.e. snd-firewire-speakers:     Patched, i.e. snd-oxfw:
    Card: FireWave                         Card: FireWave
    Chip: OXFW970                          Chip: FireWave

Playback with snd-firewire-speakers, using ALSA:

    Channel 1 (L) is subjectively correct.

    There is distortion on channel 2 (R) channel.  The type of distortion
    depends on the audio which is played back.  It can be pops, buzzing,
    or a high continuous hissing tone (I guess a 22.05 kHz tone).   This is
    the same behavior as I remember it from the time when
    snd-firewire-speakers was merged into the mainline in 2.6.39.

    Channels 3..6 (C, S, LS, RS) are mute.
    (As mentioned above, I only tested stereo sound sources.)

Playback with snd-oxfw, using ALSA:

    Subjectively correct stereo sound on channels 1-2 (L, R), mute on
    channel 3 (C), quiet bass sound on channel 4 (S), mute on channels 5-6
    (LS, RS).

    In other words, the patches fix ALSA stereo playback on FireWave.

Playback with snd-firewire-speakers, using Jack on the first 2 channels only
(i.e. I connected out_0 with playback 1, out_1 with playback_2, and left
playback_[3-6] unconnected):

    Subjectively correct stereo sound on channels 1-2 (L, R), mute on
    channel 3 (C), quiet bass sound on channel 4 (S), mute on channels 5-6
    (LS, RS).

Playback with snd-oxfw, Jack on the first 2 channels only:

   Same as snd-firewire-speakers.

Playback with snd-firewire-speakers, using Jack on all channels (I connected
out_0 to playback_[1,3,5] and out_1 with playback_[2,4,6]):

   The first three channels (L, R, C) are alright, the next channel (S) is
   distorted in the same manner as was channel 2 (R) with ALSA 2-channel
   playback, and the last channels (LS, RS) are alright.

Playback with snd-oxfw, using Jack on all channels:

   Same as snd-firewire-speakers.


Conclusion:
-----------

In my tests, the patch set does not regress with LaCie FireWire Speakers,
does not regress with Griffin FireWave + Jack, and it fixes FireWave for
stereo playback through ALSA client applications.  Therefore and for the
much extended device support and features (which I could not test myself
due to lack of hardware), I would be glad if these patches were to be
queued up for mainline merge and am offering a

Tested-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (Speakers, FireWave)

tag. Thank you,
-- 
Stefan Richter
-=====-====- =-=- ==-=-
http://arcgraph.de/sr/

  parent reply	other threads:[~2014-10-26 12:00 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-13 14:27 [RFC][PATCH 00/15 v4] OXFW driver, a succesor to firewire-speakers Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 01/15] speakers: Rename to oxfw and rename some members Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 02/15] oxfw: Move to its own directory Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 03/15] oxfw: Split stream functionality to a new file and add a header file Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 04/15] oxfw: Split PCM functionality to a new file Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 05/15] oxfw: Split control " Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 06/15] oxfw: Change the way to name card Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 07/15] oxfw: Change the way to make PCM rules/constraints Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 08/15] oxfw: Add proc interface for debugging purpose Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 09/15] oxfw: Change the way to start stream Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 10/15] oxfw: Add support for AV/C stream format command to get supported stream formation Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 11/15] oxfw: Add a quirk for Griffin FireWave Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 12/15] oxfw: Add support for Behringer/Mackie devices Takashi Sakamoto
2014-08-10 15:54   ` [alsa-devel] " Clemens Ladisch
2014-08-11 23:48     ` Takashi Sakamoto
2014-08-12  7:33       ` [alsa-devel] " Clemens Ladisch
2014-08-12 23:21         ` Takashi Sakamoto
2014-08-13  6:41           ` Clemens Ladisch
2014-08-13  7:00             ` Takashi Sakamoto
2014-08-13  7:07               ` Clemens Ladisch
2014-08-13  7:57                 ` Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 13/15] oxfw: Add support AMDTP in-stream and PCM capture Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 14/15] oxfw: Add support for capture/playback MIDI messages Takashi Sakamoto
2014-05-13 14:27 ` [PATCH 15/15] oxfw: Add hwdep interface Takashi Sakamoto
2014-05-13 17:43 ` [RFC][PATCH 00/15 v4] OXFW driver, a succesor to firewire-speakers Stefan Richter
2014-05-14 14:15   ` Takashi Sakamoto
2014-08-10 15:54 ` Clemens Ladisch
2014-08-11 23:55   ` Takashi Sakamoto
2014-08-12  7:09     ` Clemens Ladisch
2014-08-12 22:45       ` Takashi Sakamoto
2014-08-13  7:06         ` Clemens Ladisch
2014-08-13 22:55           ` Takashi Sakamoto
2014-10-16 14:31       ` Takashi Sakamoto
2014-10-26 12:00 ` Stefan Richter [this message]
2014-10-26 14:15   ` Takashi Sakamoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141026130032.593f268a@kant \
    --to=stefanr@s5r6.in-berlin.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=clemens@ladisch.de \
    --cc=fenlason@redhat.com \
    --cc=ffado-devel@lists.sf.net \
    --cc=linux1394-devel@lists.sourceforge.net \
    --cc=o-takashi@sakamocchi.jp \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.