Fujitsu M2010 - Tuning du pilote snd hda

De Memento
Aller à la navigation Aller à la recherche

Les possibilités multimédia du Fujitsu M2010 sous FreeBSD

Je dispose depuis quelques temps d'un Fujitsu M2010. Grâce au récent travail de Hans Petter Selasky, la webcam fonctionne parfaitement (multimedia/cuse4bsd-kmod + multimedia/libv4l + multimedia/webcamd):

  • Pwcview-1.4.1 fonctionne parfaitement.
  • Ekiga-2.0.11 ne détecte pas bien la webcam mais par contre Ekiga-3.2.6 la détecte parfaitement.
  • Cheese 2.30.1 ne détecte pas bien la webcam.

Il ne me restait plus comme seule problème que la détection du microphone interne par le pilote snd_hda.

Une lecture attentive de snd_hda(4) et de nombreux tâtonnements m'ont permis de déterminer les hint.hdac a placer dans le fichier /boot/loader.conf.local.

Sans aucun hint.hdac la commande sysctl dev.hdac.0.pindump=1 donne la configuration par défaut:

hdac0: Dumping AFG cad=0 nid=1 pins:
hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps:    OUT              Sense: 0x00000000
hdac0:  nid 18 0x90a601f0 as 15 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1 [DISABLED]
hdac0:        Caps: IN                 
hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1
hdac0:        Caps:    OUT    EAPD     
hdac0:  nid 21 0x04211020 as  2 seq  0    Headphones  Jack jack  1 loc  4 color   Black misc 0
hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000
hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps:    OUT             
hdac0:  nid 24 0x04a11040 as  4 seq  0           Mic  Jack jack  1 loc  4 color   Black misc 0
hdac0:        Caps: IN OUT         VREF Sense: 0x00000000
hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps: IN OUT         VREF Sense: 0x00000000
hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000
hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps: IN OUT         VREF Sense: 0x00000000
hdac0:  nid 29 0x90970130 as  3 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1
hdac0:        Caps: IN                 
hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps:    OUT              Sense: 0x00000000
hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0

En ajoutant dans le fichier /boot/loader.conf.local:

hint.hdac.0.cad0.nid18.config="as=2 seq=0 device=Mic"
hint.hdac.0.cad0.nid20.config="as=1 seq=0 device=Speaker"
hint.hdac.0.cad0.nid21.config="as=1 seq=15 device=Headphones"
hint.hdac.0.cad0.nid24.config="as=3 seq=1 device=Mic"
hint.hdac.0.cad0.nid29.config="as=0"

on obtient la configuration suivante:

hdac0: Dumping AFG cad=0 nid=1 pins:
hdac0:  nid 17 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps:    OUT              Sense: 0x00000000
hdac0:  nid 18 0x90a60120 as  2 seq  0           Mic Fixed jack  6 loc 16 color Unknown misc 1
hdac0:        Caps: IN                 
hdac0:  nid 20 0x90170110 as  1 seq  0       Speaker Fixed jack  7 loc 16 color Unknown misc 1
hdac0:        Caps:    OUT    EAPD     
hdac0:  nid 21 0x0421101f as  1 seq 15    Headphones  Jack jack  1 loc  4 color   Black misc 0
hdac0:        Caps:    OUT HP EAPD      Sense: 0x00000000
hdac0:  nid 22 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps:    OUT             
hdac0:  nid 24 0x04a11031 as  3 seq  1           Mic  Jack jack  1 loc  4 color   Black misc 0
hdac0:        Caps: IN OUT         VREF Sense: 0x00000000
hdac0:  nid 25 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps: IN OUT         VREF Sense: 0x00000000
hdac0:  nid 26 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps: IN OUT HP      VREF Sense: 0x00000000
hdac0:  nid 27 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps: IN OUT         VREF Sense: 0x00000000
hdac0:  nid 29 0x90970100 as  0 seq  0           AUX Fixed jack  7 loc 16 color Unknown misc 1 [DISABLED]
hdac0:        Caps: IN                 
hdac0:  nid 30 0x411111f0 as 15 seq  0       Speaker  None jack  1 loc  1 color   Black misc 1 [DISABLED]
hdac0:        Caps:    OUT              Sense: 0x00000000
hdac0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0

Cette configuration permet d'utiliser le microphone interne du M2010 et en plus elle définit l'entrée des écouteurs externes comme remplaçant les haut-parleurs internes lorsque les écouteurs sont branchés.

Malheureusement, le micro externe ne fonctionne toujours pas :-(