Снова проблемы со звуком [SOLVED]
LXj 18 ноября, 2005 - 18:24
В продолжение http://gentoo.ru/node/1455
Прошло некоторое время, и КДЕ при загрузке начал выдавать ошибку arts. В этот раз он жаловался на ОТСУСТВИЕ /dev/dsp
И действительно:
bash-2.05b# ls -l /dev | grep sound
lrwxrwxrwx 1 root root 24 Ноя 18 2005 sndstat -> /proc/asound/oss/sndstat
crw-rw---- 1 root root 116, 33 Ноя 18 16:11 sound
Раньше sound был каталогом с кучей файлов, да и в /dev было много симлинков на /dev/sound/*.
При этом alsa при запуске не ругается
»
- Для комментирования войдите или зарегистрируйтесь
Забавно, в d1x
Забавно, в d1x звук есть
открываю
открываю секрет. если алса собрана без совместимости с осс, то dsp не будет. и отдельные программы будут ругатся: "а хде наше дсп, так-разтак? 5 м^2 чтоб к утру было"
пересобирайте алсу с эмуляцией осс и будет вам счастье.
пи.си. дсп разработчики могли бы и переименовать во что другое,а то постоянно всплывают в сознании древесно-стружечные плиты(дсп) или декоративные слоистые пластики...
Модули
Модули поддержки OSS подключены в соответствии с ALSA-HOWTO, при загрузке запускаются на [OK], а lsmod | grep oss бодро рапортует
snd_pcm_oss
snd_mixer_oss
snd_seq_oss
snd_seq_midi_event
snd_seq
snd_seq_device
snd_pcm
snd
Вот только /dev/dsp и компании нету...
у меня была
у меня была собрана алса без эмуляции осс, при установке игры glest пришлось установить эмуляцию. сразу появился /dev/sound/dsp и прочее.
может с девфс(удев) чего? или попробовать переустановить алсу(может быть предварительно удалив все из /lib/modules/вашеядро/alsa-driver, а то иногда там бяка остается вредная)
траблы, траблы...
успешное появление чего-то в /dev/* при наличии Udev, зависят от 2 вещей.
1. файликов /etc/udev/* - кои по сути есть конфиги, т.е. описание того, что потребно создать/ваще-сделать в ответ на загрузку модуля/нахождение устройства (изменение в sysfs = /sys).
2. собственно наличия-отсутствия самих модулей.
И копать следует именно отсюда, если в /etc/udev/rules.d/* с чего-то не прописан /dev/dsp - он там не появится. а от alsa-oss сие не зависит вообще (эт для совместимости по либам - OSS поверх Alsa, благо Альса содежит полную эмуляцию). Согласно второму - нужна поддержка оной эмуляции ядром (ибо оно играет звук по сути), то бишь потребен тот самый модуль snd-pcm-oss, модуль самой карточки и ВСЕ. Для /dev/dsp.
1. В /etc/udev/rules.d
1. В /etc/udev/rules.d есть файлик 50-udev.rules
Для звука в нем 2 секции
# alsa devices
KERNEL="controlC[0-9]*", NAME="snd/%k"
KERNEL="hw[CD0-9]*", NAME="snd/%k"
KERNEL="pcm[CD0-9cp]*", NAME="snd/%k"
KERNEL="midiC[D0-9]*", NAME="snd/%k"
KERNEL="timer", NAME="snd/%k"
KERNEL="seq", NAME="snd/%k"
# sound devices
KERNEL="adsp", NAME="sound/%k", SYMLINK="%k"
KERNEL="adsp[0-9]*", NAME="sound/%k", SYMLINK="%k"
KERNEL="audio", NAME="sound/%k", SYMLINK="%k"
KERNEL="audio[0-9]*", NAME="sound/%k", SYMLINK="%k"
KERNEL="dsp", NAME="sound/%k", SYMLINK="%k"
KERNEL="dsp[0-9]*", NAME="sound/%k", SYMLINK="%k"
KERNEL="mixer", NAME="sound/%k", SYMLINK="%k"
KERNEL="mixer[0-9]*", NAME="sound/%k", SYMLINK="%k"
KERNEL="sequencer", NAME="sound/%k", SYMLINK="%k"
KERNEL="sequencer[0-9]*", NAME="sound/%k", SYMLINK="%k"
Как раз то, что "sound devices" и не отрабатывает. Хотя первое время все было нормально.
2. Нужные модули в ядро вкомпилены, грузятся успешно (см. выше)
щас что-нибудь придумаем...
На моем десктопе исторически торчит система, некогда бывшая LFS (Linux From Scratch, та самая от дяди Бекманса), и, как я полагаю, весьма близкая к Генту по содержанию, но весьма далекая по смыслу ;)
Для UDev мной используется опять таки руками же доработанный файлик рулесов, который работает давно, на разных версиях удева, стабильно и без претензий вообще... вру, была одна, когда отказывался создавать симлинки вида "cdrom->hda", "cdrom1->hdd", поправилось руками когда понадобилась.
В системе имеют место быть 2 звуковухи (sb-live (emu10k1), audigy2 (audigy2) + встроеная на матери intel-чего-то-там (ac97 по смыслу)), все вроде создается где полагаеца и т.п.
Так вот сие чудо говорит, что правила для АЛЬСы должны выглядеть как-то так:
------------------------------------------------------------------
# ALSA devices go in their own subdirectory
KERNEL=="controlC[0-9]*", NAME="snd/%k", GROUP="audio"
KERNEL=="hw[CD0-9]*", NAME="snd/%k", GROUP="audio"
KERNEL=="pcm[CD0-9cp]*", NAME="snd/%k", GROUP="audio"
KERNEL=="midiC[D0-9]*", NAME="snd/%k", GROUP="audio"
KERNEL=="timer", NAME="snd/%k", GROUP="audio"
KERNEL=="seq", NAME="snd/%k", GROUP="audio"
# Sound devices
KERNEL=="admmidi*", GROUP="audio"
KERNEL=="adsp*", GROUP="audio"
KERNEL=="aload*", GROUP="audio"
KERNEL=="amidi*", GROUP="audio"
KERNEL=="amixer*", GROUP="audio"
KERNEL=="audio*", GROUP="audio"
KERNEL=="dmfm*", GROUP="audio"
KERNEL=="dmmidi*", GROUP="audio"
KERNEL=="dsp*", GROUP="audio"
KERNEL=="midi*", GROUP="audio"
KERNEL=="mixer*", GROUP="audio"
KERNEL=="music", GROUP="audio"
KERNEL=="sequencer*", GROUP="audio"
------------------------------------------------------------------
Чисто внешне первая часть похожа, а со второй щас разберемся...
У меня директория /dev/sound отсутствует как класс, а поскольку за время работы с ядром 2.6.х проблем не было, то полагаю она вовсе и не нужна, из чего для строки вида следуют 2 вывода:
1. Лишним является в параметре NAME
2. Лишним является параметр SYMLINK, ибо это следут из 1 (все и так создается в /dev).
Поскольку звуковая подсистема не есть вроде бы критичная для успешной загрузки и работы системы весчь, то имеет смысл (забакапив оригиналы в 3 разных места разумеется) поправить то что у вас, на то что у меня и посмотреть что выйдет.
Иначе - можно поменять строки конфигурации на вид:
То бишь сделать основные девайсы возлегающими в /dev (как и полагается и должно быть), а то что в sound/ - симлинками на них, что вопщем-то одно и то же... но вдруг...
Еще иначе - можно обновить UDev до последнего доступного в портеджах (реально последняя - 076, у меня до последего времени стояла 071, обновилась без видимых системе проблем до 075), причем на крайний случай руками. Процедура ручного обновления выглядит как:
------------------------------------------------------------------
make udevdir=/dev EXTRAS=extras/run_directory
make udevdir=/dev EXTRAS=extras/run_directory install
ИЛИ (в зависимости от нужности сохранять совместимость в devd)
make udevdir=/dev
make udevdir=/dev install
------------------------------------------------------------------
Затем копируем правильный конфиг (или ваш старый, дабы не париться) в /etc/udev/rules.d/ и выполняем /sbin/udevstart, что прибьет текущий удев, и запустит новый.
к версии 076
Глянул я в NEWS к 076 удеву - руками лучче не ставить, подождав пока сие включат в портеджи, ибо там резко поменялись пути залегания конфигов, некоторые доступные опции и т.п., остановившись на 075, дабы не вызвать глюков и прочих оффтопичных вещей в системе загрузки и иже с ними.
я недавно своей
я недавно своей будущей невесте объяснял, что значит ждать ебилдов. так что она теперь ждет вместе со мной... ;)(особенно удев076)
Чесное слово,
Чесное слово, так ничего и не сделал... Но звук после того, как я только что перегрузился Reset-ом (глюк в Lincity), появился...
Просто фантастика. Пойду-ка еще ядро обновлю, что ли... а то до сих пор 2.6.11
Re:
...Продолжаем.
Перегрузился. /dev/dsp опять куда-то исчезло.
Поставил ядро 2.6.14-ck5. Перегрузился. Вылезла куча ошибок от als'ы. Но со звуком стало все нормально.
Перегрузился. /dev/dsp никуда не делось.
Как будто все хорошо и все работает. Но не совсем так...
Мы видим, что /etc/udev/permissions.d и реальное состояние дел не имеют ничего общего. Тем не менее звук есть (почему -- см. результат whoami). Честно говоря мне уже ничего не хочется делать со сложившемся положением. Хотя, может быть, все-таки исправлю правила в /etc/udev/rules.d по образцу Gharik'а.
Нда...
Увидел где-то
Увидел где-то незнакомое слово -- pam. Стало интересно. Нашел топик http://gentoo.ru/node/632. Все сразу стало понятно.
Ну я этот pam из USE выкинул, как выяснилось, давно; а сейчас как раз emerge world идет...
Проблемы со звуком
Недавно собрал комп., все нормально, вот только звук не работает! У меня ASUS P5GPL с интегрированной зв. картой, внизу на панели нет значка динамика! Когда запускаю Windows Media player, выкидывает: Windows Media Player cannot play the file because there is a problem with your sound device. There may not be a sound device installed on your computer, it may be in use by another program, or it may not be functioning properly., когда пытаюсь установить дрова с диска Motherboard, пишет что надо Service Pack 1, был на официальном сайте, скачал SP2, все-ровно то же! Что делать???? Спасибо!
Снести :)
Снести вЕнду и поставить gentoo :)
Re: Снести :)
Ето че?
Ето собственно
Ето собственно то, что и обсуждают на этом форуме :)