Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Cześć.
Mam problem z wystartowaniem kart dźwiękowych. Chcę, aby snd-usb-audio startowała mi jako pierwsza.
lsmod|grep snd:
snd_usb_audio 127500 0 snd_usbmidi_lib 18676 1 snd_usb_audio snd_rawmidi 16878 1 snd_usbmidi_lib snd_seq_device 3223 1 snd_rawmidi snd_hda_codec_realtek 54005 1 snd_hda_codec_generic 48255 2 snd_hda_codec_realtek snd_hda_intel 19258 3 snd_hda_codec 73648 3 snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel snd_hwdep 5267 2 snd_usb_audio,snd_hda_codec snd_hda_core 30056 4 snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_codec snd_hda_intel snd_pcm 71356 6 snd_usb_audio,snd_hda_codec,snd_hda_intel,saa7134_alsa,sn _hda_core snd_timer 17199 2 snd_pcm
cat /etc/modprobe.d/alsa.conf
# Alsa kernel modules' configuration file. # ALSA portion alias char-major-116 snd # OSS/Free portion alias char-major-14 soundcore ## ## IMPORTANT: ## You need to customise this section for your specific sound card(s) ## and then run `update-modules' command. ## Read alsa-driver's INSTALL file in /usr/share/doc for more info. ## ## ALSA portion alias snd-card-0 snd_usb_audio options modprobe snd_usb_audio index=0 id=Audio alias snd-card-1 snd_hda_intel options modprobe snd_hda_intel index=1 id=PCH alias snd-card-2 snd_hda_intel options modprobe snd_hda_intel index=2 id=NVidia alias snd-card-3 saa7134_alsa options modprobe saa7134_alsa index=3 id=SAA7134 ## OSS/Free portion alias sound-slot-0 snd-card-0 alias sound-slot-1 snd-card-1 alias sound-slot-2 snd-card-2 alias sound-slot-3 snd-card-3 # OSS/Free portion - card #0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss # OSS/Free portion - card #1 alias sound-service-1-0 snd-mixer-oss alias sound-service-1-1 snd-seq-oss alias sound-service-1-3 snd-pcm-oss alias sound-service-1-8 snd-seq-oss alias sound-service-1-12 snd-pcm-oss # OSS/Free portion - card #2 alias sound-service-2-0 snd-mixer-oss alias sound-service-2-1 snd-seq-oss alias sound-service-2-3 snd-pcm-oss alias sound-service-2-8 snd-seq-oss alias sound-service-2-12 snd-pcm-oss # OSS/Free portion - card #3 alias sound-service-3-0 snd-mixer-oss alias sound-service-3-1 snd-seq-oss alias sound-service-3-3 snd-pcm-oss alias sound-service-3-8 snd-seq-oss alias sound-service-3-12 snd-pcm-oss #alias /dev/mixer snd-mixer-oss #alias /dev/dsp snd-pcm-oss #alias /dev/midi snd-seq-oss # Set this to the correct number of cards. options snd cards_limit=10
i nie startują mi podług wskazanej kolejności:
cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0xf7310000 irq 26 1 [NVidia ]: HDA-Intel - HDA NVidia HDA NVidia at 0xf7080000 irq 17 2 [Audio ]: USB-Audio - SA9027 USB Audio AUNE SA9027 USB Audio at usb-0000:00:14.0-10, full speed 3 [SAA7134 ]: SAA7134 - SAA7134 saa7133[0] at 0xf7121000 irq 18
Ostatnio edytowany przez numer_inaczej (2016-08-08 15:03:58)
Offline
Bez tego modprobe nie ładuje mi w ogóle modułu z tymi opcjami (ale tylko tej jednej karty)
Offline
Dziwne te ustawienia.
Poza tym dla kart usb lepiej użyć opcji [tt]slots[/tt]. [tt]index[/tt] w ich przypadku bywa nieskuteczny.
options snd slots=snd-usb-audio,snd-hda-intel,itd…
Offline
yossarian - z polecanym przez Ciebie sposobem ładowania modułu karta w ogóle nie jest widoczna w systemie.
Tak na marginesie - dlaczego są to dziwne ustawienia?
Offline
Ja mam moduły do kart wbudowane na sztywno w jajo, i karty zawsze są na tych samych miejscach.
Potem nie trzeba wybierać 1 karty, tylko numerek karty w asound.conf.
Można też załatwić sprawę zmiennymi:
grep -iA3 -B3 ALSA /etc/asound.conf pcm.!default { type plug slave.pcm { @func getenv vars [ ALSAPCM ] default "asymed" } pcm.asymed { type asym playback.pcm "alsaout" capture.pcm "alsain" } pcm.alsaout { type plug slave.pcm { @func getenv vars [ ALSAOUT ] default "dmixer" } } pcm.alsain { type plug slave.pcm { @func getenv vars [ ALSAIN ] default "dsnooped" } }
A tak można wyczesać odpowiedni numerek karty, i użyć w skrypcie, albo przy ustawianiu zmiennych systemowych, z jakimi startuje środowisko graficzne:
CX88=$(grep CX88x /proc/asound/cards | awk '{print $1}') function telewizja { arecord -D hw:$CX88 -r 48000 -c 2 -f S16_LE | aplay - & tvtime /dev/video0 &>/dev/null && killall arecord }
Pozdro
Ostatnio edytowany przez Jacekalex (2016-08-07 22:24:39)
Offline
Dziwne jest właśnie to modprobe w alsa.conf
W ogóle wygląda to bezsensownie. Ustawiasz moduł o nazwie [b]modprobe[/b]?
options modulename option...
This command allows you to add options to the module modulename (which might be an alias) every time it is inserted into the kernel: whether directly (using modprobe modulename or because the module being inserted depends on this module.
All options are added together: they can come from an option for the module itself, for an alias, and on the command line.[/quote]
http://linux.die.net/man/5/modprobe.conf
Kolejnością kart dźwiękowych steruje moduł snd:Kod:
modinfo snd filename: /lib/modules/4.7.0-0.slh.1-aptosid-amd64/kernel/sound/core/snd.ko alias: char-major-116-* license: GPL description: Advanced Linux Sound Architecture driver for soundcards. author: Jaroslav Kysela <perex@perex.cz> srcversion: 9EF79E376BAD6F523A096C3 depends: soundcore intree: Y vermagic: 4.7.0-0.slh.1-aptosid-amd64 SMP preempt mod_unload modversions parm: slots:Module names assigned to the slots. (array of charp) parm: major:Major # for sound driver. (int) parm: cards_limit:Count of auto-loadable soundcards. (int)
Offline
Sound Cards Support mam wkompilowany na stałe, tym samym nie mam takiego modułu.
Przy czym
modinfo snd_usb_audio
parm: index:Index value for the USB audio adapter. (array of int)
Ładowanie modułu bez modprobe (wbrew temu co piszą w manie) - karta jest w ogóle niewidoczna.
Muszę ładować z parametrami, przez wzgląd na to, że grupa HD-Audio w jądrze daje mi kartę Intela na Realteku i dla modułu 'generic' - HDMI od NVidi- inaczej nie da się tych modułów skompilować. Taka zależność.
Nie zmienia to faktu, że usb albo jest niewidoczna albo nie startuje w odpowiedniej kolejności.
Ostatnio edytowany przez numer_inaczej (2016-08-07 21:50:15)
Offline
Obecnie, przy takiej postaci pliku alsa.conf, nie ma prawa to działać tak jak chcesz.
Do tego dochodzi rzadko działająca (w przypadku kart usb) opcja [tt]index[/tt].
Sound Cards Support mam wkompilowany na stałe, tym samym nie mam takiego modułu.[/quote]
A to w nim powinieneś to skonfigurować.
Offline
a jak w takiej sytuacji skonfigurować kolejność PCH (intel na relateku) ora NVidia (również intel)
Oba działają na tym samym module - inne id i modele.
Offline
W przypadku dwóch kart korzystających z snd-hda-intel pozostaje wyrzeźbienie regułki udeva.
Ewentualnie warstwę wyżej, np. PA, KDE/Phonon itp.
Offline
Znalazłem przyczynę tego nieszczęsnego modprobe w /etc/modprobe/alsa.conf - plik nie może nazywać się alsa.conf tylko alsa. (zmieniałem podczas konfiguracji dvb-t)
yossarian - Twoje zalecenie nie działa. Przekompilowałem jądro i dalej to samo. Ale problem rozwiązałem trochę inaczej - poprzez konfigurację .asoundrc - skryptem 'toggle' podmieniającym mi w locie domyślną kartę dźwiękową.
Problem trochę wydumany, ale posiadam kilka kart dźwiękowych - jedną mam podłączoną do malutkich głośnczków, drugą do przedwzmacniacza i dalej wzmacniacza. Chodzi mi o oszczędności na energii elektrycznej - po prostu nie potrzebuję całego "poważnego" sprzętu odpalać jak programuję, czy zajmuję się czynnościami gdzie dźwięki odgrywają trzeciorzędną rolę.
Jednak nie daję solved - może kiedyś ktoś wpadnie na rozwiązanie problemu.
Dzięki za dotychczasową pomoc.
Pozdrawiam
nUmer
Offline
Niestety dalej błądzisz.
Plik bez rozszerzenia .conf jest po prostu ignorowany. Tak samo ignorowane były twoje poprzednie ustawienia z frazą modprobe bo odnosiły się do nieistniejącego modułu z taką nazwą.
Nic dziwnego że nie chciało działać bo cały czas cała ta konfiguracja nadawała się tylko do zaorania i stworzenia zupełnie nowej.
Jeżeli obecne ustawienia tobie pasują to ok, ale pozostawienie twoich wywodów bez odpowiedniego komentarza wprowadzałoby w błąd innych użytkowników szukających rozwiązania podobnych problemów.
Offline
Ja potwierdzam, że te pliki powinny mieć końcówkę .conf. U mnie alsa.conf również istnieje i stoi na straży, by te karty się nie zamieniały miejscami:
$ ls -al /etc/modprobe.d total 40K drwxr-xr-x 2 root root 4.0K 2016-07-23 23:44:50 ./ drwxr-xr-x 159 root root 12K 2016-08-07 08:39:22 ../ -rw-r--r-- 1 root root 605 2016-01-11 19:01:12 alsa.conf -rw-r--r-- 1 root root 127 2014-10-04 20:04:21 dkms.conf -rw-r--r-- 1 root root 154 2015-11-10 02:16:52 intel-microcode-blacklist.conf -rw-r--r-- 1 root root 350 2016-01-31 23:15:47 modules-blacklist.conf -rw-r--r-- 1 root root 1.3K 2016-07-13 08:41:33 modules.conf -rw-r--r-- 1 root root 27 2015-11-02 20:55:38 zram.conf
Nawet masz w manualu wyraźnie napisane:
DESCRIPTION
Because the modprobe command can add or remove more than one module, due to modules
having dependencies, we need a method of specifying what options are to be used with those
modules. [b]All files underneath the /etc/modprobe.d directory which end with the .conf
extension specify those options as required[/b]. They can also be used to create convenient aliases:
alternate names for a module, or they can override the normal modprobe behavior altogether
for those with special requirements (such as inserting more than one module).[/quote]
Offline
Potwierdzam Wasze słowa. Usunąłem całkowicie plik /etc/modprobe.d/alsa i uruchomiło się w tej samej kolejności co poprzednio.
Jednak - przekompilowałem pakiet alsa-utils
[i] media-sound/alsa-utils Available versions: (0.9) 1.0.29 ~1.1.1 ~1.1.2 {bat doc +libsamplerate +ncurses nls selinux} Installed versions: 1.0.29(0.9)(13:35:14 08.08.2016)(libsamplerate ncurses nls -doc -selinux) Homepage: http://www.alsa-project.org/ Description: Advanced Linux Sound Architecture Utils (alsactl, alsamixer, etc.)
z włączonymi flagami libsamplerate ncurses nls, zaktualizowałem konfigurację - ten sam plik co alsa tyle, że uzupełniony o istniejące karty i cała konfiguracja mi się sypie - [url=http://wklej.org/id/2779756/][b]dmesg[/b][/url] - moduły są włączone a karta jest niewidoczna.
Dodam, że samodzielnie funkcjonuje prawidłowo.
UPDATE:
Po usunięciu index = 0 dla usb jest widoczna, jednak nadal żadna karta nie uruchamia się we wskazanej kolejnosci.
O indexach wyczytałem w dokumentacji kernela.
Możecie mi wskazać źródło dotyczące `slots'? - też nie działa, ale może coś nie tak robię.
UPDATE 2:
'slots' działa. Nie miał prawa działać na 'alsa' - na 'alsa.conf' działa.
Problem rozwiązany.
Dzięki wielkie za pomoc.
Pozdrawiam,
nUmer
Ostatnio edytowany przez numer_inaczej (2016-08-08 15:36:10)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00027 | SET CHARSET latin2 |
0.00006 | SET NAMES latin2 |
0.00136 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.133.149.244' WHERE u.id=1 |
0.00074 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.133.149.244', 1738270934) |
0.00061 | SELECT * FROM punbb_online WHERE logged<1738270634 |
0.00085 | SELECT topic_id FROM punbb_posts WHERE id=303986 |
0.00119 | SELECT id FROM punbb_posts WHERE topic_id=28845 ORDER BY posted |
0.00119 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28845 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00137 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28845 ORDER BY p.id LIMIT 0,25 |
0.00101 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28845 |
Total query time: 0.00871 s |