From: Stefan R. <st...@s5...> - 2012-06-28 07:43:35
|
On Jun 27 Kolja Koch wrote: > Is there a way to identify if the 800 MB/s are really used? When you connect/ switch on the Fireface (or start the PC and get the kernel drivers loaded while the Fireface is already present), you should get a message in the kernel log like "firewire_core: created device fw1: GUID 000a35.........., S800". The last part (S800 or S400 or whatever) is the maximum possible transaction speed between the PC and the detected FireWire node. The kernel and all applications will use this speed for all asynchronous transactions (control and some status traffic). Streaming speed on the other hand (isochronous audio I/O and perhaps some status data embedded into the audio streams) has to be chosen by the application which initiates streaming, i.e. the FFADO drivers. FFADO works on top of libraw1394, and libraw1394 currently does not expose an interface which lets application query the kernel what maximum speed to use. So, a libraw1394 client cannot reuse the speed information which the kernel already worked out. This is basically because libraw1394's design is much older than the current kernel driver's design. However, I haven't looked how FFADO's RME driver is implemented, nor do I know whether the RME protocol offers some additional means to determine the maximum connection speed which would not have to rely on the initiator's node management layer. (Probably not; the RME firmware would have to run a full-blown node management layer too to figure out the maximum connection speed, which would be redundant.) Jonathan will surely comment on this part of the equation. BTW, Jonathan, would it be useful to FFADO to expose FW_CDEV_IOC_GET_SPEED in a new libraw1394 call? -- Stefan Richter -=====-===-- -==- ===-- http://arcgraph.de/sr/ |