Geforce G210: pas de son en HDMI

Geforce G210: pas de son en HDMI - Hardware - Linux et OS Alternatifs

Marsh Posté le 24-10-2010 à 12:42:32    

Salut,
j'ai acheté une carte Twintech Geforce G210 pour une utilisation media center (xbmc), reliée à une TV.
L'intérêt de cette carte, c'est qu'elle intègre une carte son et une sortie HDMI video+son.
Elle est censée remplacer mon actuel couple Geforce 8500GT HDMI + carte son Audigy reliée par un cable SPDIF pass-through.
 
Je précise que j'ai déjà trouvé et lu tous les tutos qu'on trouve sur le net (xbmc, nvnews ...) et que rien ne fonctionne pour moi (en plus, ils sont tous partiellement faux et/ou obsolètes).
 
Voila déjà la bestiole:

04:00.0 VGA compatible controller [0300]: nVidia Corporation GT200 [GeForce 210] [10de:0a65] (rev a2)
04:00.1 Audio device [0403]: nVidia Corporation High Definition Audio Controller [10de:0be3] (rev a1)


Je tourne sous Mandriva 2010.1 avec noyau mis à jour en 2.6.36, alsa 1.0.23, dernier driver nvidia:

$ uname -a
Linux arcadia.vtf 2.6.36-desktop-1mnb #1 SMP Thu Oct 21 01:58:22 CEST 2010 x86_64 x86_64 x86_64 GNU/Linux
$ cat /proc/asound/version  
Advanced Linux Sound Architecture Driver Version 1.0.23.
$ cat /proc/driver/nvidia/version  
NVRM version: NVIDIA UNIX x86_64 Kernel Module  260.19.12  Fri Oct  8 11:17:08 PDT 2010
GCC version:  gcc version 4.4.3 (GCC)


 
J'ai chargé le module "snd-hda-intel" avec l'option "probe_mask=0x102" puisque j'ai déterminé que c'était la bonne valeur pour moi.
Alsa voit bien un périphérique de sortie SPDIF, que j'ai "unmuté" avec alsamixer.
 
Extrait de dmesg au chargement du module:
(on constate que l'option "enable_msi=0" est implicite pour ma carte dans cette version du noyau)

HDA Intel 0000:04:00.1: PCI INT A -> GSI 16 (level, low) -> IRQ 16
hda_intel: Disable MSI for Nvidia chipset
hda_intel: codec_mask forced to 0x2
HDA Intel 0000:04:00.1: setting latency timer to 64
HDMI: detected monitor SONY TV
     at connection type HDMI
HDMI: available speakers: FL/FR
HDMI: supports coding type LPCM: channels = 2, rates = 44100 48000 88200, bits = 16 20  


Il semble que la carte détecte bien qu'il y a ma TV à l'autre bout du cable HDMI:

$ cat /proc/asound/card0/eld#1.0  
monitor_present         1
eld_valid               1
monitor_name            SONY TV
     
connection_type         HDMI
eld_version             [0x2] CEA-861D or below
edid_version            [0x3] CEA-861-B, C or D
manufacture_id          0xd94d
product_id              0xfe00
port_id                 0x20000
support_hdcp            0
support_ai              0
audio_sync_delay        0
speakers                [0x1] FL/FR
sad_count               1
sad0_coding_type        [0x1] LPCM
sad0_channels           2
sad0_rates              [0xe0] 44100 48000 88200
sad0_bits               [0xe0000] 16 20 24


 
On dirait que tout va bien. Je peux donc tenter d'utiliser aplay:

$ aplay -L
[...]
hdmi:CARD=NVidia
    HDA NVidia, NVIDIA HDMI
    HDMI Audio Output


$ aplay -D"hdmi:CARD=NVidia" ~/xxxx.wav  
Playing WAVE 'xxxx.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
aplay: pcm_write:1603: write error: Erreur d'entrée/sortie


Aucun son n'est produit.
(Je précise qu'en utilisant avec aplay une sortie de ma carte son SB Audigy, le son sort parfaitement avec le meme fichier wav)
 
Et le dmesg indique ensuite:

playback write error (DMA or IRQ trouble?)


Même résultat avec "aplay -Dhw:0,3" ou "-Dplughw:0,3"
 
J'ai déja tenté les options suivantes pour le snd-hda-intel:
probe_msi=0 : à priori inutile en 2.6.36, de toutes façons ça ne change rien.
position_fix : aucun succès avec les valeurs 0, 1, 2
J'ai tenté de jouer avec le "probe_mask" et testé 1 par 1 les 4 devices hw:0,3 hw0,7 hw0,8 et hw0,9 . Pas mieux.
J'ai regardé les source de mon noyau, il contient bien tous les patches supposés faire fonctionner cette gamme de cartes.
 
Le post le plus utile que j'ai trouvé au sujet de ces cartes est:
http://www.nvnews.net/vbulletin/sh [...] ostcount=7
Pourtant, ça ne m'a pas dépanné.
 
Est-ce que quelqu'un a déjà réussi à avoir du son sur la sortie HDMI avec cette *#&$ de carte ?
Comme je l'ai indiqué plus haut, je n'ai trouvé aucun tutorial ou aucun forum qui résolve ce problème. Alors que plein d'autres personnes y arrivent.

Reply

Marsh Posté le 24-10-2010 à 12:42:32   

Reply

Marsh Posté le 14-12-2010 à 22:28:17    

Il m'en aura fallu du temps pour trouver la solution ...
D'abord, je confirme qu'avec Kernel 2.6.36 (et à priori à partir du 2.6.34) et Alsa 1.0.23, il n'y a rien de spécial à faire: ça fonctionne tout seul. En théorie.
 
Maintenant pour mon problème, même s'il y a une chance sur 1 milliard que quelqu'un ait le même, car c'est lié à ma configuration matérielle, je poste la solution.
 
Je possède une carte mère MSI Eclipse SLI: chipset x58.
Ce chipset inclut un circuit son intégré "Intel HD Audio Controler", jusque là, rien d'exceptionnel.
Sauf que sur ce modèle précis de carte mère, MSI a décidé de désactiver le circuit son, en supprimant les sorties sons à l'arrière de la carte mère, et par un bridage quelconque du bios dont je ne connais pas le secret.
 
Il semble que ce bridage soit superficiel. Sous Linux, un 'lspci' m'indique bien que la carte son est présente. Je peux charger le module 'snd-hda-intel', qui voit la carte mais me jette aussitot après en me disant qu'il y a un problème matériel.
 
il se trouve que le circuit son de la carte Nvidia utilise lui aussi le module 'snd-hda-intel'. J'avais remarqué en chargeant le module, qu'il m'insultait à propos de la carte son intégrée MSI, mais qu'il reconnaissait correctement la carte son Nvidia. Donc à priori ça n'aurait pas du poser de problème. Et pourtant ... il y a bien un conflit entre elles.
 
J'ai donc écrit le petit script suivant qui parcourt les périphériques PCI via le Sysfs, localise la carte son MSI par ses identifiants matériels, et la désactive:
(script lancé au boot du PC)
 

Code :
  1. for dev in /sys/bus/pci/devices/*; do
  2.         read class <"${dev}/class"
  3.         read vendor <"${dev}/vendor"
  4.         read device <"${dev}/device"
  5.         case "${class}-${vendor}-${device}" in
  6.                 "0x040300-0x8086-0x3a3e" )
  7.                         echo "Disabling Intel HD Audio device: ${dev##*/}"
  8.                         echo 1 >"${dev}/remove"
  9.                 ;;
  10.         esac
  11. done


Et là, miracle, le module snd-hda-intel ne voit plus la carte MSI, il voit toujours la carte Nvidia, et le son sort en HDMI tout seul, sans aucun réglage particulier.
Conclusion: évitez d'acheter une carte mère MSI Eclipse SLI.

Reply

Marsh Posté le 14-12-2010 à 23:57:12    

Chapeau :jap:
Ta mésaventure me rappele celle que j'avais vécue avec une carte mère MSi dont le bios contenait une boot rom pour un chip raid intégré (sur un modèle dérivé, mais pas mon modèle) et qui plantait ma carte raid PCi.
Je constate que, 10 ans plus tard, MSi est toujours coutumier des raccourcis grossiers dans ses bios.

Reply

Marsh Posté le 07-11-2011 à 17:50:55    

Bonjour...
Je n'y connais pas grand chose mais je me demande si mon souci n'est pas du même genre...
lo-desktop                
    description: Computer
    width: 32 bits
  *-core
       description: Motherboard
       physical id: 0
     *-memory
          description: System memory
          physical id: 0
          size: 2012MiB
     *-cpu
          product: Intel(R) Pentium(R) 4 CPU 2.93GHz
          vendor: Intel Corp.
          physical id: 1
          bus info: cpu@0
          version: 15.4.9
          serial: 0000-0F49-0000-0000-0000-0000
          size: 2950MHz
          width: 64 bits
          capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx x86-64 constant_tsc pebs bts pni dtes64 monitor ds_cpl tm2 cid cx16 xtpr lahf_lm
          configuration: id=0
        *-logicalcpu:0
             description: Logical CPU
             physical id: 0.1
             width: 64 bits
             capabilities: logical
        *-logicalcpu:1
             description: Logical CPU
             physical id: 0.2
             width: 64 bits
             capabilities: logical
     *-pci
          description: Host bridge
          product: Radeon Xpress 200 Host Bridge
          vendor: ATI Technologies Inc
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 01
          width: 64 bits
          clock: 66MHz
          configuration: latency=64
          resources: memory:0-1fffffff
        *-pci:0
             description: PCI bridge
             product: RS480 PCI-X Root Port
             vendor: ATI Technologies Inc
             physical id: 2
             bus info: pci@0000:00:02.0
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: pci bus_master cap_list
             configuration: driver=pcieport
             resources: irq:0 ioport:e000(size=4096) memory:fb000000-fcffffff ioport:b0000000(size=536870912)
           *-display
                description: VGA compatible controller
                product: GT218 [GeForce 210]
                vendor: nVidia Corporation
                physical id: 0
                bus info: pci@0000:01:00.0
                version: a2
                width: 64 bits
                clock: 33MHz
                capabilities: bus_master cap_list rom
                configuration: driver=nvidia latency=0
                resources: irq:18 memory:fb000000-fbffffff memory:b0000000-bfffffff(prefetchable) memory:ce000000-cfffffff(prefetchable) ioport:ef00(size=128) memory:fcf00000-fcf7ffff(prefetchable)
           *-multimedia
                description: Audio device
                product: High Definition Audio Controller
                vendor: nVidia Corporation
                physical id: 0.1
                bus info: pci@0000:01:00.1
                version: a1
                width: 32 bits
                clock: 33MHz
                capabilities: bus_master cap_list
                configuration: driver=HDA Intel latency=0
                resources: irq:19 memory:fcffc000-fcffffff
        *-ide:0
             description: IDE interface
             product: IXP SB400 Serial ATA Controller
             vendor: ATI Technologies Inc
             physical id: 11
             bus info: pci@0000:00:11.0
             version: 80
             width: 32 bits
             clock: 66MHz
             capabilities: ide bus_master cap_list rom
             configuration: driver=sata_sil latency=64
             resources: irq:23 ioport:ff00(size=8) ioport:fe00(size=4) ioport:fd00(size=8) ioport:fc00(size=4) ioport:fb00(size=16) memory:fe02f000-fe02f1ff memory:fdf80000-fdffffff(prefetchable)
        *-ide:1
             description: IDE interface
             product: IXP SB400 Serial ATA Controller
             vendor: ATI Technologies Inc
             physical id: 12
             bus info: pci@0000:00:12.0
             version: 80
             width: 32 bits
             clock: 66MHz
             capabilities: ide bus_master cap_list rom
             configuration: driver=sata_sil latency=64
             resources: irq:22 ioport:fa00(size=8) ioport:f900(size=4) ioport:f800(size=8) ioport:f700(size=4) ioport:f600(size=16) memory:fe02e000-fe02e1ff memory:80000000-8007ffff(prefetchable)
        *-usb:0
             description: USB Controller
             product: IXP SB400 USB Host Controller
             vendor: ATI Technologies Inc
             physical id: 13
             bus info: pci@0000:00:13.0
             version: 80
             width: 32 bits
             clock: 66MHz
             capabilities: bus_master cap_list
             configuration: driver=ohci_hcd latency=64
             resources: irq:19 memory:fe02d000-fe02dfff
        *-usb:1
             description: USB Controller
             product: IXP SB400 USB Host Controller
             vendor: ATI Technologies Inc
             physical id: 13.1
             bus info: pci@0000:00:13.1
             version: 80
             width: 32 bits
             clock: 66MHz
             capabilities: bus_master cap_list
             configuration: driver=ohci_hcd latency=64
             resources: irq:19 memory:fe02c000-fe02cfff
        *-usb:2
             description: USB Controller
             product: IXP SB400 USB2 Host Controller
             vendor: ATI Technologies Inc
             physical id: 13.2
             bus info: pci@0000:00:13.2
             version: 80
             width: 32 bits
             clock: 66MHz
             capabilities: bus_master cap_list
             configuration: driver=ehci_hcd latency=64
             resources: irq:19 memory:fe02b000-fe02bfff
        *-serial UNCLAIMED
             description: SMBus
             product: IXP SB400 SMBus Controller
             vendor: ATI Technologies Inc
             physical id: 14
             bus info: pci@0000:00:14.0
             version: 82
             width: 32 bits
             clock: 66MHz
             configuration: latency=0
             resources: ioport:b00(size=16) memory:fe02a000-fe02a3ff
        *-ide:2
             description: IDE interface
             product: IXP SB400 IDE Controller
             vendor: ATI Technologies Inc
             physical id: 14.1
             bus info: pci@0000:00:14.1
             logical name: scsi1
             version: 80
             width: 32 bits
             clock: 66MHz
             capabilities: ide bus_master cap_list emulated
             configuration: driver=pata_atiixp latency=64
             resources: irq:16 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:f400(size=16)
           *-cdrom
                description: DVD writer
                product: DVD-RW  DVR-108
                vendor: PIONEER
                physical id: 0.0.0
                bus info: scsi@1:0.0.0
                logical name: /dev/cdrom
                logical name: /dev/cdrw
                logical name: /dev/dvd
                logical name: /dev/dvdrw
                logical name: /dev/scd0
                logical name: /dev/sr0
                version: 1.14
                capabilities: removable audio cd-r cd-rw dvd dvd-r
                configuration: ansiversion=5 status=nodisc
        *-isa
             description: ISA bridge
             product: IXP SB400 PCI-ISA Bridge
             vendor: ATI Technologies Inc
             physical id: 14.3
             bus info: pci@0000:00:14.3
             version: 80
             width: 32 bits
             clock: 66MHz
             capabilities: isa bus_master
             configuration: latency=0
        *-pci:1
             description: PCI bridge
             product: IXP SB400 PCI-PCI Bridge
             vendor: ATI Technologies Inc
             physical id: 14.4
             bus info: pci@0000:00:14.4
             version: 80
             width: 32 bits
             clock: 66MHz
             capabilities: pci bus_master vga_palette
             resources: ioport:d000(size=4096) memory:fdd00000-fddfffff memory:fde00000-fdefffff(prefetchable)
           *-network etc.
 
Je viens d'installer la gforce 'avant j'utilisais la carte integrée) et depuis plus de son ^^
 
est-ce que ce peut-être le même conflit? et si oui, où dois-je mettre le script?
 
Merci pour les infos ;-)

Reply

Marsh Posté le 07-11-2011 à 17:53:41    

oups j'oubliais...je suis sous ubuntu LtS (lucyd lynx) et le pilote de la carte est la version "current" proprietaire

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed