AVB in der Theorie super aber die Praxis ist eher bescheiden

  • Es war ein 64bit Problem und das Release wurde am 9.8.2016 veröffentlicht. Also "bei mir läufst" deshalb weil das Problem behoben wurde :wink:


    Nunja die Lib steht unter MIT Lizenz Copyright (c) 2013 AudioScience Inc.


    Da sich der Controller nun starten lässt habe ich ihn mal ausprobiert. Es ist mir nicht gelungen einen Stream einzuleiten bzw zu unterbrechen. Denn die Endpoints verbinden sich automatisch wenn sie sich sehen. Ewt. war auch die Firmware auf den Endpoints zu alt. Das ganze ist aber sehr an den Dante Controller angelehnt.


    Das Lizenz Problem lässt sich einfach umgehen, die Lösung liefern sie sogar mit. Aber lassen wir das :roll:

  • Hier hat am Wochenende die Bastelfreude zugeschlagen.....


    Erkenntnis:
    Der Behringer Ultragain Pro-8 läuft intern via 4x4 I²S-Lanes.


    Das [url=https://www.minidsp.com/products/network-audio/avb-dg]Bastelding[/url) hier bietet ebenfalls 4x4 I²S-Lanes.....


    Der Behringer fliegt rum, der Lötkolben ist frisch geschliffen, die Pinouts ergooglet....
    Wollen wir mal sehen, was dabei rauskommt.... :)

  • garnichts.. oder hast du von C programmieren Ahnung ? Vor allen mit Xmos MCU und dessen Eigenarten ? Die Firmware die da wahrscheinlich drauf ist könnte sehr alt sein. Die Switch ist closed dank Marvell und basiert auf den selben Standard Design wie Motu. Wenn du die aktuelle Firmware da drauf spielen willst musst du die Hardware Konfiguration im Projekt anpassen. Das AVB Projekt von Xmos ist für dessen Demoboards gebaut.

    Vorsicht mit der Switch ! Die Chinesen wahren so schlau die 5V Versorgung direkt auf wichtige Bauteile zu führen. Bei den ganzen Stecknetzteil durch einander waren da bei mir schon mal 12V drauf -> total schaden .

  • Ich bereue das ich mich nochmals mit Thema befasst habe. Die Switch ist immer noch eine kleine Katastrophe, so wirklich funktioniert sie nicht. Zu mindestens nicht auf Anhieb. Mit etwas eingriffen kam Bewegung in die Sache. Wenn man die Flusskontrolle einschaltet kommt ein Segmentfault. Böse Böse wenn der Kernel so etwas abfangen muss wenn man ungesichert auf Speicherbereiche zugreift die ungültig sind. Das gute ist das der Kernel in dem Moment die Hosen runter lässt und das Register offenbart wo es das Problem gab :lol:


    Das Webinterface ist zwar extrem gering bietet aber die Möglichkeit des Firmware update, was in der Vorversion ist etwas heikel ab lief. Ob es funktioniert keine Ahnung :D Alles was AVB Betrifft ist direkt in den Kernel eingebaut worden, keine Module. So das es recht schwierig ist hier irrend welche Ursachen zu suchen. Ob es eine Möglichkeit gibt den entsprechen Code gesprächiger zu machen keine Ahnung. Dokumentation gibt es zu dieser Switch aufgrund des Lizenzmodels nicht. Auf all diese Dinge klebt ein großes Pflaster.


    Ich weiß nicht vor was Marvell mehr Angst hat? Das es einer klaut oder zum laufen bringt.


    Der Hono AVB Controller funktionierte so halbwegs. So sieht das aus wenn was zu sehen ist ;) Ich habe mal ein Multicast Stream geöffnet. Ob aus dem DSPforYou Board was raus kommt weiß ich nicht da ich mir den Aufwand sparen wollte einen DA Wandler ran zu fummeln.



    Das Problematische all dieser Controller ist ihr Prinzip. Sie schnüffeln die Daten Roh ab und werten sie dementsprechend aus. Die Lib WinPcap ist aus sicherheitstechnischer Sicht der reine Horror. Da jedes Paket ausgewertet werden muss verbraucht dies auch ordentlich CPU Zeit.


    Ich hätte so eine Idee wie man das besser macht und vor allen sicherer;)


    edit:



    etwas weiter, mit der Faust in die Tür klopfen und man kommt vorwärts.


    Den externen AVDECC Controller braucht man nicht unbedingt es ist ein Client oben auf der Switch. Mit etwas JavaScript bzw. AJAX lässt sich solch ein Controller auch auf der Switch realisieren. Das geht aber am einfachsten wenn man selbst CGI Programme schreiben kann die diese Register auslesen. So muss man sich mit dem gegebenen zufrieden geben und die Ausgabe von der Konsole umleiten.


    Register kann ich auch auslesen aber ich brauch das Vectortable und was der Inhalt bedeutet. Genau hier liegt das Problem..... Ich warte ja noch auf einen Whistleblower der mir einen Umschlag in den Briefkasten steckt :roll:


    wieder edit was bisher geht:


    Switch:
    gpios schalten im Sys Filesystem
    i2c
    i2s in Arbeit ... aber irrend etwas ist mit dem Kernelmodul nicht ok. .. dauert
    PTP konfigurieren und 8KHZ Referenz an die PIO zuschalten


    Wenn wir weiter machen kommt Post vom Anwalt :shock:


    was ich nicht habe ist die toolchain :evil: Das könnte man aber hinbiegen in dem ich meine eigene baue und exakt die gleichen gcc, shared libs. Ohne bleibt einen nur die bash oder pyton :roll:

  • Neuigkeiten, die Kontakte über den Teich wurden wiederbelebt heute morgen war der neuste Treiber der NIC-1 von Echo Digital Audio im Postfach.



    64ch Channels In/Out verteilt auf 8 Listener/Talker a 8 Channels.


    Das einzige was immer noch nicht funktioniert ist das der Treiber die Streams nach außen zur Verfügung stellt. Heißt mit dem AVB Device Enumeration, Discovery and Control ist der NIC-1 nicht steuerbar. Somit ist es nicht möglich zwei PCs zu koppeln.
    Streams können nur vom der Streamware Software aus initiiert werden. Die Sache hat auf Anhieb funktioniert da ich die Switch mittlerweile mehr unter Kontrolle habe :wink:



    Gut sind auch die Möglichkeiten des Loggings. Die Größe des Puffers lässt sich einstellen und Filtern.


    Als Recording/Playback System mit 64 Kanälen wäre das System sofort einsetzbar.

  • So unter Linux bin ich in der Lage die Endpoints per 1772.1 zu steuern.



    Benutzt wird die oben erwähnte Library. Die Switch läuft jetzt eigentlich ganz gut, problematisch ist nur das dass freigeben der Reservierten Bandbreite offenbar beim Disconnect nicht immer gelingt. Meine Idee wäre diese ganze Controller Sache auf ein Device auszulagern und dieses per HTTP mit Ajax/ Javascript zu steuern. RPI fällt aus der hat gerade durch eine defekte SD Karte multiples Organversagen. Genau deswegen baue ich so etwas auch nicht in Museen etc, ein. Außerdem hängt das Ethernet am USB.


    Vorteil wäre das man die Geschichte mit jeden Browser nutzen kann und damit auf fast allen was Javascript unterstützt. Da keine libcap benötigt wird somit auch sicher.


    Ich habe mir mal eine PTP fähige Intel Karte besorgt, den Rechner für das testen muss ich aber noch bei Gelegenheit zusammen schrauben. Mal schauen ob wir dem linux PC einen Stream entlocken können.

  • Das geht mit dem xmos Core auch, Problem hier dabei ist die Bandbreite. Diese sind relativ hoch und erfordern ein entsprechendes Netzwerk. Die dort gezeigte Anwendung erfordert einiges an Infrastruktur die einiges kostet.


    edit:
    Das Open AVB Projekt habe ich erst mal abgebrochen aus Zeitmangel.


    Die Intel i210 Netzwerkkarte hat sich leider als sehr problematisch erwiesen. Es gibt Probleme mit dem Kernel Treiber, der pcie bridge und vermutlich auch mit einen Bug im Bios des Testsystems. Somit ist die Karte nicht benutzbar, jedenfalls nicht mit dem alten PC. Der Link bricht bei jeden Datenverkehr ab.


    Positives gibt es von Marvell, der ExtraNet Zugang wurde mir gewährt :-D. Dadurch wird es leichter sein gewissen Dinge in der Switch in Angriff zu nehmen.

  • Ich habe die AVB Tauglichkeit von Apple mal untersucht und bin positiv überrascht. Man kann sagen was man will, es hat auf anhieb funktioniert. Die Geräte werden gefunden und man kann sich mit diesen verbinden, das Problemlos. Auch der MAC lässt sich in ein AVB Endpoint verwandeln

    . Allerdings ist es mir nicht gelungen mehr als 16ch zu streamen obwohl im Menü 64ch als auswählbar angezeigt werden.


    Man muss nicht mal sonderlich tief in die Tasche greifen, ich habe hier ein MacBook Air mit Thunderbolt Ethernet Karte. Die externen Karten, außer USB sind wohl alle PTP Fähig.