Hem ses kartı hem de HDMI Intel HDA sürücüsünü kullandığında ses çalışmıyor. Cihaz yükleme emri nasıl değiştirilir?


10

Conexant CX20584 yongasetine dayanan bir Intel HDA ses kartına sahip bir Acer Aspire One 522 netbook'um var. KDE, başlatma sırasında ses çıkarsa da, flash ve muhtemelen bir /dev/dspcihaz arayan diğer birçok uygulama , ses çıkışı yapamaz, bu da oldukça işe yaramaz bir multimedya deneyimi yaratır.

ALSA çalma aygıtlarımı ile kontrol aplay -lettiğimde, ana ses aygıtının 0 yerine kart 1 olarak tanındığını görebiliyordum, bunun yerine HDMI'ya bağlanıyor:

**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: CONEXANT Analog [CONEXANT Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Bu şekilde bir tane alıyorum /dev/dsp1, ancak çoğu uygulamanın kullanımı sadece kodlanmış görünüyor /dev/dsp, bu yüzden kart dizinlerini değiştirmenin bir yolunu aradım. ALSA belgeleriyle yapılan bir araştırmadan sonra, bu /etc/modprobe.d/asound.confdosya ile HDMI ve Intel HDA tarafından kullanılan sürücü modüllerine dizinler atamaya çalıştım :

options snd cards_limit=2
options snd-hda-codec-conexant index=0
options snd-hda-codec-hdmi index=1
options snd slots=snd-hda-codec-conexant,snd-hda-codec-hdmi

Bu işe yaramadı ve sonsuz bir cevap arayışımdaki unutulmuş bir bağlantıya dayanarak, bu indexdirektiflerin modül yükleme sırasını koordine etmesi gerekiyor gibi görünüyor , ancak hem bu Conexant hem de HDMI codec'lerinin aynı Intel HDA'yı kullanması sürücü modülü, yani bu durumda geçerli değil gibi görünüyor.

Bununla birlikte, aygıtlar aynı ALSA sürücü modülünü (bu durumda intel HDA) kullandığında doğru kart dizinlerini tanımlamanın herhangi bir yolu var mı?

Yanıtlar:


10

Sonunda başka bir forumdan bu yazıya dayanarak bu soruna bir cevap buldum (referans için "Deneme 1b" ye bakınız). Buna göre, kullanılan sürücü aynı olsa bile, modül kimliği belirtilebilir:

alias char-major-116 snd
alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-hda-intel

options snd cards_limit=2

options snd-hda-intel id=SB index=0
options snd-hda-intel id=HDMI index=1

böylece doğru kart sırasını bulmak ve sesin beklendiği gibi çalışmasını sağlamak:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: CONEXANT Analog [CONEXANT Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Diğer benzer durumlara başvurmak için /proc/asoundkartlarınızdaki sembolik bağlantıları inceleyebilirsiniz , bunlar istediğiniz modül kimlikleri olacaktır:

$ ls -l /proc/asound/
total 0
lrwxrwxrwx 1 root root 5 Jan 26 19:19 HDMI -> card1
lrwxrwxrwx 1 root root 5 Jan 26 19:19 SB -> card0
dr-xr-xr-x 4 root root 0 Jan 26 19:19 card0
dr-xr-xr-x 3 root root 0 Jan 26 19:19 card1
-r--r--r-- 1 root root 0 Jan 26 19:19 cards
-r--r--r-- 1 root root 0 Jan 26 19:19 devices
-r--r--r-- 1 root root 0 Jan 26 19:19 hwdep
-r--r--r-- 1 root root 0 Jan 26 19:19 modules
dr-xr-xr-x 2 root root 0 Jan 26 19:19 oss
-r--r--r-- 1 root root 0 Jan 26 19:19 pcm
dr-xr-xr-x 2 root root 0 Jan 26 19:19 seq
-r--r--r-- 1 root root 0 Jan 26 19:19 timers
-r--r--r-- 1 root root 0 Jan 26 19:19 version
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.