Egy Thinkpad Edge 335 + Ubuntu Precise gépen kínlódok a hanggal;
cat /proc/asound/cards
0 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xf0344000 irq 49
1 [Generic_1 ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xf0340000 irq 16
29 [ThinkPadEC ]: ThinkPad EC - ThinkPad Console Audio Control
ThinkPad Console Audio Control at EC reg 0x30, fw unknown
Az alsamixer a 0-ás hangkártyánál csak egy S/PDIF kontrollt mutat. Az 1-es hangkártyára volna szükség, ennek vannak rendes kontrolljai. (Megjegyzés: Nem értem, hogy miért van 3 hangkártya, mire jó. Ha esetleg valaki elmagyarázná. Kutattam a biosban le lehet-e esetleg tiltani belőlük ezt-azt, nem találtam.)
Namost alapállapotban a programok a 0-ás hangkártyával próbálnak dolgozni, természetesen sikertelenül. Be tudom állítani, hogy az 1-es legyen a default, ehhez csinálok egy .asoundrc-t a homeban a következő tartalommal:
defaults.ctl.card 1
defaults.pcm.card 1
defaults.timer.card 1
Ezzel működik a lejátszás.
A baj, hogy továbbra sem működik a hangfelvétel (vagyis mikrofon), pl. skypeban a másik oldal nem hallja, amit mondok. Az audacityben az látszik, hogy a mikrofon nem teljesen döglött, de nincs érzékenysége. Ha tapsolok neki, akkor egy négyszögjelet rögzít.
Azt gondolom, továbbra is az a baj, hogy a hangkártyák sorrendje nem jó. A neten olyan megoldásokat találtam, amik a kártya driverhez rendelnek indexet. Itt azonban az a helyzet, hogy a 0-ás és 1-es kártyához ugyanaz a driver tartozik:
cat /proc/asound/modules
0 snd_hda_intel
1 snd_hda_intel
29 thinkpad_acpi
Vagyis a kártyához tartozó modul felől nem lehet őket megkülönböztetni. Ugyanezért nem lehet valamelyik kártya driverét blacklistre tenni.
Hasonló (bár kevésbé lényeges) hiba keletkezik az xfce mixerben. Az első listában látszott, hogy a két kártyának ugyanaz a neve (HD-Audio Generic). Emiatt nem lehet a mixernek megmagyarázni, hogy az 1-es kártyával kell foglalkoznia, mert a neve alapján jegyzi meg az aktív kártyát, és legközelebb megint a 0-ás kártyát találja meg.
Tehát, hogyan lehetne megfordítani a kártyák sorrendjét?
- 5387 megtekintés
Hozzászólások
vigyazz, mert nem 0-as, hanem 0-s!
t
- A hozzászóláshoz be kell jelentkezni
A mondatot meg nagy kezdőbetűvel írjuk, a tibyke (sic!) helyesen leírva pedig Tibike. Nem lenne rossz néha érdemi szakmai hozzászólás is, engem legalábbis irritál :-\.
A nyitónak: nem vagyok benne biztos, hogy sorrend baj, egy hangkártya is okozott már nálam hasonlót (PulseAudio okozott már gondot vele).
Teszteléshez javaslom az Audacity használatát, azzal könnyen választhatsz bemenetet.
- A hozzászóláshoz be kell jelentkezni
Sajnos nem tudok jó választ adni. Az előző gépemnél fordult elő ez a probléma; az alaplapi hangkártya mellé beledugtam egy régebbről maradt SB Live-ot is. Az egyetlen megoldás, ami megbízhatóan működött, az volt, hogy az alsa config-ot békénhagytam (mind a rendszerszintűt, mind a felhasználóét), és egyedileg állítottam be a programokat a második kártya használatára. Nagy gáz volt.
Például az mplayer-nek lehet olyat mondani, hogy
-ao alsa:device=hw=0.3
, first card, fourth device. Úgy látom, a
/proc/asound/devices
egy teljes listát tartalmaz (minden kártya, minden device); innen kellene egy capture device-t kiválasztani, és beállítani az adott alkalmazásban.
- A hozzászóláshoz be kell jelentkezni
Nálam így működik: /etc/modprobe.d/alsa.conf
...
options snd-emu10k1 index=0
options saa7134-alsa index=1
options snd-hda-intel index=2
...
- A hozzászóláshoz be kell jelentkezni
Ezt persze láttam, az a baj vele, hogy nálam az első két kártya drivere ugyanaz. Mégis megvan az ötlet: Beírom az alsa.conf-ba
options snd-hda-intel index=1
Akkor az első ilyen kártyát (amit megtalál) felveszi 1-esnek, a 0 index üresen marad, a második (ugyanilyen) kártyát beteszi az üres 0-s helyre. Mindjárt kipróbálom.
--
ulysses.co.hu
És tényleg. Persze vissza kell venni a deafult 1-re állítását. Köszönet a segítségért.
- A hozzászóláshoz be kell jelentkezni
USB-s hangkártyákkal megoldható ugyanazzal a modullal is a sorrend, pci eszközöknél viszont csak udevvel lehet megoldani.
http://alsa.opensrc.org/MultipleCards#Ordering_multiple_cards_of_the_sa…
- A hozzászóláshoz be kell jelentkezni
próbáld meg azt, hogy létrehozol egy fájlt a /etc/modprobe.d könyvtárban:
# sudo touch /etc/modprobe.d/alsa-local.conf
majd editálod, és beleírod/bemásolod hogyaszogya:
# alsa lokális beállítások
options snd-hda-intel index=1,0
alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-hda-intel
alias snd-card-2 thinkpad_acpi
# alias snd-card-3 snd-usb-audio
hátha:)
azért kell neki külön fájl, hogy frissítésnél ne írja felül a rendszer.
- A hozzászóláshoz be kell jelentkezni
fel a polcra!
--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség
- A hozzászóláshoz be kell jelentkezni
Hát most meg van fordítva a kártyák sorrendeje, a helyzet jobb mint volt, de a kínok nem szűntek meg. Az audacity mikrofon bemenet szint jelzője a capture kontroll beállításával arányos értéken álldigál (csendben a nullán kéne álljon), és erre rakódik rá egy viszonylag kis kitérés, ha valami tényleg szól. A mic boost kontrollok befolyásolják még a bemeneti szintet, de a mic kontroll nem. Nem teljesen döglött, halkan hallható, amit felvesz, de ezzel még nem lehet skypeolni.
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
Fentebb már írtam, udev szabályokkal tudod csak pontosan beállítani, hogy mindig egy adott kártya legyen a 0-ás, illetve 1-es pozicióban.
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen, a sorrend meg van fordítva.
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
egy ilyen szabálylistát biggyessz már be ide légyszi', köszi.
--
"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség
- A hozzászóláshoz be kell jelentkezni
Én ezt használtam két különböző kártya sorrendjének beállítására:
http://alsa.opensrc.org/MultipleCards
Az "Ordering multiple cards of the same type" nézd meg, hátha segít rajtad.
Szerk: juuzer kollégának igaza van, itt is azt írja hogy két azonos modult használó PCI-os kártya esetén Udev szabályt kell írni a megkülönböztetésre.
Nézd meg itt:
http://alsa.opensrc.org/Udev
az "Identify two identical audio devices" részt.
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen, a sorrend meg van fordítva. Nem udev szabállyal, hanem indirekten. Az elsőnek megtalált kártyát 1-esre veszem, a második magától 0-s lesz. Nem valami szakszerű, de pillanatnyilag megfelelne..., ha nem volna egyéb baj, amint fent leírtam: nem megfelelő a jelerősség. Látom, hogy vannak bugreportok a témában.
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
1. ötlet:
https://bbs.archlinux.org/viewtopic.php?id=137653
2. nem pulseaudiot használsz?
Mert akkor alsamixer helyett pavucontrol-lal kéne babrálni...
"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."
- A hozzászóláshoz be kell jelentkezni