RPi Audio...

Begonnen von dougie, 13 Januar 2013, 11:55:45

Vorheriges Thema - Nächstes Thema

Rohan

jetzt kommt eben das hier, wie schon angedeutet.

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

dougie


Danke Thomas, den Post hatte ich gar nicht gesehen.

Ich hab jetzt alles mögliche probiert.

Der eine legt die config in die .asoundrc der andere nimmt die asound.conf ?

http://raspberrypi.org/phpBB3//viewtopic.php?f=66&t=17863&p=195324

alsamixer funktionert die ganze Zeit, aber alsamixer -D equal gibt immer "Plugin version mismatch", egal was ich in die config files eintrage.
Hab auch schon versucht dmix zu installieren, aber nichts geht.

Puh. Da ist noch einiges im Argen.

VG
Ralf

Rohan

Hallo Ralf,

dann mal weiter ;)

Ich glaube, du hattest die Lösung schon selbst hier geschrieben, aber nicht gesehen, denn du hast hier folgendes reinkopiert:

Zitatpi@raspberrypi /usr/lib/alsa-lib $ sudo cp *.so /usr/lib/arm-linux-gnueabihf/alsa-lib

pi@raspberrypi /usr/lib/alsa-lib $ alsamixer -D equal
ALSA lib control_ext.c:664:(snd_ctl_ext_create) ctl_ext: Plugin version mismatch

cannot open mixer: Operation not permitted

pi@raspberrypi /usr/lib/alsa-lib $ sudo alsamixer -D equal
ALSA lib control.c:951:(snd_ctl_open_noupdate) Invalid CTL equal
cannot open mixer: No such file or directory

Das "Plugin version mismatch" kommt, wenn du es nicht als superuser machst, machst du es dagegen mit vorangestelltem sudo, dann kommt das nicht, aber dann scheint nicht das richtige Device herangezogen zu werden. Ich würde dir raten, zu ermitteln, welche Gruppe auf die Sound-Devices die entsprechenden Rechte hat und den Benutzer "Pi" dieser Gruppe zuzuweisen. Wie man das bei einem anderen Problem macht findest zu z.B. hier beschrieben (ganz unten "$ sudo usermod ...").

Und nein, ich habe diese Konfiguration hier nicht und werde sie auch nicht haben. Ich versuche nur mit dem, was ich zu Linux weiß, hier zu helfen.

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

dougie

Moin Thomas,

entschuldige, wenn ich dir so viel zeit stehle. Aber du machst das hervorragend: so lerne ich zumindest, wie es richtig geht.

Ich hab jetzt mit


root@raspberrypi:/home/pi# usermod -a -G audio pi
root@raspberrypi:/home/pi# usermod -a -G audio root
root@raspberrypi:/home/pi# gpasswd -a pi audio
Adding user pi to group audio
root@raspberrypi:/home/pi# gpasswd -a pi audio
Adding user pi to group audio


mal allen Rechte auf audio gegeben. Bislang jedoch keine Veränderung im Verhalten.

Ich steig  mal etwas tiefer ein:


root@raspberrypi:/home/pi# cat /dev/sndstat
Sound Driver:3.8.1a-980706 (ALSA v1.0.25 emulation code)
Kernel: Linux raspberrypi 3.6.11+ #366 PREEMPT Wed Jan 30 12:59:10 GMT 2013 armv6l
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
Burr-Brown from TI USB Audio CODEC at usb-bcm2708_usb-1.3, full speed
bcm2835 ALSA

Audio devices: NOT ENABLED IN CONFIG

Synth devices: NOT ENABLED IN CONFIG

Midi devices: NOT ENABLED IN CONFIG

Timers:
7: system timer

Mixers: NOT ENABLED IN CONFIG
root@raspberrypi:/home/pi#


Alsa und die richtige Soundkarte aktiv.
Zumindest schon mal etwas.

dougie


...und squeezeslave läuft als root


root@raspberrypi:/home/pi# fuser -v /dev/snd/*
                     USER        PID ACCESS COMMAND
/dev/snd/pcmC0D0p:   root       2211 F...m squeezeslave
root@raspberrypi:/home/pi#

dougie



...je mehr ich lese, desto mehr gewinne ich den Eindruck, das das aktuell defekt ist.

Ich hab noch mal das neue Package alsaequal 6.0.4 runter geladen und neu kompiliert/installiert/kopiert

Aber andere haben wohl auch das Problem:

http://forum.xbmc.org/showthread.php?tid=88719

dougie



Ich hab's geschafft!!!

apt-get install libasound2-plugin-equal


Hat gefehlt! alsaequal läuft jetzt, ändert aber noch nichts am Sound. Scheint jetzt ne Sache der /etc/asound.conf zu sein.

dougie


...so, und jetzt noch der Nachtrag nach unzähligen Versuchen mit unterschiedlichen Konfigurationen:

Wenn ich mit

mpg123 -a default /home/pi/Zion.mp3


einen mp3 abspiele, ist alles perfekt. Gnadenloser Sound, so wie ich ihn im Equalizer eingestellt habe. Aber mit

mpg123 /home/pi/Zion.mp3


Wird der Equalizer ignoriert.
Wäre alles nicht so wild, wenn ich nur wüsste wie ich squeezeslave erkläre, das es das default device verwenden soll.

Jemand ne Idee? Denke dann wär ich durch :-)

VG
Ralf

dougie


Bin durch! Hat mir keine Ruhe gelassen.

Mein Fehler: so lange squeezeslave läuft, gibt es auf die Frage squeezeslave -L keine sinnvolle Antwort.

Ansonsten bekommt man:

root@raspberrypi:~# squeezeslave -L
Output devices:
  0: (ALSA) USB Audio CODEC: USB Audio (hw:0,0) (11/46)
  1: (ALSA) bcm2835 ALSA: bcm2835 ALSA (hw:1,0) (11/46)
  2: (ALSA) sysdefault (42/42)
  3: (ALSA) front (11/46)
  4: (ALSA) surround40 (11/46)
  5: (ALSA) iec958 (11/46)
  6: (ALSA) spdif (11/46)
  7: (ALSA) plugequal (11/46)
  8: (ALSA) mmap0 (11/46)
  9: (ALSA) dmix (42/42)
*10: (ALSA) default (11/46)



Jetzt noch eben die /etc/default/squeezeslave editieren und device 10 nehmen.


SSOPTIONS="-o 10"
SBSHOST="localhost"
SSMAC="b8:27:eb:7c:7f:4e"



Note:
Die Verwendung vom dmix plugin hat bei mir nicht funktioniert, weil es zu massiven Störungen im Ton kam. Aber mpg123 lag dann schon bei 60% Prozessorlast.
Squeezeslave verursachte bei mir bislang eine Last von ca. 10%
Bei der Verwendung des Equalizers steigt die Last auf ca. 24%, aber das ist mir der Sound auf alle Fälle wert!

VG
Ralf

dougie

Nachtrag: mein RPi läuft seit meinem letzten Post einwandfrei als LogitechMediaServer und mit SqueezeSlave (Danke Willi!)

Leider hat der LMS irgendwie Probleme. Ich hab's immer noch nicht hinbekommen, das er alle Songs auf meinem NAS im Keller findet (wahrscheinlich mount Problem).
Was aber ärgerlicher ist: LMS kommt mit der Datenbank irgendwie durcheinander. Wenn ich einen Song als Favorit markiere, taucht ein ganz anderer in der Fav Liste auf.
Ist das nur bei mir so? Ausserdem finde ich die Bedienung von LMS nicht wirklich intuitiv und sinnig. Gibt es da ev. eine bessere Alternative?

Ach so: bei der Gelegengeheit habe ich Squeezeslave auf die final version upgedatet. Läuft!

pi@raspberrypi:/usr/bin$ squeezeslave -V
squeezeslave 1.3-390 Jan  2 2013 11:53:08
compile flags: linux portaudio:1885 debug signals interactive daemon tremor renice
buffer sizes: decoder 2097152 output 2822400 bytes

Copyright 2004-2013 Richard Titmuss, Duane Paddock.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
pi@raspberrypi:/usr/bin$

mrFbn

Hallo,

ich nutze auch den Raspberry PI als Squeezebox-Player mit Squeezeplug. Die Installation hat super funktioniert und ich kann bereits Musik über die onboard-Soundkarte abspielen, allerdings in ziemlich schlechter Qualität.

Deshalb habe ich mir wie Ihr auch die Behringer UCA202 USB-Soundkarte gekauft und an den PI angeschlossen. Leider wird die Soundkarte aber nicht erkannt, aplay -l oder auch im setup-Menü von Squeezeplug wird weiterhin nur die interne/onboard-Karte angezeigt. Wenn ich die USB-Soundkarte an meinen PC mit Ubuntu anschliesse funktioniert sie einwandfrei.

Habt Ihr noch irgendetwas eingestellt oder nachinstalliert damit die USB-Soundkarte auf der Squeezeplug-Installation funktioniert?

Danke & Gruß
Frank

Willi

Zitat von: mrFbn schrieb am Di, 19 März 2013 17:07Deshalb habe ich mir wie Ihr auch die Behringer UCA202 USB-Soundkarte gekauft und an den PI angeschlossen. Leider wird die Soundkarte aber nicht erkannt, aplay -l oder auch im setup-Menü von Squeezeplug wird weiterhin nur die interne/onboard-Karte angezeigt. Wenn ich die USB-Soundkarte an meinen PC mit Ubuntu anschliesse funktioniert sie einwandfrei.

Habt Ihr noch irgendetwas eingestellt oder nachinstalliert damit die USB-Soundkarte auf der Squeezeplug-Installation funktioniert?

Wenn Du schon Squeezeplug genommen hast und die USB-Karte nicht defekt ist, sollte es eigentlich mit geringem Aufwand funktionieren.

Du musst im setup unter "Server und Player" "Install player" / "Squeezeslave" / "Install" auswählen.

Um zu schauen, ob die Soundkarte nicht defekt ist, schau mal, ob bei "lsusb" folgendes ausgegeben wird:
root@pi-sb:~# lsusb
... gelöscht
Bus 001 Device 004: ID 08bb:2902 Texas Instruments Japan PCM2902 Audio Codec

Um zu sehen, ob der Kernel die USB-Karte erkennt, müßte folgende Zeilen bei "dmesg" ausgegeben werden:
[    3.212648] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
[    3.339098] usb 1-1.2: New USB device found, idVendor=08bb, idProduct=2902
[    3.355420] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.380370] usb 1-1.2: Product: USB Audio CODEC
[    3.388175] usb 1-1.2: Manufacturer: Burr-Brown from TI
[    3.413247] input: Burr-Brown from TI               USB Audio CODEC  as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.3/input/input0
[    3.443268] hid-generic 0003:08BB:2902.0001: input,hidraw0: USB HID v1.00 Device [Burr-Brown from TI               USB Audio CODEC ] on usb-bcm2708_usb-1.2/input3


Nach der Installation von Squeezeslave sollte "ps x" folgenden Prozess anzeigen:
/usr/bin/squeezeslave -R -M/var/log/squeezeslave.log -o 0 -mxx:xx:xx:xx:xx:xx localhost

wobei xx:xx:xx:xx:xx:xx Deine Mac-Adresse des Ethernet interfaces ist. Diese Adresse habe ich aus Datenschutzgründen in diesem Posting gelöscht.

Die erfährst Du mittels "ifconfig eth0".
root@pi-sb:~# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr xxx:xx:xx:xx:xx:xx  

Ein Hinweis zur Nutzung der Behringer UCA 202. Ein 1000 mA Netzteil am Pi reichet bei mir nicht aus. Dabei ist der Pi einmal pro Tag abgestürzt. Jetzt habe ich ein 2000 mA Netzteil angeschlossen und es läuft absolut stabil. Vermutlich reicht auch weniger als 2000 mA, aber ich hatte das noch verfügbar.

Ein zusätzlicher Hinweis:
Ich würde generell beim Pi kein 1000 ma Netzteil mehr nehmen, wenn man etwas ohne eigene Stromversorgung (also ohne aktiven Hub) an USB anschließt. Vorsicht auch beim Overclock. Selbst die Einstellung "Medium" hat bei einem Pi dazu geführt, dass nach einiger Zeit das Dateisystem auf der SD-Karte kaputt war. Das war reproduzierbar.
Ich habe allerdings auch zwei Pi, bei denen Overclock super funktioniert. Kann evtl. auch am Timing bestimmter SD-Karten liegen.

MfG Willi
 
FHEM@Q600(debian) mit DS9490R (1Wire) | FHEM@Sheevaplug(debian) mit RFXCOM-Receiver(80002), CULv3 & USB-WDE1 | FHEM@odroid mit CULv2 & RFXtrx433

Willi

Zitat von: dougie schrieb am Mo, 18 Februar 2013 08:31Leider hat der LMS irgendwie Probleme. Ich hab's immer noch nicht hinbekommen, das er alle Songs auf meinem NAS im Keller findet (wahrscheinlich mount Problem).
[/code]
Zugriff per NFS oder SMB ist bzgl. Rechtevergabe nicht immer einfach. Ich würde wie folgt vorgehen.
Ändere den Account unter dem LMS läuft, dass Du Dich darunter einloggen kannst. Dazu musst Du in /etc/passwd diesem Account eine Shell eintragen und ein (sicheres) Kennwort per passwd vergeben, z.B.:
squeezeboxserver:x:110:65534:Logitech Media Server,,,:/usr/share/squeezeboxserver:/bin/sh

Du kannst dann testen auf welche Verzeichnisse/Dateien Du beim Mount-Point zugreifen kannst.

Favoriten habe ich bisher nur wenig genutzt. Dabei gab es allerdings bisher keinerlei Probleme.

Welche LMS-Version nutzt Du? Im Webinterface wird bei mir unter Informationen folgende Version angezeigt:
  Logitech Media Server Version: 7.7.2 - r33893 @ Wed Mar 14 05:46:46 PDT 2012

Grüße

Willi
FHEM@Q600(debian) mit DS9490R (1Wire) | FHEM@Sheevaplug(debian) mit RFXCOM-Receiver(80002), CULv3 & USB-WDE1 | FHEM@odroid mit CULv2 & RFXtrx433

mrFbn

Hallo Willi,

danke für Deine Antwort!

Die USB-Soundkarte ist ganz sicher nicht defekt, am PC funktioniert sie. Die LED an der Karte leuchtet auch wenn ich sie an den PI anschließe, d.h. auch Strom ist vorhanden.

Das sagt lsusb:
# lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 08bb:2902 Texas Instruments Japan PCM2902 Audio Codec

Sieht also genau so aus wie bei Dir.

dmesg sagt folgendes:
[  212.502168] usb 1-1.3: new full-speed USB device number 4 using dwc_otg
[  212.614808] usb 1-1.3: New USB device found, idVendor=08bb, idProduct=2902
[  212.614838] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  212.614853] usb 1-1.3: Product: USB Audio CODEC
[  212.614868] usb 1-1.3: Manufacturer: Burr-Brown from TI              
[  212.628138] input: Burr-Brown from TI               USB Audio CODEC  as /devices/platform/bcm2708_usb/usb1/1-1/1-1.3/1-1.3:1.3/input/input0
[  212.628499] hid-generic 0003:08BB:2902.0001: input,hidraw0: USB HID v1.00 Device [Burr-Brown from TI               USB Audio CODEC ] on usb-bcm2708_usb-1.3/input3
[  212.864554] cannot find the slot for index 0 (range 0-0), error: -16
[  212.864581] cannot create card instance 0
[  212.864612] snd-usb-audio: probe of 1-1.3:1.0 failed with error -5
[  212.866409] usbcore: registered new interface driver snd-usb-audio

Hier scheint etwas nicht zu passen (cannot find the slot for index 0, cannot create card instance, failed with error -5 ...)

Hast Du noch irgendetwas nachinstalliert oder eingestellt damit die Karte bei Dir funktioniert hat? Ich habe die neueste Squeezeplug-Version verwendet und auch ein apt-get upgrade gemacht um die neueste ALSA-Version zu bekommen. Bin im Moment ziemlich ratlos ...

mrFbn

Hallo Willi,

kannst Du mir sagen ob Du auch diese Version des DAC hast?

[ 212.614808] usb 1-1.3: New USB device found, idVendor=08bb, idProduct=2902


Welche Version des SqueezePlug setzt Du ein?