Skip to content

triib 1.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 01 Nov 09:26
· 6 commits to main since this release

Host entities on Linux keep the network's time with gptpd, an 802.1AS
daemon whose packages come with triib's, in place of linuxptp's ptp4l:
their links and streams ride through grandmaster changes, restarts and
link bounces, and this computer can be the grandmaster. triib changes
the format of a running stream where the entity lets it, warns when a
Mac drops audio on its own clock, and names bridges' makers from the
IEEE's registries on every system.

Programs sharing triib-endpointd, such as plaa, keep their streams as it
stops or starts again, host entities' streams keep their frames in
order, and host entities send and analyze test tones and refuse the
format changes Milan 1.3 forbids while bound or streaming.

Controller

  • A stream input that will not take a new format while it runs, or a
    stream output whose entity can stop it, is stopped, set and started
    again, instead of asking for it to be disconnected first;
    triib-cli format does the same. Milan entities, triib's own host
    entities among them, take no new format on an input while it is bound
    or on an output while it streams, stopped or not, so those still ask.
  • A Mac's AVB entity receiving a stream on its own clock, as macOS
    starts it on Mac System Clock, drops audio from what it receives. It
    now raises an alarm, with a button in its Diagnostics tab to follow
    the stream's clock instead, and agents find it in list_problems.

Host entities (Linux)

  • Host entities keep the network's time with gptpd, an 802.1AS daemon in
    a package of its own, where triib-endpointd ran linuxptp's ptp4l.
    gptpd never steps or slews the card's clock, which stamps the peer
    delay exchanges the neighbor measures the link with, so those stay
    clean through the first lock, grandmaster changes, restarts and link
    bounces, where ptp4l could slew the clock for seconds faster than a
    bridge accepts; and streams follow a new grandmaster within a Sync or
    two, where they held the old time through ptp4l's slew and then
    jumped. gptpd marks its messages PTP 2.0 on every distribution, as a
    PreSonus AVB switch needs. triib-endpointd starts gptpd@<interface>
    where none answers, and triib says when gptpd is not installed, or will
    not start because another PTP daemon, such as a ptp4l run by hand,
    holds the interface.
  • This computer is grandmaster capable, with priority1 248 as Milan
    asks, where its entities never took the grandmaster's place.
    priority1 in gptpd's /etc/gptpd/<interface>.conf sets it: 255 for
    never, 246 to be preferred. Behind a switch taking no part in AVB, the
    network map shows this computer as the grandmaster where it is one,
    rather than out of sync.
  • gptpd decides when to fall back to AVB Lite and when to go back, and
    the entities follow it, where triib-endpointd weighed it and moved
    ptp4l between two units of triib's; a program sharing the port, such
    as plaa, sees the same decision.
  • For testing streams with other devices, an output with
    audio = "tones" sends a tone of its own on each channel, 500 Hz and
    125 Hz more for each channel after, and an input with
    audio = "analyze" checks what it receives against the tones it
    carries: the log says, for each time it listens, its samples and
    each channel's clicks, gaps, tone and peak, when the first clicks
    and gaps came, the clock it recovered and its stream's counters.
  • A talker that stops for want of listeners logs what it sent.
  • A host entity refuses a new stream format on an input while it is
    bound, and a new format or max transit time on an output while it
    streams, as Milan 1.3 asks (5.4.2.7, 5.4.2.30), where it took them and
    started the stream again.
  • triib-endpointd tells the programs sharing its MSRP participant, such
    as plaa, that it leaves as it stops or starts again, and keeps what
    they declared registered on the bridge for them to take over at once,
    where they lost their streams for 15 s; as it starts, they hand it
    back.
  • triib warns of a program sharing triib-endpointd that cannot take its
    streams over, such as an older plaa, in the Entities view and under
    Settings' entities file, where a change would start triib-endpointd
    again.
  • Starting, triib-endpointd has the bridge declare its streams again at
    once, rather than hearing of them at the bridge's next LeaveAll, up to
    10 s later.

Fixed

  • A host entity takes a stream format a controller adapts from one it
    offers as up to so many channels, such as AM824 at its exact
    channels, as Hive does on connecting; it refused all but the formats
    it lists.
  • A host entity's stream at four times its audio device's rate, such
    as 192 kHz into a 48 kHz virtual device, no longer stops its listener
    after a few seconds.
  • A host entity's output given a format that takes more bandwidth goes
    on as another of four stream IDs, which a bridge holds nothing of,
    where a MOTU switch went on policing the stream to its old frame size
    and dropped a third of its frames; listeners take the new ID as they
    connect. Where that ID was given up within 32 s, and for a talker of a
    program sharing the port such as plaa, the new format is declared
    once the bridge has let the old reservation go, two of its LeaveAlls
    later.
  • triib-endpointd's LeaveAll goes for every MSRP attribute type, as a
    switch's does, where it went only for those it declared, so that a
    switch declared its talkers again only at its own LeaveAll.
  • triib-link@ sends all of the AVB interface's frames on its first
    transmit queue: a card with several, such as the Intel I210, spread a
    stream's frames over them, and some left out of order.
  • A host entity's talker sends with priority 3, so the default fq_codel
    queue keeps a stream's frames in one flow, where each frame could take
    a flow of its own and leave out of order when the queue backed up, as
    when a talker catches up after waking late.
  • A host entity's talker starting its media clock again twice with no
    frame sent between, as after a late send and then a jump of gPTP time,
    changes the mr bit once, where the two changes cancelled and a
    listener saw the stream's time jump with no media reset.
  • A host entity withdrawing a declaration moments after making it sends
    its Leave, so a quick connect and disconnect no longer leaves a talker
    counting a listener that has gone.
  • A host entity's input keeps its talker when a bridge declares the
    talker failed and then advertised again without withdrawing the
    advertisement, as a PreSonus switch does while the talker's port comes
    up, where the input lost the talker for good once the failure cleared.
  • triib-endpointd answers a bridge's LeaveAll that carries the bridge's
    own declaration of VLAN 2 or an SR class domain with its own at once,
    where the bridge's registration of triib-endpointd's lapsed at each of
    those LeaveAlls until triib-endpointd's next one.
  • The Diagnostics tab's egress bar shows its empty track when an
    interface sends nothing, where it was drawn full, and would have been
    drawn empty at a full link.
  • The network map names a bridge's maker on macOS and Windows too, from
    the IEEE's registries built into triib, where it read the list a
    Linux system keeps. A bridge whose MAC address is in an MA-M, MA-S or
    IAB block is named by the company that block went to, where it showed
    as "IEEE Registration Authority".

Packages

  • The packages recommend gptpd, where they recommended linuxptp, and the
    PKGBUILD depends on it; gptpd's own packages come with triib's
    releases. The ptp4l units, their configurations and their polkit rule
    are gone, and installing stops any ptp4l unit an older triib started.
    Upgrading a Debian package removes the configurations in /etc/triib,
    keeping a changed one as .dpkg-bak, where dpkg would have kept them
    for good. A polkit rule still lets the person at the computer run triib-link@
    and triib-link-reset@.
  • The AppStream data dates 1.2.0 October 24, the day it was released.
  • The Windows installer's last page says this computer cannot be an AVB
    endpoint on Windows, no longer "yet": Windows gives no hardware time
    stamps for gPTP frames sent from user space, on the Intel I210 too.