PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wann erstellt das System die Dateien /proc/asound/card0/pcm1c/oss



ciedan
04.11.05, 12:22
Mahlzeit,

wann erstellt das System die Dateien /proc/asound/card0/pcm1c/oss und /proc/asound/card0/pcm0p/oss? Ich vermute hierdran liegt mein Problem, da das unten folgende Script in KDE ausgeführt wunderbar funktioniert, aber als letztes im Systemstart (runlevel 5) eine Fehlermeldung erzeugt, das es gescheitert ist. Oder wo liegt der Hase begraben?




#!/bin/bash
# ---------------------------------------------------------------------
### BEGIN INIT INFO
# Provides: Sound enemy Territory
# Default-Start: 3 5
# Default-Stop: 0 1 2 4 6
# Short-Description: Soundschreiber
# Description: schreibt automatisch in dateien
### END INIT INFO
#

case "$1" in
start)
/bin/echo "Schreibe Daten"
/bin/echo "et.x86 0 0 disable">/proc/asound/card0/pcm1c/oss
/bin/echo "et.x86 0 0 direct" >> /proc/asound/card0/pcm0p/oss
;;

stop)

/bin/echo "Nichts zu machen"
;;

status)
/bin/cat /proc/asound/card0/pcm1c/oss
/bin/cat /proc/asound/card0/pcm0p/oss
;;

*)
/bin/echo "Fehlerhafter Aufruf"
/bin/echo "Syntax: $0 {start|stop|status}"
exit 1
;;

esac


Edit: Hab nochaml die logs durchgeschaut und tatsächlich in dem Moment wo das Script beim booten ausgeführt wird, existieren die dateien noch nicht. Das Script wird nach Alsa ausgeführt, was wird noch benötigt? Wo müßte nun S14et2Versuch hin damit dieses funktioniert.

bis denn
ciedan

ciedan
08.11.05, 10:04
Mahlzeit,

ich hab mir überlegt, ob ich die Dateien/Verzeichnisse nicht einfach von dem Script erstellen lasse, sind ja nur vier Befehle mehr.
Nur stellt sich mir die Frage ob dies nicht das Soundsystem beschädigt bzw die normale konfiguration stört?

bis denn
ciedan

undefined
08.11.05, 14:22
zur Frage mit proc: Wenn die Modules geladen werden. Du solltest erst bei bedarf die Module Laden oder entladen.
nehme_module() { if [ -f /etc/modprobe.d/sound ]; then ## Wenn sie hier nicht vorhanden Editieren cat /etc/modprobe.d/sound else /sbin/modprobe -c fi | \ grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | sort | \ while read a b card; do echo $card done } Mit aconnect kannst du Terminieren
terminiere() { fuser -k /dev/admmidi? /dev/adsp? /dev/amidi? /dev/audio* /dev/dmfm* \ /dev/dmmidi? /dev/dsp* /dev/dspW* /dev/midi0? /dev/mixer? /dev/music \ /dev/patmgr? /dev/sequencer* /dev/sndstat >/dev/null 2>&1 if [ -d /dev/snd ]; then fuser -k /dev/snd/* >/dev/null 2>&1 fi if [ -f /proc/asound/seq/clients -a -x /usr/bin/aconnect ]; then /usr/bin/aconnect --removeall fi }
start() { module_loaded=0 c="" drivers=`nehme_module` for i in $drivers; do if [ $i != off ]; then if [ x$c = x ]; then echo -n ": " c=1 fi echo -n " ${i##snd-}" /sbin/modprobe $i && module_loaded=1 fi done rc_status -v -r test $module_loaded -eq 0 && return }

Na toll ein FOREN-BUG der bei Code alle Zeilenumbrüche entfernt :-/