Forum Clubic

Udev et le son - dsp, sequencer etc disparus

Bonjour tout le monde !
Voilà,je suis sous debian, j’ai installé udev il y a quelques jours, tout marche nikel, les périphériques se montent tout seul etc, mais udev ne met pas mes périphériques de son au démarrage, enfin pas tous.(tout marchait très bien avant que j’installe udev).
Exemple : dsp, sequencer,etc… ne sont pas dans /dev. Par contre ils sont toujours dans /dev/.static/dev. Si je fais un lien de /dev/dsp vers /dev/.stativ/dev/dsp /dev/dsp fonctionne.
Mais vu tout les périphériques de son qu’il y a (midi, record,…) je me vois mal faire un lien pour chacun.
Les applications KDE fonctionnent sans le /dev/dsp. Mais d’autres comme teamspeak ou Gtick sont complètement paumés…

Le module snd-mixer-oss est bien chargé.
J’ai regardé dans les règles dans /etc/udev, il y a plein de fichiers de règles, je suis un peu perdu. compat-rules, compat-full-rules devfs-ruls, udev-rules…
bref, j’ai regardé dans udev.rules

il y a les règles suivantes pour le son :
KERNEL=="controlC[0-9]", NAME="snd/%k"
KERNEL=="hwC[D0-9]
", NAME="snd/%k"
KERNEL=="pcmC[D0-9cp]", NAME="snd/%k"
KERNEL=="midiC[D0-9]
", NAME="snd/%k"
KERNEL=="timer", NAME="snd/%k"
KERNEL=="seq", NAME="snd/%k"

j’ai regardé sur google, et finalement, j’ai essayé d’ajouter les règles suivantes :
KERNEL=“adsp”, NAME=“snd/%k”, SYMLINK="%k"
KERNEL=“adsp[0-9]", NAME=“snd/%k”, SYMLINK="%k"
KERNEL=“audio”, NAME=“snd/%k”, SYMLINK="%k"
KERNEL="audio[0-9]
”, NAME=“snd/%k”, SYMLINK="%k"
KERNEL=“dsp”, NAME=“snd/%k”, SYMLINK="%k"
KERNEL=“dsp[0-9]", NAME=“snd/%k”, SYMLINK="%k"
KERNEL=“mixer”, NAME=“snd/%k”, SYMLINK="%k"
KERNEL="mixer[0-9]
”, NAME=“snd/%k”, SYMLINK="%k"
KERNEL=“sequencer”, NAME=“snd/%k”, SYMLINK="%k"
KERNEL=“sequencer[0-9]*”, NAME=“snd/%k”, SYMLINK="%k"

mais ça ne change rien…
Ca fait 2 après midi que je fais du google et je ne trouve pas ma réponse…
Quelqu’un a une idée ? merci !

en root :


apt-get install alsa-base
/usr/share/alsa-base/snddevices

Le premier installe le paquet alsa-base au cas ou il ne l’est pas déjà, le second lance un script installé avec alsa-base qui recrée dans /dev tous les fichiers nécessaires à la compatibilité avec OSS (dsp, sequenser, …)

Mais a priori, udev marche bien maintenant et il n’y a plus ce souci (que j’ai aussi eu aux début de udev) et donc si ça ne marche pas c’est peut-être que tu as compilé ton kernel sans l’émulation OSS de ALSA.

j’avais déja alsa-base d’installé, mais je ne connais pas le script /usr/share/alsa-base/snddevices !
quand je lance le script tout marche nikel !!
par contre dès que je reboot, ça disparait… Les devices ne sont aps créées au démarrage. Bon je peux lancer le script une fois sur kde mais bon c’est pas super propre. Je continue de chercher. merci en tout cas ca fait plaisir !!!

c’est ce que je pensais malheuresement, il doit s’agir d’un bug de udev ou d’un problème de compialtion du kernel. As-tu compilé toi même ton kernel ou est-ce un kernel debian ?

Le problème viens du fait que udev “purge” le dossier /dev au démarrage (et à l’arret ?) de la machine, donc ces fichiers sont éffacés. Mais s’il ne les recrée pas, c’est qu’il y a un bug quelque part.

après avoir booté (et donc sans les fichiers dans /dev) vérifie que tout est bien chargé pour le son (avec lsmod cherche les modules de son qui contiennent "snd" ET le pilote de ta cate son) et relance udev pour voir (en root : /etc/init.d/udev restart)

Tu peux aussi voir si ton kernel a ce qu’il faut :

zcat /proc/config.gz | grep OSS
zcat /proc/config.gz | grep ALSA

La première commande doit seulement te donner quelques lignes relative à l’émulation OSS par ALSA et la seconde pas mal de lignes pour toute la config de ALSA

je n’ai pas de config.gz dans /proc.
C’est moi qui ai recompilé le noyau. Je suis sur le 2.6.15.4.
Voilà ce que j’obtiens avec un lsmod | grep snd :
snd_mixer_oss 17280 0
snd_emu10k1_synth 7040 0
snd_emux_synth 33536 1 snd_emu10k1_synth
snd_seq_virmidi 7552 1 snd_emux_synth
snd_seq_midi_event 7168 1 snd_seq_virmidi
snd_seq_midi_emul 6272 1 snd_emux_synth
snd_seq 47504 4 snd_emux_synth,snd_seq_virmidi,snd_seq_midi_event,snd_seq_midi_emul
snd_emu10k1 100644 4 snd_emu10k1_synth
snd_rawmidi 23968 2 snd_seq_virmidi,snd_emu10k1
snd_seq_device 8204 5 snd_emu10k1_synth,snd_emux_synth,snd_seq,snd_emu10k1,snd_rawmidi
snd_ac97_codec 83104 1 snd_emu10k1
snd_pcm 81288 4 snd_emu10k1,snd_ac97_codec
snd_timer 23300 3 snd_seq,snd_emu10k1,snd_pcm
snd_ac97_bus 2304 1 snd_ac97_codec
snd_page_alloc 10120 2 snd_emu10k1,snd_pcm
snd_util_mem 4480 2 snd_emux_synth,snd_emu10k1
snd_hwdep 9248 2 snd_emux_synth,snd_emu10k1
snd 51300 15 snd_mixer_oss,snd_emux_synth,snd_seq_virmidi,snd_seq,snd_emu10k1,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm,snd_timer,snd_hwdep
soundcore 10080 1 snd

Par contre, j’ai remarqué au démarrage, qu’à un moment, c’est marqué emu10k1 disabled in configuration avec une petite étoile orange avant.
J’ai ausis un autre warning au démarrage : /etc/modprobe.conf does not include /etc/modprobe.d/ Or j’ai regardé dans /etc/modprobe.d/ et dedans il y a justement un script alsa-base qui à l’air d’installer les modules…

Enfin cela dit, tout les modules sont bien chargés au démarrage visiblement.

Avant que j’installe udev, tout fonctionnait parfaitement, donc je ne pense pas qu’il s’agisse d’un problème de module.
J’ai redémarré udev après le démarrage, mais ça ne change rien.
Au pire, je lance le script que tu m’as dit après, c’est pas bien grave. C’est curieux !

tu dois avoir un fichier config quelque part, au pire dans le dossier des sources, tu as le fichier .config, essais de “greper” dedans les termes OSS et ALSA pour voir ce qu’il te met !

Essais aussi avec un kernel debian, et si ça marche, c’est que ça viens bien de ta config de kernel.

udev et le kernel sont très liés, donc le fait d’installer udev sur un systeme avec un kernel qui n’a pas les bonnes options peut poser des soucis de ce genre, car c’est udev qui crée presque tous les fichiers de périfériques dans /dev (y compris ceux nécessaire au son)

j’avais pris le .config de l’image du noyau debian pourtant. L’image debian installée sur mon pc n’est pas supportée, et visiblement la plus récente image de debian est la 2.6.11 ce qui n’est toujours pas assez récent.
Ca ne pourrait pas venir des règles dans /etc/udev/udev.rules ? Il me semble qu’il y a moyen d’ajouter des devices comme ça, mais je n’ai pas réussi…

2.6.11 ? sarge est en 2.6.8 et etch est actuellement en 2.6.15 donc il y a un problème.

essais apt-get install linux-image-2.6 (tu peux ajouter -686 ou -k7 selon ton processeur puis -smp si tu as plusieurs processeurs ou un dual core)

configure ensuite grub (/boot/grub/menu.lst) ou lilo (/etc/lilo.conf) pour qu’ils te proposent le nouveau kernel au démarrage (c’est fait automatiquement si tu utilises grub) et boot dessus pour voir !

a oui effectivement j’avais pas vu le paquet 2.6 c’est le 2.6.15 ^^ j’installe tout ca.

ben, je viens de booter sur l’image debian la mais c’est pareil. Sinon, j’ai une drôle d’erreur qui apparait à chaque démarrage :
udevd-event[2610] : find-free_number : %e is deprecated will be removed and is unlikely to work correctly. Don’t use it.
J’ai fait un peu de google j’ai rien trouvé sur cette erreur…

bon… la je ne peux plus t’aider alors, je ne m’y connais pas assez en udev, désolé :frowning:

ce que tu peux faire, c’est jeter un oeil à bugs.debian.org voir le paquet udev si un bug du genre est signalé, sinon ben envoie un rapport de bug :wink: généralement, si c’est des bricoles de configuration, c’est corrigé dans la semaine pour sid et 2 semaines (le temps de la transition) pour etch !

d’accord, merci beaucoup pour ton aide en tout cas, je commencais à désespérer !