Homepage Wiki Forum Buy

Audio

Aus GNUBLIN

Schwierigkeitsgrad Voraussetzung Gnublin Familie
Gnublin logo advanced.png Kernel kompilieren, Toolchain Alle


Den Kernel vorbereiten

Inhaltsverzeichnis


Erste Schritte siehe Kernel kompilieren + Module installieren. Die folgenden Optionen müssen in der Konfiguration gesetzt werden, damit der Kernel USB-Audiogeräte erkennt. Ich habe sie, wo möglich, jeweils als Modul kompiliert.

Device Drivers -> Sound card support
Device Drivers -> Sound card support -> Advanced Linux Sound Architecture
Device Drivers -> Sound card support -> Advanced Linux Sound Architecture ->  Sequencer support
Device Drivers -> Sound card support -> Advanced Linux Sound Architecture ->  Sequencer dummy client [optional?]
Device Drivers -> Sound card support -> Advanced Linux Sound Architecture ->  USB sound devices
Device Drivers -> Sound card support -> Advanced Linux Sound Architecture ->  USB sound devices -> USB Audio/MIDI driver

Danach muss der Kernel übersetzt und - zusammen mit den Modulen - auf die SD-Karte kopiert werden.

ALSA installieren

Die folgenden Debian-Pakete müssen heruntergeladen (Architektur armel) und installiert werden:

  • alsa-utils_1.0.23-3_armel.deb
  • libasound2_1.0.23-2.1_armel.deb
  • linux-sound-base_1.0.23+dfsg-2_all.deb [optional?]

Device-Files anlegen

Nun müssen noch die Device-Files angelegt werden, über die ALSA mit dem Kernel-Treiber kommuniziert.(nicht notwendig in der neuen Gnublin Distribution, da mdev läuft) Hierfür muss Gnublin zunächst gebootet werden.:

 root@gnublin:~# mkdir /dev/snd
 root@gnublin:~# mknod /dev/snd/controlC0 c 116 0
 root@gnublin:~# mknod /dev/snd/pcmC0D0p c 116 16

Sound-experimente

Nun können die Experimente starten. Dafür sollte die Soundkarte eingesteckt und mit Lautsprechern/Kopfhörern verbunden werden.

Anstecken der Soundkarte

usb 1-1: new full speed USB device using lpc-ehci and address 2
usb 1-1: New USB device found, idVendor=0d8c, idProduct=000e
usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
usb 1-1: Product: Generic USB Audio Device

Wird die Soundkarte am USB-Port erkannt?

 root@gnublin:~#lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0d8c:000e C-Media Electronics, Inc. Audio Adapter :(Planet UP-100, Genius G-Talk)

Laden des Soundtreibers

  root@gnublin:~# modprobe snd-usb-audio
usbcore: registered new interface driver snd-usb-audio

Der Treiber wird, wenn die USB-Soundkarte eingesteckt ist, beim booten immer automatisch geladen.

Wurde der Treiber geladen?

root@gnublin:~# lsmod
Module Size Used by
snd_usb_audio 56402 0
snd_pcm 55561 1 snd_usb_audio
snd_timer 15798 1 snd_pcm
snd_page_alloc 3328 1 snd_pcm
snd_hwdep 4881 1 snd_usb_audio
snd_usb_lib 14247 1 snd_usb_audio
snd_rawmidi 14982 1 snd_usb_lib
snd_seq_device 4679 1 snd_rawmidi
snd 36116 7 :snd_usb_audio,snd_pcm,snd_timer,snd_hwdep,snd_usb_lib,snd_rawmidi,snd_seq_device
soundcore 4515 1 snd
r8712u 271323 0

Erkennt der Kernel die Soundkarte?

root@gnublin:~# cat /proc/asound/cards 
0 [default ]: USB-Audio - Generic USB Audio Device
Generic USB Audio Device at usb-lpc-ehci.0-1, full speed

Sollte in der Ausgabe eine andere Zahl als "0" stehen, so muss man noch folgenden Befehl ausführen. Dies ist notwendig, damit alle Audioprogramme die Soundkarte auch als das Standardausgabe Instrument erkennen.

root@gnublin:~# echo options snd_usb_audio index=0 >> /etc/modprobe.d/sound-cards-order.conf

Anschließend muss das GNUBLIN neu gestartet werden.

Kann ALSA auf die Soundkarte zugreifen?

root@gnublin:~# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: default [Generic USB Audio Device ], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0

Mixer aufrufen, Sound abspielen

root@gnublin:~# alsamixer
root@gnublin:~# aplay /usr/share/sounds/alsa/Noise.wav


Webradio


Quellen/Weiterführendes

In anderen Sprachen