Forum Linux.général ALSA, Intel 82801JI (ICH10) et snd-hda-intel

Posté par  .
Étiquettes :
0
26
oct.
2008
Bonjour,

Depuis peu possesseur d'un Dell Studio 540, je me heurte à un petit problème concernant l'utilisation de la carte son intégrée à la mobo.

N'ayant aucune spécification détaillée du matériel (Dell ne répondant pas à mes messages), je m'en suis remis à lspci, qui m'informe que ma CM est basée sur le chipset 82801JI, de la famille ICH10 de chez Intel. S'agissant de HD Audio, le driver adapté serait ainsi le snd-hda-intel, que j'ai ainsi tenté d'utiliser.

Le module se charge sans broncher, alsaconf trouve la carte qui semble, via alsamixer et quelques informations glanée dans /proc/asound/ fonctionner correctement...

Ou pas : pas de son du tout. J'ai dans un premier temps vérifié les niveaux des sorties. Toujours rien. Un petit coup de mplayer me sort même une jolie série de messages d'erreur :

[AO OSS] audio_setup: Can't open audio device /dev/dsp: Invalid argument
[AO_ALSA] alsa-lib: pcm_hw.c:1321:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Invalid argument
[AO_ALSA] alsa-lib: pcm_dmix.c:1008:(snd_pcm_dmix_open) unable to open slave
[AO_ALSA] Playback open error: Invalid argument
[JACK] cannot open server
[AO SDL] Samplerate: 44100Hz Channels: Stereo Format s16le
[AO_ALSA] alsa-lib: pcm_hw.c:1321:(snd_pcm_hw_open) open /dev/snd/pcmC0D0p failed: Invalid argument
[AO_ALSA] alsa-lib: pcm_dmix.c:1008:(snd_pcm_dmix_open) unable to open slave
[AO SDL] Unable to open audio: No available audio device
Opening /dev/dvb/adapter0/audio0
DVB AUDIO DEVICE: No such file or directory
AO: [null] 44100Hz 2ch s16le (2 bytes per sample)


Parmis les "issues" fréquentes évoquées sur le net, spécifier explicitement le modèle de la carte, via l'argument "model" du driver snd-hda-intel permet de débloquer la situation. J'ai dès lors écrit un petit script permettant d'essayer tous les modèles correspondant à mon codec (Realtek ALC888) vite fait, en vain.

J'ai alors tenté d'installer les drivers Realtek pour l'ALC888, mais aucune carte n'est alors trouvée par alsaconf.

Une dernière tentative fut d'installer la dernière version d'alsa, 1.0.18rc3, ce qui, encore une fois, n'a rien donné.

J'ai toutefois remarqué que ma carte video (ATI 3450, R620) était reconnue (à cause de l'HDMI) comme une carte son HDA qui utilise aussi le module snd-hda-intel :

#lspci -k
...
01:00.1 Audio device: ATI Technologies Inc RV620 Audio device [Radeon HD 34xx Series]
Kernel driver in use: HDA Intel
Kernel modules: snd-hda-intel

aplay m'informe effectivement de la présence d'une seconde carte son (card1).

Là, je n'avance plus et quelques questions demeurent :
- Le chipset ICH10 n'est pas listé parmis ceux supportés par hda-intel sur le site officiel d'alsa. Pourtant, j'ai lu ça et là que plusieurs personnes l'utilisaient sans problème et ce avec une version 1.0.16 d'alsa ; so WTF ?
- Tout cela ne serait-il pas du à un conflit entre l'interface HDMI de la carte video et la carte son intégrée ?
- snd-hda-intel accepte un certain nombre de paramètres, dont certains me sont plutôt obscurs (index, id, position_fix, bdl_pos_adj, probe_mask). A quoi correpondent-il et comment jouer avec ?

Merci d'avance pour vos réponses ; je suis evidemment pret à préciser certains détails et/ou lever certains ambiguités de mon message, si besoin est.
  • # Précision

    Posté par  . Évalué à 2.

    J'ai oublié de préciser que j'utilise le dernier noyau en date : 2.6.27 (-ARCH)
  • # pas sur que ca marche sur ta machine

    Posté par  . Évalué à 2.

    mais avec un xps 1330 et certains noyaux il fallait passer une de ces options


    /etc/modprobe.d/alsa-base:#options snd-hda-intel model=3stack
    /etc/modprobe.d/alsa-base:#options snd-hda-intel model=5stack
    /etc/modprobe.d/alsa-base:#options snd-hda-intel model=dell-laptop
  • # position_id

    Posté par  (site web personnel) . Évalué à 2.

    Le paramètre position_id est un paramètre que j'utilise sur mon MacBook2,1 et qui me permet de réduire un bruit qui apparaît sur la canal gauche.

    Sinon, j'ai l'impression que le problème viendrait du fait que snd-hda-intel n'est pas capable de gérer deux cartes son, donc une fois que ton interface HDMI a été trouvée, il ne regarde pas plus loin pour faire fonctionner ta carte son. Peux-être peux tu trouver un adaptateur HDMI/Jack pour tester le son ?
    Peut être tu peux désactiver l'interface HDMI (un paramètre de snd-hda-intel ?) ... Ça serait peut être une solution même si tu perdrais en fonctionnalité.

    Sinon, je ne conseillerait d'aller voir sur la mailing list ALSA, tu aurais sans doute plus de réponses (quoique). Sinon, regarde le bugzilla ALSA.
  • # Résolu :p

    Posté par  . Évalué à 6.

    Vive la bidouille, j'ai finalement résolu mon problème. En fouillant dans les sources d'ALSA j'ai fini par trouver un joli document "ALSA-Configuration.txt" listant tous les drivers existant. Le module snd-hda-intel incriminé gère bel et bien plusieurs cartes à la fois. Mes deux chips ATI et Intel sont bien supportés. Soupçonnant tout de même la carte graphique d'être source d'un quelconque conflit, je l'ai désactivée dans un premier temps. Pour l'info, passer un paramètre à chaque carte au chargement du module se fait ainsi (ce qui n'est pas spécifié dans les docs d'ALSA =_=) :

    modprobe snd-hda-intel index=0,1 enable=1,0 //désactivation de la carte #1, soit l'ATI HDMI

    Cela n'a pas solutionné mon problème, les HPs ne crachant qu'un vague bruit... Cela m'a toutefois permis d'infirmer l'hypothèse de conflit. J'ai dès lors cherché d'autres paramètres à renseigner, et par un peu de déduction un un max de chance, le son fonctionne avec un paramètre model=6stack-dell ET probe_mask=1 (J'avoue que je ne sais trop à quoi se réfère ce dernier paramètre, sinon, selon la doc : Bitmask to probe codecs (default = -1, meaning all slots)).

    Bref, le tout fini dans /etc/modprobe.d/sound (ou /etc/modprobe.conf) :
    alias snd-card-0 snd-hda-intel
    alias sound-slot-0 snd-hda-intel
    options snd-hda-intel index=0,1 enable=1,0 model=6stack-dell probe_mask=1

    Et mon nouveau PC se met à chanter, pour mon plus grand plaisir. A savoir maintenant si les deux prises micro et le son 7.1 fonctionnent proprement, mais à vrai dire, dans l'absolu, je m'en fous.

    Merci pour vos réponses !
  • # Works for me

    Posté par  . Évalué à 1.

    Hello

    ayant le même soucis, j'ai effectué les manipulations proposées dans le post précédent, à savoir :

    Ajout dans /etc/modprobe.d/aliases

    alias snd-card-0 snd-hda-intel
    alias sound-slot-0 snd-hda-intel


    Ajout dans /etc/modprobe.d/options

    options snd-hda-intel index=0,1 enable=1,0 model=6stack-dell probe_mask=1

    Un petit rechargement d'ALSA avec un sudo alsa reload pour prendre en compte tout ca.

    Ensuite, un petit coup de alsamixer pour régler les niveaux et activer les sorties qui m'intéressent, et ... tout donctionne :D

    Merci du tuyau :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.