Re: MOTU Firewire driver - Measuring used (or available) Isochronous Bandwidth

Takashi Sakamoto <[email protected]>
Newsgroups org.alsa-project.alsa-devel
Message-ID <[email protected]>
Hi,

On Mon, May 25, 2026 at 11:42:18AM -0400, [email protected] wrote:
> I am looking at improving the Linux driver for an old MOTU interface (896
> mk1), as the Windows driver supports disabling the ADAT input/output for the
> purpose of saving bandwidth. I think I have found the appropriate controls,
> but would like to confirm that these do in-fact save bandwidth.
> 
> Q. how can I measure the used (or alternatively available) bandwidth under
> Linux?
> 
> I believe that the different connections should have a peak bandwidth of:
> 
> 4/6 pin - 400Mbps half duplex
> 9 pin - 800Mbps full duplex

In the communication protocol of IEEE 1394, the amount of available
bandwidth is represented in a register on a node (as isochronous resource
manager or root node). For example:

$ firewire-request /dev/fw0 read 0xfffff0000220
result: 00001333

Every time to consume the bandwidth, the requester reduces the value,
thus it is enough to see the difference of the value after starting packet
streaming.

The unit expresses the byte count at S400 speed. If you're interested,
read the computation in Linux sound drivers:
https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/tree/sound/firewire/iso-resources.c?h=v7.0#n48

I think you are interested in this topic as well:
https://github.com/alsa-project/snd-firewire-ctl-services/issues/215


Regards

Takashi Sakamoto
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.