Geforce G210: pas de son en HDMI - Hardware - Linux et OS Alternatifs
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 :
|
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.
Marsh Posté le 14-12-2010 à 23:57:12
Chapeau
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.
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 ;-)
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
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.