créer au boot /dev/dsp

bonjour,

il semble bien que les problèmes de son sous debian soient monnaie courante selon notre ami google, si bien que ça fait des heures que je lis des posts sur le net sans trouver la réponse à mon problème, alors voila désolé si le problème a déjà été résolu mais j’en ai marre de chercher alors je vous demande vos avis avisés :

mon matos : très classique carte mère nforce2

  • sarge kernel 2.6.18

j’ai réussi après bien des efforts à installer alsa et ça marche! :smt023 sauf pour les apllis qui utilisent oss et non alsa :unamused: car /dev/dsp n’est pas créé.

La solution classique est de faire :

#mknod /dev/dsp c 14 3
#chgrp audio /dev/dsp
#chmod a+rw /dev/dsp

sauf qu’il faut le refaire à chaque reboot et que ça commence à me saouler grave…
alors une idée pour faire ça automatiquement?

j’ai udev qui tourne et j’ai vu des trucs sur MAKEDEV dans /dev qui pourrait convenir, mais quand je fais :

#MAKEDEV audio

il ne se passe rien, /dev/dsp n’est pas créé alors que lorsque je fais ça en verbose :

#MAKEDEV -v audio

la ligne :

create dsp      c 14 3 root:audio 0660

est bien affichée.
Alors pourquoi il ne créé pas /dev/dsp si il l’affiche? est-ce que je m’y prends bien?

merci de votre aide, si vous avez une autre solution qui marche, elle est la bien venue.

bud

Il me semble que tu dois lancer /usr/share/alsa-base/snddevices

Cela étant ça devrait être crée au boot. As tu fait des manipulations de /etc/modprobe.d, as-tu des warnings au boot (dmesg?)

Bonsoir,
S’il ne se crée pas au boot, c’est qu’il y a un probleme dans ta config, ou les paquets alsa installés …
je pense à ça :

[quote]cat /boot/uname -r | grep OSS

CONFIG_CHR_DEV_OSST is not set

CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y[/quote]

Pour ta question, udev nettoie le répertoire /dev au boot d’où ton pbm. La différence entre udev et l’ancien devfs est que udev crée les /dev à la détection (et donc lors du chargement du module) tandis que devfs chargeait le module et les créait à une tentative d’ouverture du fichier /dev/?? Si le fichier n’existe pas sous udev c’est que le module n’est pas chargé ou que la carte n’est pas détectée. Dans ta situation je pencherais pour la première solution et je regarderais tes fichiers dans /etc/modprobe.d

merci beaucoup pour vos réponses, je comprends un peu mieux cette histoire de udev maintenant. Je regarde toutes vos pistes et je vous dis demain ce que ça donne. j’ai pas trop le temps ce soir… mais je ne vous oublie pas. Je crois que c’est peut etre un probleme au moment du chargement des modules (qui sont pourtant chargés… ca quand je les force à être chargé /dev/dsp est créé mais marche pas), on verra demain, pas envie de me prendre la tete la dessus un samedi soir 8)

Bon alors je m’y remets. En effet le scritpt /usr/share/alsa-base/snddevices créé bien /dev/dsp comme il faut.
Pour essayer de comprendre ce qui se passe je vais quand meme repondre à vos autres remarques : au niveau du boot je ne vois rien de trop méchant, mais bon je suis débutant… alors si vous voulez vraiment savoir ce que donne dmesg demandez moi.
Concernant la couche d’émulation OSS je pense que c’est bon, voila ce qu’il y a dans le fichier de config :

# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
# CONFIG_SND_DYNAMIC_MINORS is not set
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set

Un truc qui me semble peut-être bizarre c’est que dans les script /dev/alsa/dev.d/alsa-base il est mentionné le fichier /etc/init.d/alsa :

#!/bin/sh
#
# dev script for alsa

DEV_BASENAME="${DEVNAME##*/}"

case "$DEV_BASENAME" in
controlC[0-7])
        N="${DEV_BASENAME#controlC}"
        case "$ACTION" in
                add) /etc/init.d/alsa start $N || : ;;
#               remove) /etc/init.d/alsa stop $N || : ;;
        esac
        ;;
esac

mais ce fichier n’existe pas, c’est peut-etre pour ça que udev me fait pas mon /dev/dsp?
lsmod me donne toute une floppée de modules de son donc je pense qu’ils sont bien chargés :

snd_intel8x0           34204  3
snd_ac97_codec         96864  1 snd_intel8x0
snd_ac97_bus            2368  1 snd_ac97_codec
snd_pcm                73928  3 snd_pcm_oss,snd_intel8x0,snd_ac97_codec
snd_timer              24324  1 snd_pcm
snd                    53796  6 snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
soundcore               9952  4 snd
snd_page_alloc         10760  2 snd_intel8x0,snd_pcm

De toute façon au pire je peux passer par /usr/share/alsa-base/snddevices, ça doit pas être trop compliqué pour qu’il se lance au boot, vous savez comment faire? :question:

merci pour votre aide :wink:

Hum, ce fichier fait partie intégrante de alsa-base. C’est étonnant qu’il n’y soit pas.

Que donne
$ dpkg -L alsa-base | grep init.d ?

debian:/home/nico# dpkg -L alsa-base |grep init.d
/etc/init.d
/etc/init.d/alsa

voila!

Bon, si ce fichier n’existe plus (il faut vérifier quand même), une réinstallation de alsa-base peut régler le pbm dans ce cas.

Qu’est ce que tu entends par réinstallation, est-ce que faire juste :

#apt-get remove alsa-base
#apt-get install alsa-base
#dpkg-reconfigure alsa-base

suffit? si c’est le cas ça change rien.

Tu n’as toujours pas de fichier /etc/init.d/alsa??? Si il existe, fais un coup de /etc/init.d/alsa restart.

PS: J’aurais été moins brutal:

apt-get install --reinstall alsa-base

[code]# apt-get install --reinstall alsa-base

/etc/init.d/alsa restart

bash: /etc/init.d/alsa: Aucun fichier ou répertoire de ce type
[/code]
c’est assez frustrant cette histoire… y’a pas des histoires de drivers ou de kernel derrière tout ça j’espère

Sinon pour ta questiuon:

Va dans /etc/init.d et fais

emacs credsp

#!/bin/sh
case "$1" in
    start)
         /usr/share/alsa-base/snddevices
        echo "."
        ;;
    stop)
        echo "."
        ;;
    reload)
        ;;
    force-reload)
        ;;
    restart)
        ;;
    *)
        echo "Usage: /etc/init.d/credsp {start|stop|reload|restart}"
        exit 1
        ;;
esac

exit 0

Puis fais

chmod +x credsp

update-rc.d credsp defaults 99

et le fichier sera éxécuté à chaque démarrage, mais ça n’est qu’une rustine…

bonjour,
Je crois qu’il faut savoir pourquoi tu n’as pas d’ /etc/init.d/alsa …
tu es sur d’avoir installé tout alsa ? tu ne mentionne jamais alsa-utils , tu l’as au moins ?

# dpkg -l |grep alsa ii alsa-base 1.0.8-7 ALSA driver configuration files ii alsa-utils 1.0.8-4 ALSA utilities ii gnome-alsamixer 0.9.7~cvs.20060916-1 ALSA sound mixer for GNOME ii gstreamer0.10-alsa 0.10.10-1 GStreamer plugin for ALSA rc libesd-alsa0 0.2.35-2 Enlightened Sound Daemon (ALSA) - Shared lib ii libpt-plugins-alsa 1.8.4-1 Portable Windows Library Audio Plugin for th ii libsdl1.2debian-alsa 1.2.10-3 Simple DirectMedia Layer (with X11 and ALSA ii zinf-plugin-alsa 2.2.5-5 ALSA plugin for ZINF
sinon, je serai partisant de plus de brutalité, style apt-get -s remove --purge alsa-base alsa-utils pour tester puis si ya que c’est deux qui sont désintallé, tu enlèves l’option -s de apt-get … et tu réinstalle au propre …

bon je progresse! un petit coup de apt-get --purge a fait grandement du bien : maintenant j’ai bien le fichier /etc/init.d/alsa. Maintenant le alsa fonctionne parfaitement, mais le problème du /dev/dsp persiste :smiling_imp: l’emulation oss foire toujours autant.

etrange…

Même en chargeant tous les modules snd_qque chose???

voila ce que donne lsmod niveau modules :

Module Size Used by nvidia 4553620 12 i2c_core 22352 1 nvidia ipv6 257824 12 ac 5316 0 fan 4996 0 button 6800 0 video 16900 0 thermal 14472 0 processor 19868 1 thermal battery 10628 0 snd_intel8x0 34204 0 snd_ac97_codec 96864 1 snd_intel8x0 snd_ac97_bus 2368 1 snd_ac97_codec snd_pcm 73928 2 snd_intel8x0,snd_ac97_codec snd_timer 24324 1 snd_pcm snd 53796 4 snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer soundcore 9952 1 snd snd_page_alloc 10760 2 snd_intel8x0,snd_pcm nvidia_agp 8604 1 ehci_hcd 30856 0 usbhid 33732 0 ohci_hcd 20868 0 usbcore 133828 4 ehci_hcd,usbhid,ohci_hcd 3c59x 44520 0 mii 6016 1 3c59x forcedeth 40644 0 agpgart 36080 2 nvidia,nvidia_agp nls_iso8859_1 4224 2 nls_cp437 5888 2 vfat 13120 2 fat 55260 1 vfat nls_base 7296 4 nls_iso8859_1,nls_cp437,vfat,fat sr_mod 16932 0 ide_cd 44036 0 cdrom 43616 2 sr_mod,ide_cd
il manque quelquechose? il y a peut etre quelquechose de tout simple que j’ai oublié, je suis tout nouveau en administration de machine linux… alors si il ya des idées qui vous passent par la tête hésitez pas à m’en faire part

Si ça peut aider :

jcode@debian:~$ lsmod |grep snd snd_usb_audio 73184 0 snd_usb_lib 13952 1 snd_usb_audio snd_rawmidi 19104 1 snd_usb_lib snd_seq_device 6668 1 snd_rawmidi snd_hwdep 7172 1 snd_usb_audio snd_intel8x0 27804 1 snd_ac97_codec 88492 1 snd_intel8x0 snd_ac97_bus 2048 1 snd_ac97_codec snd_pcm_oss 38048 1 snd_mixer_oss 16512 1 snd_pcm_oss snd_pcm 72456 4 snd_usb_audio,snd_intel8x0,snd_ac97_codec,snd_pc m_oss snd_timer 19460 1 snd_pcm snd 42980 10 snd_usb_audio,snd_rawmidi,snd_seq_device,snd_hw dep,snd_intel8x0,snd_ac97_codec,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer snd_page_alloc 8200 2 snd_intel8x0,snd_pcm usbcore 121856 8 usbhid,snd_usb_audio,snd_usb_lib,spca5xx,usb_sto rage,ehci_hcd,uhci_hcdfait pas gaffe au snd_usb, c’est pour le micro de la webcam …
par contre, ces 4 lignes comparées aux tiennes :

snd_intel8x0 27804 1 snd_ac97_codec 88492 1 snd_intel8x0 snd_pcm_oss 38048 1 snd_mixer_oss 16512 1 snd_pcm_oss peuvent vouloir dire quelquechoses … à voir …

Tu as fais un alsaconf bien entendu aprés l’installation des pkg d’alsa et un alsamixer ?

oui j’ai bien fait un alsaconf. C’est vrai que sur ces lignes tu as OSS d"indiqué et pas moi… mais bon je connais pas trop ce que ça veut dire et ce que je peux faire…

Le VRAI oss est totalement obsolète avec les noyaux récents. Par contre les snd_*_oss fournissent le support oss sous alsa. Dans le noyau, on peut la plupart du temps carrément désactiver le support de l’oss quand on recompile, ça n’empêche pas de faire tourner des applis oss (au pire avec aoss).