Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 16-08-2020 14:29:05

Innocent1
Membre
Inscription : 13-08-2020

[Résolu] Aide Intel ALC3236 Analog ( ASUS R510L )

Bonjour,

J'ai un problème depuis longtemps avec mon ordinateur Asus R510L: Le son ne fonctionne pas sur mon ordinateur,

En effet la prise Jack de mon ordinateur est complètement cassée. Et ce depuis plusieurs années maintenant.
Le problème c'est que mon ordinateur ne détecte pas ça, donc le son n'est pas envoyer sur les enceintes du PC, c'est comme si la jack fonctionnais et qu'un appareil y était brancher...

J'ai déjà pensé à démonter mon ordinateur et remplacer la prise, mais je ne souhaite pas le faire car c'est un ordinateur portable, et n'importe quel mauvais geste pourrais le rendre inutilisable...

Donc je me penche depuis quelques temps sur une idée ( je ne sais pas si elle est réalisable du tout, et peut être même qu'il existe une autre manière pour résoudre le soucis )

Je pensais donc modifier le driver du contrôleur audio pour faire en sorte que le son soit bien envoyé sur les enceintes et non sur la Jack.

Encore une fois, je ne sais absolument pas si c'est réalisable, et je pense même que ce n'est pas forcément la meilleure idée... Mais c'est la seule que j'ai.

Je suis actuellement sous Kali Linux 2020 installé,

J'ai lancé la commande:


lspci -nnk | grep -A3 Audio
 



Et voici son résultat:


00:03.0 Audio device [0403]: Intel Corporation Haswell-ULT HD Audio Controller [8086:0a0c] (rev 0b)
        Subsystem: ASUSTeK Computer Inc. Haswell-ULT HD Audio Controller [1043:131d]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:04.0 Signal processing controller [1180]: Intel Corporation Haswell-ULT Thermal Subsystem [8086:0a03] (rev 0b)
--
00:1b.0 Audio device [0403]: Intel Corporation 8 Series HD Audio Controller [8086:9c20] (rev 04)
        Subsystem: ASUSTeK Computer Inc. 8 Series HD Audio Controller [1043:11af]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series PCI Express Root Port 1 [8086:9c10] (rev e4)
 



Pour plus de détails, j'ai également fait la commande:


cat /proc/asound/pcm
 



Dont le résultat est:


00-03: HDMI 0 : HDMI 0 : playback 1
00-07: HDMI 1 : HDMI 1 : playback 1
00-08: HDMI 2 : HDMI 2 : playback 1
00-09: HDMI 3 : HDMI 3 : playback 1
00-10: HDMI 4 : HDMI 4 : playback 1
01-00: ALC3236 Analog : ALC3236 Analog : playback 1 : capture 1
 



Après quelques recherches, j'ai également trouvé l'endroit ou les sources du firmware de ma carte est stocké:
/usr/lib/modules/5.7.0-kali1-amd64/source/include/sound

Dedans, on y retrouve tous les fichiers headers qui sont utilisés pour l'utilisation de mon contrôleur son.
En exécutant la commande:


uname -r
 



J'ai pu affirmer que j'était dans le bon dossier ( 5.7.0-kali1-amd64 ), donc si je ne me trompe pas, ce sont les bons fichiers headers.
Mais, par abus de conscience, je suis aller voir dans le second dossier présent à ce chemin: /usr/lib/modules ( le dossier 5.4.0-kali2-amd64 ) et dedans, il n'y a pas de sources.

Après avoir parcouru les fichiers regs.h et core.h, on se rend vite compte que nous sommes sur les bonnes sources ( regs.h définissant les entrées du codex, et core.h définissant la totalité des fonctions, structures etc. utiles à l'utilisation du matériel )

Un fichier à quand même attiré mon attention tout particulièrement: alc5623.h
Qui défini une seule structure: alc5623_platform_data, structure contenant deux variables: "unsigned int add_ctrl" et "unsigned int jack_det_ctrl"

Voici le code du fichier alc5623.h:


/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _INCLUDE_SOUND_ALC5623_H
#define _INCLUDE_SOUND_ALC5623_H
struct alc5623_platform_data {
  /* configure :                              */
  /* Lineout/Speaker Amps Vmid ratio control  */
  /* enable/disable adc/dac high pass filters */
  unsigned int add_ctrl;
  /* configure :                              */
  /* output to enable when jack is low        */
  /* output to enable when jack is high       */
  /* jack detect (gpio/nc/jack detect [12]    */
  unsigned int jack_det_ctrl;
};
#endif
 



N'étant clairement pas un pro des drivers, je ne suis pas en capacité de savoir ce qu'es adc/dac et je ne comprend pas non plus l'utilité de la variable jack_det_ctrl...

Je vous donne au passage la liste des fichiers qui sont présent dans le dossier audio:


ac97, core.h, dmaengine_pcm.h, hda_verbs.h, mpu401.h, rt5660.h, simple_card.h, tas2552-plat.h, wm5100.h, ac97_codec.h, cs35l33.h, emu10k1.h, hdmi-codec.h, omap-hdmi-audio.h, rt5663.h, simple_card_utils.h, tas5086.h, wm8903.h, aci.h, cs35l34.h, emu10k1_synth.h, hwdep.h, opl3.h, rt5665.h, snd_wavefront.h, tea6330t.h, wm8904.h, ad1816a.h, cs35l35.h, emu8000.h, i2c.h, opl4.h, rt5668.h, soc-acpi.h, timer.h, wm8955.h, ad1843.h, cs35l36.h, emu8000_reg.h, info.h, pcm_drm_eld.h, rt5670.h, soc-acpi-intel-match.h, tlv320aic32x4.h, wm8960.h, adau1373.h,cs 4231-regs.h, emux_legacy.h, initval.h, pcm.h, rt5682.h, soc-component.h, tlv320aic3x.h, wm8962.h, ak4113.h, cs4271.h, emux_synth.h, intel-dsp-config.h, pcm_iec958.h, s3c24xx_uda134x.h  soc-dai.h, tlv320dac33-plat.h, wm8993.h, ak4114.h, cs42l52.h, es1688.h, intel-nhlt.h, pcm-indirect.h, sb16_csp.h, soc-dapm.h, tlv.h, wm8996.h, ak4117.h, cs42l56.h, gus.h, jack.h, pcm_oss.h, sb.h, soc-dpcm.h, tpa6130a2-plat.h, wm9081.h, ak4531_codec.h, cs42l73.h, hda_chmap.h, l3.h, pcm_params.h, seq_device.h, soc.h, uda134x.h, wm9090.h
ak4641.h, cs8403.h, hda_codec.h, madera-pdata.h, pt2258.h, seq_kernel.h, soc-topology.h, uda1380.h, wss.h, ak4xxx-adda.h, cs8427.h, hda_component.h  max9768.h, pxa2xx-lib.h, seq_midi_emul.h, sof, util_mem.h, alc5623.h, da7213.h, hda_hwdep.h, max98088.h, rawmidi.h, seq_midi_event.h, sof.h, vx_core.h, asequencer.h, da7218.h, hda_i915.h, max98090.h, rt286.h, seq_oss.h, soundfont.h, wavefront.h, asoundef.h, da7219-aad.h, hda_register.h, max98095.h, rt298.h, seq_oss_legacy.h, spear_dma.h, wm0010.h, asound.h, da7219.h, hda_regmap.h, memalloc.h, rt5514.h, seq_virmidi.h, spear_spdif.h, wm1250-ev1.h, compress_driver.h, da9055.h, hdaudio_ext.h, minors.h, rt5645.h, sh_dac_audio.h, sta32x.h, wm2000.h, control.h, designware_i2s.h, hdaudio.h, mixer_oss.h, rt5659.h, sh_fsi.h, sta350.h, wm2200.h
 



Dans sound/ac97:


codec.h, compat.h, controller.h, regs.h
 



Dans sound/sof:


channel_map.h, control.h, dai.h, dai-imx.h, dai-intel.h, header.h, info.h, pm.h, stream.h, topology.h, trace.h, xtensa.h
 



Si mon idée n'est finalement pas si bête, si quelqu'un peut m'aider à trouver le driver sur Internet et à le modifier de la manière adéquate, je suis preneur

( Mais si mon idée n'est pas bonne, ou si quelqu'un à une idée de la manière dont je pourrais régler ce problème (si c'est possible), je suis preneur ^^ )

Merci,

Innocent1

Dernière modification par Innocent1 (19-08-2020 21:57:07)

Hors ligne

#2 19-08-2020 13:46:42

èfpé
Membre
Inscription : 10-07-2016

Re : [Résolu] Aide Intel ALC3236 Analog ( ASUS R510L )

Bonjour,

Innocent1 a écrit :

( Mais si mon idée n'est pas bonne, ou si quelqu'un à une idée de la manière dont je pourrais régler ce problème (si c'est possible), je suis preneur ^^ )


Le codec est un Realtek ALC3236 (et non ALC5623) donc ta piste n'est effectivement pas la bonne.
Tu pourrais commencer par confirmer l'hypothèse puis tenter des manips plus simples qu'un patch :

  • alsa-info → informe sur la configuration audio (cf. wiki),

  • hdajacksensetest → confirmera ou non ton hypothèse,

  • pavucontrol → contrôle des volumes pour PulseAudio,

  • alsamixer/amixer → pour désactiver l'Auto-Mute Mode,

  • hdajackretask → dernier recours (ex : askubuntu.com)


Note également l'existence du paramètre model, pour le module/pilote snd-hda-intel (cf. kernel.org).

Hors ligne

#3 19-08-2020 14:19:48

robert2a
Membre
Inscription : 15-11-2014

Re : [Résolu] Aide Intel ALC3236 Analog ( ASUS R510L )

Bonjour all


je ne suis pas en capacité de savoir ce qu'es adc/dac
 



c'est le petit nom :  "Analogique, Digital , Convertisseur/Digital, Analogique, Convertisseur

en cas d' échec pense que tu peu utiliser l'usb pour avoir du son (convertisseur externe usb2 => HP et micro analogique ) mais il te faut des enceintes externe au portable .

Hors ligne

#4 19-08-2020 18:50:36

Innocent1
Membre
Inscription : 13-08-2020

Re : [Résolu] Aide Intel ALC3236 Analog ( ASUS R510L )

Bonsoir,

D'accord merci de l'information robert2a ( pour la clé USB convertisseur externe, j'en ai déjà une, mais j'aimerais quand même réglé ce soucis si c'est faisable... ),

èfpé, j'ai donc installé alsa-info, j'ai lancé:


alsa-info
 



Et il m'a généré un rapport http://alsa-project.org/db/?f=d5bf8b54b … f8bf070cc2

Ensuite j'ai essayé tes commandes une par une, la seule qui à fonctionné était:


alsamixer
 



( Bon, pavucontrol aussi, mais c'est le mixeur audio de base, et rien de concluant )

J'ai un peut regarder l'interface que nous offrent alsamixer,
Par défaut je suis sur la puce: PulseAudio
J'ai fait F6 ( Choisir la carte son ), je suis allé dans: "1 HDA Intel PCH" ( La Puce change pour "Realtek ALC3236" )
Une fois sur cette puce, j'ai augmenté le son Master, Headphone, et Speaker, mais toujours pas de son.

Sur le F2 ( Informations Système ):
"/proc/asound/pcm" ( voir mon premier message )

"/proc/asound/devices":


  2: [ 0- 3]: digital audio playback
  3: [ 0- 7]: digital audio playback
  4: [ 0- 8]: digital audio playback
  5: [ 0- 9]: digital audio playback
  6: [ 0-10]: digital audio playback
  7: [ 0- 0]: hardware dependent
  8: [ 0]   : control
  9: [ 1- 0]: digital audio playback
 10: [ 1- 0]: digital audio capture
 11: [ 1- 0]: hardware dependent
 12: [ 1]   : control
 33:        : timer
 



"/proc/asound/cards":


 0 [HDMI           ]: HDA-Intel - HDA Intel HDMI
                      HDA Intel HDMI at 0xf7a1c000 irq 51
 1 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xf7a18000 irq 52
 



"/proc/asound/version":


Advanced Linux Sound Architecture Driver Version k5.7.0-kali1-amd64.
 



Je sais pas si ça peut aider, mais je rappel que mon ordinateur est un R510L,

Voilà voilà,

Merci,

Innocent1

Hors ligne

#5 19-08-2020 21:48:42

èfpé
Membre
Inscription : 10-07-2016

Re : [Résolu] Aide Intel ALC3236 Analog ( ASUS R510L )

Re-,

Innocent1 a écrit :

Ensuite j'ai essayé tes commandes une par une, la seule qui a fonctionné [...]


L'outil hdajacksensetest est fourni par le paquet alsa-tools (hdajackretask par alsa-tools-gui), puis :

hdajacksensetest


Le retour (jack connecté et non connecté) permettra de confirmer ou non l'hypothèse ; par ailleurs :

amixer -c 1 sset 'Auto-Mute Mode' 'Disabled'

Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Enabled'
  Item0: 'Disabled'


Va désactiver l'Auto-Mute Mode (note que tu peux aussi le faire en semi-graphique, avec alsamixer).

Dernière modification par èfpé (20-08-2020 20:48:42)

Hors ligne

#6 19-08-2020 21:56:28

Innocent1
Membre
Inscription : 13-08-2020

Re : [Résolu] Aide Intel ALC3236 Analog ( ASUS R510L )

Wow, èfpé, je ne sais pas quoi dire...

Ca vas bientôt faire 4 ans que j'ai ce problème, tu vient de le résoudre en 2 messages...

Il suffisait finalement juste que j'ai l'idée de demander de l'aide sur ce forum, depuis le temps que je suis sous des distributions linux ^^

Je pense que je ne pourrais jamais assez te remercié !

Merci beaucoup,

Innocent1

Hors ligne

Pied de page des forums