Externer Musical Fidelity M1 DAC via USB ?

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hi all,

    ich habe heute viel Zeit investiert um meinen Musical Fidelity M1DAC am Raspberry vernünftig zum Laufen zu bringen.
    Prinzipiell spielt er, aber der Ton ist mit starkem Prasseln unterlegt.
    Das Ziel der Übung ist ein Airplay Receiver, der über den externen DAC spielt.

    Der DAC kan 24/96 und ist an den Raspberry über USB angebunden.
    Er wird m.E. richtig erkannt,

    pi@raspberrypi ~ $ aplay -L
    null
    Discard all samples (playback) or generate zero samples (capture)
    pulse
    PulseAudio Sound Server
    sysdefault:CARD=M2496
    Musical Fidelity M1 DAC 24/96, USB Audio
    Default Audio Device
    front:CARD=M2496,DEV=0
    Musical Fidelity M1 DAC 24/96, USB Audio
    Front speakers
    surround40:CARD=M2496,DEV=0
    Musical Fidelity M1 DAC 24/96, USB Audio
    4.0 Surround output to Front and Rear speakers
    surround41:CARD=M2496,DEV=0
    Musical Fidelity M1 DAC 24/96, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
    surround50:CARD=M2496,DEV=0
    Musical Fidelity M1 DAC 24/96, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
    surround51:CARD=M2496,DEV=0
    Musical Fidelity M1 DAC 24/96, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
    surround71:CARD=M2496,DEV=0
    Musical Fidelity M1 DAC 24/96, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
    iec958:CARD=M2496,DEV=0
    Musical Fidelity M1 DAC 24/96, USB Audio
    IEC958 (S/PDIF) Digital Audio Output

    Über HDMI und meinen AV-Receiver klappt alles wunderbar und klingt einwandfrei,
    über USB prasselt es, unabhängig davon ob die Musik leise oder laut ist.

    Hier die Liste der Dinge, die ich versucht habe:

    - Tools: aplay, speaker-test
    - verschiedene Quellfiles mit unterschiedlichen Auflösungen - kein Einfluss, DAC erkennt die richtige Abtastraten
    - Ausgabe über Mixer oder direkt an die Hardware - bei Direktausgabe einer 96kHz Datei stärkeres Prasseln, wenn der Mixer auf 48kHz wandelt ist es schwächer, aber immer noch störend
    - Konfiguration als Soundkarte 0 oder 1 - keine Auswirkung
    - USB auf 1.1 speed gedrosselt - keine Änderung
    - Zwei verschiedene Netzteile, kein Einfluss
    - Verschiedene Alsa Konfigdateien, keine Änderung

    Bin kurz vor'm Aufgeben und für jeden Hinweis sehr dankbar.

    Mike_314

  • Danke für den Tip !

    Ich hab noch etwas recherchiert - es scheint ein ungelöstes Problem mit USB packet loss bei isochroner Übertragung zu geben,
    d.h. der DAC bekommt einfach nicht alle Pakete.

    Hab vorhin die Firmware aktualisiert, hat aber auch nichts gebracht ...
    /opt/vc/bin/vcgencmd version

    Feb 3 2013 18:50:46
    Copyright (c) 2012 Broadcom
    version 366977 (release)

    Mein Kernel hat folgende Versionsnummer:
    Linux raspberrypi 3.6.11+ #368 PREEMPT Sun Feb 3 18:35:57 GMT 2013 armv6l GNU/Linux

  • Moin,
    ich klinke mich hier einfach mal ein, da ich auch nicht weiterkomme.
    Ich dachte erst es liegt am Strom.
    Ich hatte den selben Effekt schon einmal.
    Ich hatte OpenELEC auf einer i386-kiste(lüfterloser ATOM) laufen, klang wie von Dir beschrieben mit einem xbmc-Ubuntu war es weg.
    Gibt es für den RPi eigentlich so was wie Foobar oder Rockbox, also nur für Musik.


    mfg


    Jürgen

    Raspberry-ModB-512M - "Monica3 USB-AudioDAC" - Grant G100P(Tubepreamp) - 300B-SE - Lowther(Bicor200) und ein Fernseher:dodgy:

  • Hi,

    an der Stromversorgung liegt's nicht, hab unterschiedliche Netzteile versucht.

    Es gibt noch ein paar neue Indizien:

    Im Syslog stehen viele Einträge, die vom Alsa Treiber erzeugt werden:

    [ 9893.369733] delay: estimated 0, actual 145
    [ 9893.390733] delay: estimated 0, actual 145
    [ 9893.411743] delay: estimated 0, actual 144
    [ 9893.433739] delay: estimated 0, actual 145
    [ 9893.454739] delay: estimated 0, actual 145
    [ 9893.475746] delay: estimated 0, actual 144
    [ 9893.497749] delay: estimated 0, actual 145
    [ 9893.518754] delay: estimated 0, actual 145
    [ 9893.540757] delay: estimated 0, actual 144
    [ 9893.561758] delay: estimated 0, actual 145
    [ 9893.582759] delay: estimated 0, actual 145
    [ 9893.604766] delay: estimated 0, actual 144
    [ 9893.625765] delay: estimated 0, actual 145
    [ 9893.646771] delay: estimated 0, actual 145
    [ 9893.668772] delay: estimated 0, actual 144
    [ 9893.689776] delay: estimated 0, actual 145
    [ 9893.710777] delay: estimated 0, actual 145
    [ 9893.732792] delay: estimated 0, actual 144

    Ich hab mal in den Alsa-Quellen gesucht,
    die Ausgabe passiert in der Funktion retire_playback_urb
    in der Datei endpoint.c

    Wenn ich einen USB hub dazwischenhänge werden die Störungen stärker,
    eine zusätzliche Maus am Hub verschlimmert weiter.

    Mike

  • Probiere das mal:


    well today after spending several hours with the new release, i've managed to have a good setup.


    - installed latest raspbmc version on a new sd
    - changed advancedsettings.xml to set omxplayer for audio
    - changed boot/config.txt to use usb1 instead usb2
    - enabled AudioEngine
    - removed system sounds from XBMC

    Hab ich schon gemacht, klingt gut.
    Ich höre nur Musik damit.

    Mfg


    http://http://forum.stmlabs.com/showthread.php?tid=1052&page=38

    Das Thema wird hier behandelt

    Raspberry-ModB-512M - "Monica3 USB-AudioDAC" - Grant G100P(Tubepreamp) - 300B-SE - Lowther(Bicor200) und ein Fernseher:dodgy:

    Einmal editiert, zuletzt von 3stracki (12. Februar 2013 um 15:27)

  • Vielen Dank für den Tip. Hab ich probiert und eine Karte mit raspbmc aufgesetzt.
    Leider gibt es auch hier genau die selben Effekte, d.h. Störungen auf dem USB DAC, wenn Musik läuft.
    Über HDMI ist alles in Ordnung.

    Es scheint also wohl irgendwie an der Kombination des ALSA Treibers mit dem USB Treiber zu liegen, der
    Sich manchmal bei den Delays verhaut.

    Da muss man wohl den Treiber fixen :(

    Leider kenn ich mich an der Ecke zu wenig aus.

  • Moin,
    ich versuche es noch mal.
    Also ich würde mal Raspbian aufsetzen bis der Sound nicht mehr prasselt und dann schlussendlich das xbmc drauf.
    Wenn die USB-Soundkarte/DAC als Standard-Hardware "läuft" sollte XBMC es auch als Standard für den Analog-Betrieb nutzen.
    Gruß

    Jürgen

    Raspberry-ModB-512M - "Monica3 USB-AudioDAC" - Grant G100P(Tubepreamp) - 300B-SE - Lowther(Bicor200) und ein Fernseher:dodgy:

  • Hallo Jürgen,

    Das war genau der richtige Tip, hab gerade die neueste Version von Raspbian installiert und jetzt geht's einfach !

    Bin total begeistert ! Keine Störungen, funktioniert auf Anhieb, shairport läuft, alles gelöst.

    Vielen herzlichen Dank, es klingt einfach genial über den externen DAC.

    Michael

  • hmm hatte mal den DragonFly DAC im Auge würde mich fragen ob der mitm Rpi funktionieren würde. Sollte mal so eine Liste gemacht werden von Leuten die wissen welche DAC's kompatibel sind :o

  • Hallo nochmal.

    Ist mir ja furchtbar peinlich, aber das Problem ist leider doch nicht gelöst.

    Ich hatte beim letzten Mal versehentlich über HDMI gehört und dabei hat es natürlich funktioniert
    - das USB Problem ist leider weiterhin ungelöst.

    Ich hab noch weitere Forenbeiträge gelesen, es deutet immer mehr auf ein Firmwareproblem hin.
    Offensichtlich gibt es einfach hin und wieder Pakete die verloren gehen - das passiert offenbar
    auf einer unteren Ebene unabhängig vom Audiotreiber.

    Tja - da muss man wohl warten und hoffen ...

    :(

  • Hallo,
    ich seit heute Mitglied im Forum - deshalb so eine späte Antwort auf deine Frage aus dem Februar!!
    Heute ist ein interessanter Artikel zu deinem Problem in der Klang und Ton erschienen(Musikserver mit Rasberry Pi). Dort wurde auch von Aussetzern berichtet, die
    über die Verbindung USB====>DAC usb auftreten und zwar umso stärker je höher die Samplingrate ist. Die Redakteure kamen zu dem Schluß, daß eine USB-Ausgabe zu einem USB-DAC zur Zeit störungsfrei nicht möglich ist und empfehlen eine Audio-Ausgabe nur über HDMI und zwar
    a) wenn ein Receiver/Verstärker mit HDMI-Eingang vorhanden ist - direkt an den HDMI-Eingang
    b) wenn ein ext.DAC wie bei dir vorhanden ist über einen kleinen Umweg: Vom Rasperry HDMI-Ausgang an einen HDMI-Konverter, der das Audio-Signal extrahiert und
    als SPDIF an den DAC ausgibt. Somit könntest du mit einem relativ geringen finanziellen Aufwand(ca. 30 Euro) deinen tollen DAC über den SPDIF-Eingang nutzen.

    Gruß Dirk040

  • Hallo Dirk,

    vielen Dank für den Hinweis, das deckt sich mit meinen Erkenntnissen.

    Offenbar hat der USB Port beim Raspi ernsthafte Bugs,
    die dazu führen, dass Pakete verloren gehen.
    Bei fehlertoleranten Protokollen wird dies auf höherer Protokollebene ausgeglichen,
    beim isochronen Transfer geht das leider nicht.

    Der Fehler kann nun entweder hardwareseitig oder in der Firmware liegen,
    in beiden Fällen kann man wohl anwenderseitig nicht viel machen und muss
    darauf hoffen, dass jemand von der Foundation sich der Sache annimmt.

    Meines Wissens liegt die Firmware nur als "Binärhaufen" vor, d.h. eigene Änderungen
    gehen nicht.

    Man könnte mit geeignetem Messgerätepark noch weiterforschen
    ob das Problem auf Signalebene liegt, z.B. nicht einhalten der USB Signalpegel / Timings,
    aber ohne Löten / neue Firmware wird man es wohl nicht fixen können.

    Ich hab vorerst aufgegeben - die Lösung über HDMI Stripper ist mir zu aufwendig.

    Michael

  • Hallo,

    endlich habe ich das System stabil zum Laufen bekommen, nachdem ich die neuesten Fixes eingespielt habe. Der USB-Bug wurde offensichtlich behoben und jetzt funktioniert das Airplay Streaming zuverlässig zum M1DAC.

    Wenn man dem Raspi über Wlan anspricht gibt es sehr sporadisch (alle paar Minuten) einen leisen Knackser, aber das stört nicht wirklich - über LAN ist mir das nicht aufgefallen.

    Mike_314

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!