Portál AbcLinuxu, 26. května 2024 02:12


Dotaz: nepřepínatelné nastavení v ALSA

27.8.2017 21:35 lertimir | skóre: 64 | blog: Par_slov
nepřepínatelné nastavení v ALSA
Přečteno: 310×
Odpovědět | Admin
Tak ještě jednom se pokusím vrátit k problému nepřepínatelného nastavení v alsa, který jsem řešil v tomto vlákně před 3/4 rokem a nevyřešil. Pak jsem se tím nezabýval, jen vím od té doby tři informace navíc. Nemožnost přepínání není svázana s DE. Zaloguji-le se do textového terminálu, nemožnost přepnout trvá. včetně toho že situace se nezmění, když se lognu na roota nebo na zcela nový účet. Není to svázané s se staršími konfiguracemi. Na systému je nyní nová instalace archu a opět není možné změna. a za 3 nesouvisí to s distribucí. Zkusil jsem stáhnout Ubuntu a nemožnost přepnout trvá i bootu do life distra. Přičemž pořád platí, že mohu přepinat mezi předním a zadním výstupem na sluchátka. A při startu nastaví náhodně, jestli bude výstup na Speakers nebo Headphones a to se do rebootu nezmění.

Jediné co mne napadá, je nejak provést ručně kompletní inicializaci karty. Nevíte jak? Pokud to nepomůže tak je to asi v HW.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.8.2017 07:50 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: nepřepínatelné nastavení v ALSA
Odpovědět | | Sbalit | Link | Blokovat | Admin
Úplný základ - hoď sem výstup alsa-info.sh
29.8.2017 20:39 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: nepřepínatelné nastavení v ALSA
Příloha:
Posílám výpis. Karta o kterou se jedná je card 0 Xonar ST, driver virtuoso a nastavení, o kterém mluvím je:
Simple mixer control 'Analog Output',0
  Capabilities: enum
  Items: 'Speakers' 'Headphones' 'FP Headphones'
  Item0: 'Headphones'
nyní je na sluchátka a mohu přepnout mezi FP a normálním zadním výstupem. Ale nepřepnu na Speakers (a pokud se but nasměřuje na linkový výstup tak není možné je dostat na sluchátka. Jina fyzicky je to tato karta.
29.8.2017 21:28 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: nepřepínatelné nastavení v ALSA
Koukám na zdroják a to přepínání vypadá úplně jednoduše - jenom se nahazují výstupy oxygenu dle specifikace . Nezdá se, že by to bylo čímkoliv podmíněné.

Takže otázka je, zda to opravdu přepíná. Alsa umí zamknout ovládací prvky a teoreticky je možné, že si je pulseaudio zamyká.

Nejdříve bych shodil PA (dle logu ti běží) a otestoval přepínání napřímo přes alsí amixer. Je nutné, aby ti přitom PA neběželo - nejsnázeji to kontroluji přes výpis, kdo má otevřené soubory zařízení.

sudo lsof /dev/snd/*

Nebo by to mělo jít přepínat alsamixerem (alsamixer -c 0), amixer má divnou syntaxi. Tam hned uvidíš, jestli ti to nastavení drží, nebo to zase někam spadne. Ale jak říkám, je nezbytné to testovat s vypnutým PA.

Pokud by to fungovalo a ukázalo se, že s tím cvičí PA (což dle zdrojáku umí), pak bychom vyrobili .asoundrc konfigurák, ve kterém bychom ten čudlík natvrdo zapnuli na požadovanou hodnotu a zamknuli jej. Používal jsem to na HTPC, aby mi nic nehýbalo s nastavením zvukovky a mohl jsem se spohlenout na fixní nastavení.
30.8.2017 00:04 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: nepřepínatelné nastavení v ALSA
Díky. Prohlídnu to. Fakticky to přepínání jsou relátka (dvě v serii) jedno přehazuje linka/sluchátka druhé mezi sluchátkovým výstupem. Zatím jsem hledat jak zastavit pulse. protože ač mám autospawn = no v souboru /etc/pulse/client.conf. Tak se mi restartne ihne po pulseaudio --kill i po killall. Tak musím najít proč. Tvůj postup zjistit, že mi pulse neběží mi dá odpověd, běži.
# root @ dnopytle in ~ [0:02:11] C:1
$ sudo lsof /dev/snd/*
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
pulseaudi 20453 palovsky   16u   CHR  116,4      0t0 10990 /dev/snd/controlC1
pulseaudi 20453 palovsky   23u   CHR  116,4      0t0 10990 /dev/snd/controlC1
pulseaudi 20453 palovsky   28u   CHR  116,2      0t0 10988 /dev/snd/controlC0
pulseaudi 20453 palovsky   34u   CHR  116,2      0t0 10988 /dev/snd/controlC0

# root @ dnopytle in ~ [0:02:31] C:1
$ killall pulseaudio  

# root @ dnopytle in ~ [0:02:37] 
$ sudo lsof /dev/snd/*
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
pulseaudi 20496 palovsky  mem    CHR  116,9          10995 /dev/snd/pcmC1D7p
pulseaudi 20496 palovsky   16u   CHR  116,4      0t0 10990 /dev/snd/controlC1
pulseaudi 20496 palovsky   21u   CHR  116,4      0t0 10990 /dev/snd/controlC1
pulseaudi 20496 palovsky   22u   CHR  116,9      0t0 10995 /dev/snd/pcmC1D7p

# root @ dnopytle in ~ [0:02:39] C:1
$ sudo lsof /dev/snd/*
COMMAND     PID     USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
pulseaudi 20496 palovsky  mem    CHR  116,5          10991 /dev/snd/pcmC0D0c
pulseaudi 20496 palovsky  mem    CHR  116,3          10989 /dev/snd/pcmC0D0p
pulseaudi 20496 palovsky  mem    CHR  116,9          10995 /dev/snd/pcmC1D7p
pulseaudi 20496 palovsky   16u   CHR  116,4      0t0 10990 /dev/snd/controlC1
pulseaudi 20496 palovsky   21u   CHR  116,4      0t0 10990 /dev/snd/controlC1
pulseaudi 20496 palovsky   22u   CHR  116,9      0t0 10995 /dev/snd/pcmC1D7p
pulseaudi 20496 palovsky   23u   CHR  116,4      0t0 10990 /dev/snd/controlC1
pulseaudi 20496 palovsky   28u   CHR  116,2      0t0 10988 /dev/snd/controlC0
pulseaudi 20496 palovsky   29u   CHR  116,3      0t0 10989 /dev/snd/pcmC0D0p
pulseaudi 20496 palovsky   34u   CHR  116,2      0t0 10988 /dev/snd/controlC0
pulseaudi 20496 palovsky   35u   CHR  116,5      0t0 10991 /dev/snd/pcmC0D0c

# root @ dnopytle in ~ [0:02:42] C:1
$ 
30.8.2017 07:20 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: nepřepínatelné nastavení v ALSA
Ta relátka jsou ovládaná právě GPIO piny toho řídícího čipu zvukovky (oxygen), přes nějaké spínací prvky. Driver zapíše do registru příslušný bit -> relátko sepne. Zjišťování hodnoty toho ovládacího prvku je také napřímo, bez kešování - když se program v user-space dotáže na hodnotu (např. výpis "amixer contents"), zavolá se metoda driveru st_output_switch_get, která to rovnou načte z bitových registrů oxygenu, nic se mezitím nekešuje.

Takže pokud je HW v pořádku, musí to fungovat.
30.8.2017 22:25 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: nepřepínatelné nastavení v ALSA
Jinak nejjednodušší způsob pro otestování je binárku pulseaudia někam přesunout/přejmenovat. Určitě už pak nenajede :-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.