All of lore.kernel.org
 help / color / mirror / Atom feed
* presonus StudioLive 24.4.2
@ 2020-06-16  8:11 m.eik michalke
  2020-06-16 12:18 ` Takashi Sakamoto
  0 siblings, 1 reply; 9+ messages in thread
From: m.eik michalke @ 2020-06-16  8:11 UTC (permalink / raw)
  To: alsa-devel

hi,

i'm trying to get a presonus StudioLive 24.4.2 up and running:

  https://www.presonus.com/products/studiolive-24.4.2

so far i'm partly successful -- looks like the board is automatically detected 
and supported by the firewire dice module.

however, i'm only offered 16 of the 24 supported audio channels. in the list 
of soundcards it is merely shown as "studiolive" without further info on the 
model. i wasn't able to find further info on this board's status with regards 
to alsa, so if there's documentation on this somewhere, could someone please 
point me to it?

in case that as of now the studiolive isn't officially supported or the above 
behavior is due to the fact that so far only the 16.4.2 is known to the 
module, i'm willing to help as far as i can ;) i hope that already seeing 16 
channels is a good point to start and that it's not too hard to make the 
remaining 8 show up as well...


best regards :: m.eik




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: presonus StudioLive 24.4.2
  2020-06-16  8:11 presonus StudioLive 24.4.2 m.eik michalke
@ 2020-06-16 12:18 ` Takashi Sakamoto
  2020-06-17 13:00   ` m.eik michalke
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Sakamoto @ 2020-06-16 12:18 UTC (permalink / raw)
  To: m.eik michalke; +Cc: alsa-devel

Hi,

I'm a developer for ALSA firewire stack.

On Tue, Jun 16, 2020 at 10:11:57AM +0200, m.eik michalke wrote:
> i'm trying to get a presonus StudioLive 24.4.2 up and running:
> 
>   https://www.presonus.com/products/studiolive-24.4.2
> 
> so far i'm partly successful -- looks like the board is automatically detected 
> and supported by the firewire dice module.
 
Thanks for your trial to the device. For my information, would you show
your kernel version?

> however, i'm only offered 16 of the 24 supported audio channels. in the list 
> of soundcards it is merely shown as "studiolive" without further info on the 
> model. i wasn't able to find further info on this board's status with regards 
> to alsa, so if there's documentation on this somewhere, could someone please 
> point me to it?

I guess that Dice ASIC in your device can process two pairs of
isochronous packet streams. In the case, the driver adds two PCM devices
to system. I think you saw the first PCM device and it can handle 16 PCM
channels. Another can handle the rest 8 channels.

Would you find below procfs nodes and dump their contents?

* /proc/asound/cardX/firewire/dice
* /proc/asound/cardX/firewire/formation

Here, the 'X' should be replaced with the one in your system.

> in case that as of now the studiolive isn't officially supported or the above 
> behavior is due to the fact that so far only the 16.4.2 is known to the 
> module, i'm willing to help as far as i can ;) i hope that already seeing 16 
> channels is a good point to start and that it's not too hard to make the 
> remaining 8 show up as well...

Would you get output from '/proc/asound/pcm'?

For example, in the case of M-Audio Profire 610:

$ cat /proc/asound/pcm 
...
02-00: DICE : FW610 : playback 1 : capture 1
02-01: DICE : FW610 : playback 1

We can see two PCM devices in the above for playback PCM substream.


Thanks

Takashi Sakamoto

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: presonus StudioLive 24.4.2
  2020-06-16 12:18 ` Takashi Sakamoto
@ 2020-06-17 13:00   ` m.eik michalke
  2020-06-17 13:37     ` Takashi Sakamoto
  0 siblings, 1 reply; 9+ messages in thread
From: m.eik michalke @ 2020-06-17 13:00 UTC (permalink / raw)
  To: Takashi Sakamoto; +Cc: alsa-devel

hi,

Am Dienstag, 16. Juni 2020, 14:18:29 CEST schrieb Takashi Sakamoto:
> On Tue, Jun 16, 2020 at 10:11:57AM +0200, m.eik michalke wrote:
> > i'm trying to get a presonus StudioLive 24.4.2 up and running:
> >   https://www.presonus.com/products/studiolive-24.4.2
> > 
> > so far i'm partly successful -- looks like the board is automatically
> > detected and supported by the firewire dice module.
> 
> Thanks for your trial to the device. For my information, would you show
> your kernel version?

$ uname -a
Linux yrla 5.3.0-59-generic #53~18.04.1-Ubuntu SMP Thu Jun 4 14:58:26 UTC 2020 
x86_64 x86_64 x86_64 GNU/Linux

> > however, i'm only offered 16 of the 24 supported audio channels. in the
> > list of soundcards it is merely shown as "studiolive" without further
> > info on the model. i wasn't able to find further info on this board's
> > status with regards to alsa, so if there's documentation on this
> > somewhere, could someone please point me to it?
> 
> I guess that Dice ASIC in your device can process two pairs of
> isochronous packet streams. In the case, the driver adds two PCM devices
> to system. I think you saw the first PCM device and it can handle 16 PCM
> channels. Another can handle the rest 8 channels.

i see.

> Would you find below procfs nodes and dump their contents?
> 
> * /proc/asound/cardX/firewire/dice
> * /proc/asound/cardX/firewire/formation

$ cat /proc/asound/cards
[...]
 4 [StudioLive     ]: DICE - StudioLive
                      PreSonus STUDIOLIVE_2442 (serial xxxxxxx) at fw1.0, S400

$ cat /proc/asound/card4/firewire/dice
sections:
  global: offset 10, size 90
  tx: offset 100, size 142
  rx: offset 242, size 282
  ext_sync: offset 524, size 4
  unused2: offset 0, size 0
global:
  owner: ffc1:000100000000
  notification: 00000020
  nick name: StudioLive
  clock select: internal 44100
  enable: 0
  status: locked 44100
  ext status: 00000000
  sample rate: 44100
  version: 1.0.4.0
  clock caps: 44100 48000 arx1 arx2 internal
  clock source names: AES12\SPDIF\AES56\AES78\AES_ANY\ADAT\ADAT_AUX\Word Clock
\Unused\Unused\Unused\Unused\Internal\\
tx 0:
  iso channel: -1
  audio channels: 16
  midi ports: 0
  speed: S400
  names: Ch 1\Ch 2\Ch 3\Ch 4\Ch 5\Ch 6\Ch 7\Ch 8\Ch 9\Ch 10\Ch 11\Ch 12\Ch 
13\Ch 14\Ch 15\Ch 16\\
  ac3 caps: 00000000
  ac3 enable: 00000000
tx 1:
  iso channel: -1
  audio channels: 16
  midi ports: 0
  speed: S400
  names: Ch 17\Ch 18\Ch 19\Ch 20\Ch 21\Ch 22\Ch 23\Ch 24\Auxiliary Ch 
25\Auxiliary Ch 26\Auxiliary Ch 27\Auxiliary Ch 28\Auxiliary Ch 29\Auxiliary 
Ch 30\Auxiliary Ch 31\Auxiliary Ch 32\\
  ac3 caps: 00000000
  ac3 enable: 00000000
rx 0:
  iso channel: -1
  sequence start: 0
  audio channels: 16
  midi ports: 0
  names: Ch 1\Ch 2\Ch 3\Ch 4\Ch 5\Ch 6\Ch 7\Ch 8\Ch 9\Ch 10\Ch 11\Ch 12\Ch 
13\Ch 14\Ch 15\Ch 16\\
  ac3 caps: 00000000
  ac3 enable: 00000000
rx 1:
  iso channel: -1
  sequence start: 0
  audio channels: 10
  midi ports: 0
  names: Ch 17\Ch 18\Ch 19\Ch 20\Ch 21\Ch 22\Ch 23\Ch 24\2TrackIn L\2TrackIn R
\\
  ac3 caps: 00000000
  ac3 enable: 00000000
ext status:
  clock source: internal
  locked: 1
  rate: 44100
  adat user data: -

$ cat /proc/asound/card4/firewire/formation
Output stream from unit:
        low     middle  high    MIDI
Tx 0:   16      0       0       0
Tx 1:   16      0       0       0
Input stream to unit:
        low     middle  high
Rx 0:   16      0       0       0
Rx 1:   10      0       0       0

> > in case that as of now the studiolive isn't officially supported or the
> > above behavior is due to the fact that so far only the 16.4.2 is known to
> > the module, i'm willing to help as far as i can ;) i hope that already
> > seeing 16 channels is a good point to start and that it's not too hard to
> > make the remaining 8 show up as well...
> 
> Would you get output from '/proc/asound/pcm'?

$ cat /proc/asound/pcm
[...]
04-00: DICE : StudioLive : playback 1 : capture 1
04-01: DICE : StudioLive : playback 1 : capture 1


all looks to me like you were right. IIUC the board provides a total of 32 
output channels and 26 for input. does this mean the device is already fully 
recognized and functional? can alsa be configured to provide all channels as 
one "sound card" so they become available in, say, ardour?


thank you & best regards :: m.eik


-- 
:                .       .      :   :                    .··             :
::.       ..    ..::  dipl. psych. : : m.eik michalke  ::..    ..  ..  .::
:    ·   :        .·      .        : :          .            .:          :
:.. .. .    .. . :  OpenPGP: F8315CCB7BDABA8E  .·  .    ::.:     ·   :   :
:       ..:··                       .: ··.       ..:...                  :
:..  https://reaktanz.de ...  https://angstalt.de ...  https://C3S.cc  ..:




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: presonus StudioLive 24.4.2
  2020-06-17 13:00   ` m.eik michalke
@ 2020-06-17 13:37     ` Takashi Sakamoto
  2020-06-17 16:12       ` m.eik michalke
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Sakamoto @ 2020-06-17 13:37 UTC (permalink / raw)
  To: m.eik michalke; +Cc: alsa-devel

Hi,

Thanks for the information.

On Wed, Jun 17, 2020 at 03:00:49PM +0200, m.eik michalke wrote:
> > > in case that as of now the studiolive isn't officially supported or the
> > > above behavior is due to the fact that so far only the 16.4.2 is known to
> > > the module, i'm willing to help as far as i can ;) i hope that already
> > > seeing 16 channels is a good point to start and that it's not too hard to
> > > make the remaining 8 show up as well...
> > 
> > Would you get output from '/proc/asound/pcm'?
> 
> $ cat /proc/asound/pcm
> [...]
> 04-00: DICE : StudioLive : playback 1 : capture 1
> 04-01: DICE : StudioLive : playback 1 : capture 1
> 
> 
> all looks to me like you were right. IIUC the board provides a total of 32 
> output channels and 26 for input. does this mean the device is already fully 
> recognized and functional? can alsa be configured to provide all channels as 
> one "sound card" so they become available in, say, ardour?

ALSA dice driver is functional expectedly in the case, with the inconvenience
that you noted... The driver adds two pair of PCM playback/capture device so
that each of them handles corresponding single isochronous packet streaming.

I suggest users to use 'alsa_in' and 'alsa_out' in jackd
session. Two pairs of PCM device (hw:x,0 and hw:x,1) need to be handled
for all of PCM channels. I'm sorry but at present total channels are not
available via one pair of PCM device.


Well, this is a request from me. In IEEE 1394 bus, each device has
'configuration ROM' which the other device can read. Linux FireWire
subsystem read it for device detection. I gather the ROM image[1] for
better detection and would I request you to send the ROM image to me
by following below instruction?

After detected, FireWire character device corresponding to your device
is added to Linux system. Typically it's '/dev/fw1'. At the same time,
the ROM image is served via node on sysfs. In the case of '/dev/fw1',
it's '/sys/bus/firewire/devices/fw1/config_rom'. I'd like you to
redirect its content to file and send it to me (or send pull request
by github service).

[1] https://github.com/takaswie/am-config-roms/


Thanks

Takashi Sakamoto

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: presonus StudioLive 24.4.2
  2020-06-17 13:37     ` Takashi Sakamoto
@ 2020-06-17 16:12       ` m.eik michalke
  2020-06-17 23:32         ` Takashi Sakamoto
  0 siblings, 1 reply; 9+ messages in thread
From: m.eik michalke @ 2020-06-17 16:12 UTC (permalink / raw)
  To: Takashi Sakamoto; +Cc: alsa-devel

hi,

Am Mittwoch, 17. Juni 2020, 15:37:04 CEST schrieb Takashi Sakamoto:
> > $ cat /proc/asound/pcm
> > [...]
> > 04-00: DICE : StudioLive : playback 1 : capture 1
> > 04-01: DICE : StudioLive : playback 1 : capture 1
 
> I suggest users to use 'alsa_in' and 'alsa_out' in jackd
> session. Two pairs of PCM device (hw:x,0 and hw:x,1) need to be handled
> for all of PCM channels. I'm sorry but at present total channels are not
> available via one pair of PCM device.

ok, could a hack like this also help me out?

  http://www.jrigg.co.uk/linuxaudio/ice1712multi.html

> Well, this is a request from me. In IEEE 1394 bus, each device has
> 'configuration ROM' which the other device can read. Linux FireWire
> subsystem read it for device detection. I gather the ROM image[1] for
> better detection and would I request you to send the ROM image to me

sent to you off-list. hth.


viele grüße :: m.eik





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: presonus StudioLive 24.4.2
  2020-06-17 16:12       ` m.eik michalke
@ 2020-06-17 23:32         ` Takashi Sakamoto
  2020-06-18 10:14           ` m.eik michalke
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Sakamoto @ 2020-06-17 23:32 UTC (permalink / raw)
  To: m.eik michalke; +Cc: alsa-devel

Hi,

On Wed, Jun 17, 2020 at 06:12:48PM +0200, m.eik michalke wrote:
> hi,
> 
> Am Mittwoch, 17. Juni 2020, 15:37:04 CEST schrieb Takashi Sakamoto:
> > > $ cat /proc/asound/pcm
> > > [...]
> > > 04-00: DICE : StudioLive : playback 1 : capture 1
> > > 04-01: DICE : StudioLive : playback 1 : capture 1
>  
> > I suggest users to use 'alsa_in' and 'alsa_out' in jackd
> > session. Two pairs of PCM device (hw:x,0 and hw:x,1) need to be handled
> > for all of PCM channels. I'm sorry but at present total channels are not
> > available via one pair of PCM device.
> 
> ok, could a hack like this also help me out?
> 
>   http://www.jrigg.co.uk/linuxaudio/ice1712multi.html
 
Yep, the PCM multi plugin in alsa-lib seems to be available as well.

> > Well, this is a request from me. In IEEE 1394 bus, each device has
> > 'configuration ROM' which the other device can read. Linux FireWire
> > subsystem read it for device detection. I gather the ROM image[1] for
> > better detection and would I request you to send the ROM image to me
> 
> sent to you off-list. hth.

I added it at below commit:
https://github.com/takaswie/am-config-roms/commit/38819873e51d


From my curiousity, would I ask you extra check in system log (like
journalctl -k)? ALSA Dice driver supports TCAT protocol extension, and
it firstly attempts to detect it for all of devices without explicit
flags (in your case). If the device doesn't support the extension, the
attempt fails and we can see below log:

```
kernel: snd_dice fw1.0: transaction failed: timeout
```

I'm glad if you reports whether to see the above or not.


Thanks

Takashi Sakamoto

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: presonus StudioLive 24.4.2
  2020-06-17 23:32         ` Takashi Sakamoto
@ 2020-06-18 10:14           ` m.eik michalke
  2020-06-18 14:06             ` Takashi Sakamoto
  0 siblings, 1 reply; 9+ messages in thread
From: m.eik michalke @ 2020-06-18 10:14 UTC (permalink / raw)
  To: Takashi Sakamoto; +Cc: alsa-devel

hi,

Am Donnerstag, 18. Juni 2020, 01:32:13 CEST schrieb Takashi Sakamoto:
> > ok, could a hack like this also help me out?
> > 
> >   http://www.jrigg.co.uk/linuxaudio/ice1712multi.html
> 
> Yep, the PCM multi plugin in alsa-lib seems to be available as well.

that's encouraging. now i only have to figure that out ;) never had to deal 
with .asoundrc before (which is testament to the hard work of all of you, 
thx!).

> From my curiousity, would I ask you extra check in system log (like
> journalctl -k)? ALSA Dice driver supports TCAT protocol extension, and
> it firstly attempts to detect it for all of devices without explicit
> flags (in your case). If the device doesn't support the extension, the
> attempt fails and we can see below log:
> 
> ```
> kernel: snd_dice fw1.0: transaction failed: timeout
> ```

here's what i see in journalctl -k when the device is being plugged in:

kernel: firewire_ohci 0000:05:00.0: isochronous cycle inconsistent
kernel: firewire_core 0000:05:00.0: created device fw1: GUID 000a920404af7744, 
S400
kernel: firewire_core 0000:05:00.0: phy config: new root=ffc1, gap_count=5
kernel: firewire_core 0000:05:00.0: IRM is not 1394a compliant, making local 
node (ffc0) root
kernel: firewire_core 0000:05:00.0: phy config: new root=ffc0, gap_count=5
kernel: snd_dice fw1.0: transaction failed: address error

let me know if you need anything else.


viele grüße :: m.eik




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: presonus StudioLive 24.4.2
  2020-06-18 10:14           ` m.eik michalke
@ 2020-06-18 14:06             ` Takashi Sakamoto
  2020-06-18 21:29               ` m.eik michalke
  0 siblings, 1 reply; 9+ messages in thread
From: Takashi Sakamoto @ 2020-06-18 14:06 UTC (permalink / raw)
  To: m.eik michalke; +Cc: alsa-devel

On Thu, Jun 18, 2020 at 12:14:41PM +0200, m.eik michalke wrote:
> hi,
> 
> Am Donnerstag, 18. Juni 2020, 01:32:13 CEST schrieb Takashi Sakamoto:
> > > ok, could a hack like this also help me out?
> > > 
> > >   http://www.jrigg.co.uk/linuxaudio/ice1712multi.html
> > 
> > Yep, the PCM multi plugin in alsa-lib seems to be available as well.
> 
> that's encouraging. now i only have to figure that out ;) never had to deal 
> with .asoundrc before (which is testament to the hard work of all of you, 
> thx!).
 
The domain specific language in alsa-lib is not so easy to understand
and control. The result affects to all of ALSA applications like pulseaudio.
It's better to use alsa_in/alsa_out for the purpose to avoid unexpected
influences, IMO...

> > From my curiousity, would I ask you extra check in system log (like
> > journalctl -k)? ALSA Dice driver supports TCAT protocol extension, and
> > it firstly attempts to detect it for all of devices without explicit
> > flags (in your case). If the device doesn't support the extension, the
> > attempt fails and we can see below log:
> > 
> > ```
> > kernel: snd_dice fw1.0: transaction failed: timeout
> > ```
> 
> here's what i see in journalctl -k when the device is being plugged in:
> 
> kernel: firewire_ohci 0000:05:00.0: isochronous cycle inconsistent
> kernel: firewire_core 0000:05:00.0: created device fw1: GUID 000a920404af7744, 
> S400
> kernel: firewire_core 0000:05:00.0: phy config: new root=ffc1, gap_count=5
> kernel: firewire_core 0000:05:00.0: IRM is not 1394a compliant, making local 
> node (ffc0) root
> kernel: firewire_core 0000:05:00.0: phy config: new root=ffc0, gap_count=5
> kernel: snd_dice fw1.0: transaction failed: address error

Thanks. Now we confirm that the device doesn't support the protocol
extension. (And I realize there're two cases; the device doesn't just respond,
or returns RCODE_ADDRESS_ERROR.)

> let me know if you need anything else.

Hm. If you hear sound with periodical noise, please report it. The dice-based
device is known as one of the devices to require drivers for media clock
recovery. In detail, please read the other case[1].

[1] https://mailman.alsa-project.org/pipermail/alsa-devel/2020-May/167413.html


Regards

Takashi Sakamoto

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: presonus StudioLive 24.4.2
  2020-06-18 14:06             ` Takashi Sakamoto
@ 2020-06-18 21:29               ` m.eik michalke
  0 siblings, 0 replies; 9+ messages in thread
From: m.eik michalke @ 2020-06-18 21:29 UTC (permalink / raw)
  To: Takashi Sakamoto; +Cc: alsa-devel

hi,

Am Donnerstag, 18. Juni 2020, 16:06:23 CEST schrieb Takashi Sakamoto:
> The domain specific language in alsa-lib is not so easy to understand
> and control. The result affects to all of ALSA applications like pulseaudio.
> It's better to use alsa_in/alsa_out for the purpose to avoid unexpected
> influences, IMO...

i'll probably try both, and maybe FFADO as well. my goal is a solution that 
reliably works when we (my band) start recording again.

it's a pity alsa currently can't transparently take care of this. it looks 
like basically everything is in place, but you're left with that IKEA feeling, 
a collection of parts and a construction manual in your hand. when you plug in 
a 24-channel sound card and alsa successfully detects all of them, as a user 
you'd expect the single card that is actually offered by alsa to just provide 
all those channels. that the board internally might use mutliple chips is 
something you shouldn't have to worry about/figure out. i'd argue there's 
exactly one configuration that everyone would expect to get from a board like 
this, and that's all channels in one device. it would do no harm to 
automatically configure it like this by default. should someone actually 
prefer to have split devices for whatever use case, IMHO that should be the 
exception to be configured manually.

> > let me know if you need anything else.
> 
> Hm. If you hear sound with periodical noise, please report it. The
> dice-based device is known as one of the devices to require drivers for
> media clock recovery. In detail, please read the other case[1].

i'll check it out. we have just bought the board second-hand to replace a 
phonic helixboard that broke after ~10 years in our studio. i'm just starting 
to get familiar with it and haven't recorded much more than a proof of basic 
functionality yet.


viele grüße :: m.eik




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-06-18 21:31 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-16  8:11 presonus StudioLive 24.4.2 m.eik michalke
2020-06-16 12:18 ` Takashi Sakamoto
2020-06-17 13:00   ` m.eik michalke
2020-06-17 13:37     ` Takashi Sakamoto
2020-06-17 16:12       ` m.eik michalke
2020-06-17 23:32         ` Takashi Sakamoto
2020-06-18 10:14           ` m.eik michalke
2020-06-18 14:06             ` Takashi Sakamoto
2020-06-18 21:29               ` m.eik michalke

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.