[erledigt] moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

[erledigt] moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von hikaru » 19.08.2017 19:09:22

Hallo,

auf meinem Cubieboard2 läuft Stretch mit Debian-Standardkernel. [1] Die Soundausgabe erfolgt mit alsa über den Kopfhörerausgang und funktioniert im Prinzip (Debianmpv spielt hörbar Ton ab).
Nur mein Lieblingsmusikspieler Debianmoc stellt sich quer:

Code: Alles auswählen

$ mocp -D
Loading plugins from /usr/lib/arm-linux-gnueabihf/moc/decoder_plugins...
Loading plugin libaac_decoder...
OK
Loading plugin libflac_decoder...
OK
Loading plugin libmodplug_decoder...
OK
Loading plugin libmp3_decoder...
OK
Loading plugin libmusepack_decoder...
OK
Loading plugin libopus_decoder...
OK
Loading plugin libsidplay2_decoder...
OK
Loading plugin libsndfile_decoder...
OK
Loading plugin libspeex_decoder...
OK
Loading plugin libvorbis_decoder...
OK
Loading plugin libwavpack_decoder...
OK
Running the server...
Trying JACK...
Trying ALSA...
Trying OSS...

FATAL_ERROR: No valid sound driver!


FATAL_ERROR: Server exited!
Ich habe als Schuss in's Blaue schon eine asound.conf angelegt, die aber erwartungsgemäß ohne Wirkung blieb:

Code: Alles auswählen

defaults.pcm.!card sun4icodec
defaults.pcm.!device 0
defaults.ctl.!card sun4icodec
Nachdem ich einen kurzen Blick in den Quellcode geworfen hatte, aus dem ich aber auf die Schnelle nicht wirklich schlau wurde, habe ich Debianjack nachinstalliert, in der Hoffnung, dass hier irgendwas funktioniert. Da ich mich mit jack aber nicht auskenne weiß ich nicht, ob ich hier irgendwas konfigurieren müsste. Ein Erfolgserlebnis gab es nicht.
Unabhängig von diesem Problem habe ich Kernel 4.11 aus den Backports nachinstalliert. Aber auch das hatte keine Auswirkungen.

Hat noch jemand eine Idee, moc zum Laufen zu bringen? Lebensnotwendig ist die Sache für mich allerdings nicht. Mir geht es hauptsächlich darum herauszufinden, was hier schiefläuft.
Auf diversen x86-Rechnern mit Stretch und alsa funktioniert moc problemlos.


[1] viewtopic.php?f=12&t=162959
Zuletzt geändert von hikaru am 14.09.2017 22:13:17, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von DeletedUserReAsG » 19.08.2017 19:19:10

Läuft zufällig pulseaudio?

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von smutbert » 19.08.2017 19:54:09

jackd muss erstens gestartet werden, was allerdings auch automatisch passieren kann, wenn ein jack-Client sich verbinden will und man muss die Ein- und Ausgänge der Soundkarten, Anwendungen, usw. miteinander verbinden, damit die Audioausgabe dort ankommt wo man sie haben will. Im Grunde nicht viel anders als das nackte Alsa oder Pulse, aber wenn ich mich recht erinnere und ganz im Gegensatz zu Pulseaudio oder Alsa verschwinden die Audiodaten ohne weitere Maßnahmen erst einmal im Nirvana statt in einer realen Soundkarte.
Selbst ausprobiert habe ich aber lediglich einige wenige grafische tools zum Verbinden der Ein- und Ausgänge, bis ich zu dem Schluss gekommen bin, dass ich jack nicht benötige.

moc sollte aber Alsa unterstützen.
Ich selbst kenne es nicht, hab auf der Seite von moc [1] in den Kommentaren ein paar Konfigurationsschnipsel entdeckt. Dementsprechend würde ich es mit so etwas in der Konfiguration von mocp versuchen:

Code: Alles auswählen

SoundDriver = ALSA
ALSADevice = default
funktioniert eigentlich die Wiedergabe mit aplay, ohne Angabe weiterer Parameter?

Code: Alles auswählen

$ aplay /usr/share/sounds/alsa/.....wav
Läuft das mit moc ähnlich wie mpd mit Client und Server?
Läuft der Server unter einem anderem Benutzeraccount, der eventuell nicht lokal angemeldet und nicht Mitglied von audio ist oder eine eigene fehlerhafte .asoundrc hat?

Mehr fällt mir im Moment nicht ein, aber ich werde mir moc einmal selbst ansehen...


[1] http://moc.daper.net/node/692#comment-5682

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von hikaru » 19.08.2017 20:59:57

niemand hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 19:19:10
Läuft zufällig pulseaudio?
Nein. Es ist auch nichts Wesentliches in der Richtung installiert:

Code: Alles auswählen

# dpkg -l | grep pulse
ii  gstreamer1.0-pulseaudio:armhf         1.10.4-1                       armhf        GStreamer plugin for PulseAudio
ii  libpulse-mainloop-glib0:armhf         10.0-1+deb9u1                  armhf        PulseAudio client libraries (glib support)
ii  libpulse0:armhf                       10.0-1+deb9u1                  armhf        PulseAudio client libraries
ii  xfce4-pulseaudio-plugin:armhf         0.2.4-1                        armhf        Xfce4 panel plugin to control pulseaudio

smutbert hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 19:54:09
jackd muss erstens gestartet werden,
Ich hoffe, das reicht dafür:

Code: Alles auswählen

# jackd -d alsa
jackd 0.125.0rc1
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
loading driver ..
creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
An der Fehlermeldung von moc hat das nichts geändert. Ich möchte mich aber eigentlich mit jack auch nicht beschäftigen. Es sollte ja über alsa gehen.
smutbert hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 19:54:09
moc sollte aber Alsa unterstützen.
Ja, tut es. Auf allen meinen x86-Maschinen.
smutbert hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 19:54:09
Ich selbst kenne es nicht, hab auf der Seite von moc [1] in den Kommentaren ein paar Konfigurationsschnipsel entdeckt. Dementsprechend würde ich es mit so etwas in der Konfiguration von mocp versuchen:

Code: Alles auswählen

SoundDriver = ALSA
ALSADevice = default
Das brachte keinen Erfolg. Diese Konfiguration greift offenbar erst nach dem Erkennen des Soundtreibers an sich.
smutbert hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 19:54:09
funktioniert eigentlich die Wiedergabe mit aplay, ohne Angabe weiterer Parameter?

Code: Alles auswählen

$ aplay /usr/share/sounds/alsa/.....wav
Ja. Auch mit mpv oder quodlibet. Das Problem ist offenbar moc-spezifisch.
smutbert hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 19:54:09
Läuft das mit moc ähnlich wie mpd mit Client und Server?
Ich glaube ja, aber dazu kenne ich mich zu wenig mit mpd aus.
smutbert hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 19:54:09
Läuft der Server unter einem anderem Benutzeraccount, der eventuell nicht lokal angemeldet und nicht Mitglied von audio ist oder eine eigene fehlerhafte .asoundrc hat?
Beide laufen als der selbe User. Startet man mocp, so wird der vom Client automatisch gestartet, falls keiner gefunden wird. Auf x86 funktioniert das problemlos und ich glaube auch, dass die Fehlermeldung anders aussähe, wenn es ein reines Verbindungsproblem zwischen Server und Client wäre.
smutbert hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 19:54:09
Mehr fällt mir im Moment nicht ein, aber ich werde mir moc einmal selbst ansehen...
Danke! Aber auf einem 08/15-x86-Rechner wirst du das Problem wohl kaum nachstellen können.
Ich bin mir nicht sicher ob es an der armhf-Architektur liegt, oder an der noch in den Kinderschuhen steckenden Hardwareunterstützung des Cubieboards. Auf meinem N900 läuft moc jedenfalls in einem Jessie-armhf-chroot ebenfalls problemlos. Ein Stretch-chroot läuft da leider nicht mehr.

DeletedUserReAsG

Re: moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von DeletedUserReAsG » 19.08.2017 21:22:16

Also auf ‘nem Cubietruck aka Cubieboard 3 tut moc den Job, allerdings ist’s kein Stretch und kein Debian-Standardkernel. Aber wenn mpv und aplay Ton von sich geben, tut’s ja grundlegend, und ich würde den Fehler weiter bei moc suchen – leider habe ich auch zuwenig Überblick über moc, um hier weiterhelfen zu können.

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von smutbert » 19.08.2017 22:31:38

hikaru hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 20:59:57
[…]
smutbert hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 19:54:09
Mehr fällt mir im Moment nicht ein, aber ich werde mir moc einmal selbst ansehen...
Danke! Aber auf einem 08/15-x86-Rechner wirst du das Problem wohl kaum nachstellen können.[…]
Das wäre vielleicht die Gelegenheit endlich ein richtiges stretch auf meinem cubietruck zu installieren :wink:
Seh ich das richtig, dass man das installer-Image auf eine Speicherkarte schreibt, davon bootet und dann bei der Installation die Speicherkarte wieder überschreibt?

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von hikaru » 19.08.2017 23:07:50

smutbert hat geschrieben: ↑ zum Beitrag ↑
19.08.2017 22:31:38
Seh ich das richtig, dass man das installer-Image auf eine Speicherkarte schreibt, davon bootet und dann bei der Installation die Speicherkarte wieder überschreibt?
Falls du dich auf meinen Thread zur Debianinstallation auf dem CB2 beziehst, dann nein.

Auf die µSD-Karte kommt zunächst nur ein uboot, das dann den Installer von einem USB-Stick lädt. Von da an läuft im Grunde alles so ab wie bei einer Installation von einem USB-Stick auf x86. Die µSD-Karte wird vom Installer nicht mehr gebraucht und könnte als Ziel für die Debianinstallation dienen. Du könntest nach dem Starten des Installers aber auch die Karte wechseln.
Ich habe Debian auf eine per SATA angeschlossene HDD installiert und nur /boot auf der µSD-Karte, weil das CB2 nur von µSD oder NAND booten kann und ich mich nie ausreichend mit der Einrichtung des NAND beschäftigt habe.

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von smutbert » 19.08.2017 23:45:21

Nein, der Link auf den Thread ist mir entgangen. Ich hab nur ein zweigeteiltes Installerimage samt Readme gefunden, wo die Rede davon ist, dass der Installer komplett aus dem Hauptspeicher läuft und man so auf die Speicherkarte installieren kann, von der gebootet wurde.

Benutzeravatar
smutbert
Moderator
Beiträge: 8313
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von smutbert » 12.09.2017 00:12:42

Jetzt habe ich eine normale stretch-Installation mit Kernel 4.11 auf meinem Cubietruck und kann das Problem nachvollziehen - wirklich sehr interessant. Mit dem Audiogerät an sich scheint das ganze nichts zu tun zu haben, denn der Fehler tritt auch mit einer virtuellen Loopback-Soundkarte und ebenfalls mir einer USB-Soundkarte auf - vielleicht irgendein arm-spezifisches Problem mit Alsa von moc?

Sobald ich Pulseaudio installiere läuft es. Ich nehme an mit dem Umweg über jack würde es ebenfalls funktionieren.

Einen Workaround ohne Pulseaudio gibt es auch:
Debianalsa-oss installieren und

Code: Alles auswählen

$ aoss mocp
funktioniert ebenfalls problemlos.
(Eigentlich gibt es noch eine zweite Variante des Workarounds, denn Alsa bringt noch eine OSS-Emulation in Form des Kernelmoduls snd-pcm-oss mit. Das Laden des Kernelsmoduls genügt, dass es ebenfalls funktioniert.)

Der Unterschied ist, dass sich aoss (alsa-oss) über die normalen Alsa-Konfigurationsdateien konfigurieren lässt und man so auch mehrere OSS-Geräte definieren kann, das Kernelmodul snd-pcm-oss (und gegebenenfalls auch snd-mixer-oss) muss man über Moduloptionen konfigurieren und es erlaubt meines Wissens maximal zwei OSS-Geräte.
Solange man aber nichts besonderes will, ist eine Konfiguration in keinem der beiden Fälle notwendig.

edit:
mir fällt gerade auf, dass ich das Wort "ebenfalls" heute besonders gerne habe.

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von hikaru » 12.09.2017 09:08:15

Danke für den Test.
smutbert hat geschrieben: ↑ zum Beitrag ↑
12.09.2017 00:12:42
vielleicht irgendein arm-spezifisches Problem mit Alsa von moc?
Irgendwas in die Richtung wird es wohl sein.
Ich werde auf dem Cubieboard auch nochmal ein Jessie-chroot aufsetzen um auszuschließen, dass es eine Stretch-Regression ist.
smutbert hat geschrieben: ↑ zum Beitrag ↑
12.09.2017 00:12:42
Sobald ich Pulseaudio installiere läuft es.
Das wird wohl erklären, warum ich das Problem auf dem N900 nicht habe. Dort läuft ohnehin (eine steinalte Version von) Pulseaudio. Da hängt sich das Jessie-chroot-moc vermutlich einfach an (ich habe es nie geprüft).
smutbert hat geschrieben: ↑ zum Beitrag ↑
12.09.2017 00:12:42
Ich nehme an mit dem Umweg über jack würde es ebenfalls funktionieren.
Dann muss da aber mehr Konfiguration nötig sein als mein unbeholfenes Gestümper.
smutbert hat geschrieben: ↑ zum Beitrag ↑
12.09.2017 00:12:42
Einen Workaround ohne Pulseaudio gibt es auch:
Debianalsa-oss installieren und

Code: Alles auswählen

$ aoss mocp
funktioniert ebenfalls problemlos.
(Eigentlich gibt es noch eine zweite Variante des Workarounds, denn Alsa bringt noch eine OSS-Emulation in Form des Kernelmoduls snd-pcm-oss mit. Das Laden des Kernelsmoduls genügt, dass es ebenfalls funktioniert.)

Der Unterschied ist, dass sich aoss (alsa-oss) über die normalen Alsa-Konfigurationsdateien konfigurieren lässt und man so auch mehrere OSS-Geräte definieren kann, das Kernelmodul snd-pcm-oss (und gegebenenfalls auch snd-mixer-oss) muss man über Moduloptionen konfigurieren und es erlaubt meines Wissens maximal zwei OSS-Geräte.
Solange man aber nichts besonderes will, ist eine Konfiguration in keinem der beiden Fälle notwendig.
Danke! Das sieht nach praktikablen Lösungen aus. Ich werde das heute Abend mal ausprobieren.

Benutzeravatar
hikaru
Moderator
Beiträge: 13559
Registriert: 09.04.2008 12:48:59

Re: moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von hikaru » 14.09.2017 22:12:54

Ich bin endlich wieder an mein CB2 gekommen und kann bestätigen, dass moc nach dem Laden von snd-pcm-oss funktioniert. Danke dafür!

Mein Problem hat sich damit erledigt, da es aber ja eigentlich auch ohne oss-Emulation gehen sollte möchte ich den Thread nicht auf "gelöst" setzen.

vulture
Beiträge: 23
Registriert: 02.12.2007 22:49:06

Re: [erledigt] moc/Stretch auf Cubieboard2: "FATAL_ERROR: No valid sound driver!"

Beitrag von vulture » 17.05.2022 13:11:01

Moin!
Ich hole den Beitrag mal aus der Versenkung, ich hatte gestern das gleiche Problem. Nach einer Stunde rumprobieren läuft der moc nun.
Hardware ist ein Odroid HC1 mit Armbian Bullseye.

$ aplay -l

Code: Alles auswählen

**** List of PLAYBACK Hardware Devices ****
card 1: D50s [D50s], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
$ cat /etc/asound.conf

Code: Alles auswählen

defaults.pcm.!card D50s
defaults.ctl.!card D50s
$ amixer

Code: Alles auswählen

Simple mixer control 'D50s ',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 127
  Mono: Playback 68 [54%] [-59.00dB] [on]

$ cat ~/.moc/config

Code: Alles auswählen

SoundDriver = ALSA
ALSAMixer1 = "D50s "
Leerzeichen! :roll:
,___,
{o,o}
|)__)
-"-"-
O RLY?

Antworten