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