Снова проблемы со звуком [SOLVED]

В продолжение 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 никуда не делось.
Как будто все хорошо и все работает. Но не совсем так...

bash-2.05b$ whoami
lx
bash-2.05b$ ls -l /dev/ | grep snd
drwxr-xr-x  2 root root         0 Ноя 30 17:40 snd
lrwxrwxrwx  1 root root        24 Ноя 30  2005 sndstat -> /proc/asound/oss/sndstat
bash-2.05b$ ls -l /dev/snd
total 0
crw-------  1 lx audio 116,  0 Ноя 30 17:40 controlC0
crw-------  1 lx audio 116,  4 Ноя 30 17:40 hwC0D0
crw-------  1 lx audio 116,  6 Ноя 30 17:40 hwC0D2
crw-------  1 lx audio 116,  8 Ноя 30 17:40 midiC0D0
crw-------  1 lx audio 116,  9 Ноя 30 17:40 midiC0D1
crw-------  1 lx audio 116, 10 Ноя 30 17:40 midiC0D2
crw-------  1 lx audio 116, 24 Ноя 30 17:40 pcmC0D0c
crw-------  1 lx audio 116, 16 Ноя 30 17:40 pcmC0D0p
crw-------  1 lx audio 116, 25 Ноя 30 17:40 pcmC0D1c
crw-------  1 lx audio 116, 26 Ноя 30 17:40 pcmC0D2c
crw-------  1 lx audio 116, 18 Ноя 30 17:40 pcmC0D2p
crw-------  1 lx audio 116, 19 Ноя 30 17:40 pcmC0D3p
crw-------  1 lx audio 116,  1 Ноя 30 17:40 seq
crw-------  1 lx audio 116, 33 Ноя 30 17:40 timer
bash-2.05b$ ls -l /dev/ | grep sound
lrwxrwxrwx  1 root root        10 Ноя 30 17:40 adsp -> sound/adsp
lrwxrwxrwx  1 root root        11 Ноя 30 17:40 audio -> sound/audio
lrwxrwxrwx  1 root root         9 Ноя 30 17:40 dsp -> sound/dsp
lrwxrwxrwx  1 root root        11 Ноя 30 17:40 mixer -> sound/mixer
lrwxrwxrwx  1 root root        24 Ноя 30  2005 sndstat -> /proc/asound/oss/sndstat
drwxr-xr-x  2 root root         0 Ноя 30 17:40 sound
bash-2.05b$ ls -l /dev/sound/
total 0
crw-------  1 lx audio 14, 12 Ноя 30 17:40 adsp
crw-------  1 lx audio 14,  4 Ноя 30 17:40 audio
crw-------  1 lx audio 14,  3 Ноя 30 17:40 dsp
crw-------  1 lx audio 14,  0 Ноя 30 17:40 mixer
bash-2.05b$ cat /etc/udev/permissions.d/50-udev.permissions | grep audio
# audio devices
dsp*:root:audio:0660
audio*:root:audio:0660
midi*:root:audio:0660
mixer*:root:audio:0660
sequencer*:root:audio:0660
sound/*:root:audio:0660
snd/*:root:audio:0660
beep:root:audio:0660
admm*:root:audio:0660
adsp*:root:audio:0660
aload*:root:audio:0660
amidi*:root:audio:0660
dmfm*:root:audio:0660
dmmidi*:root:audio:0660
sndstat:root:audio:0660

Мы видим, что /etc/udev/permissions.d и реальное состояние дел не имеют ничего общего. Тем не менее звук есть (почему -- см. результат whoami). Честно говоря мне уже ничего не хочется делать со сложившемся положением. Хотя, может быть, все-таки исправлю правила в /etc/udev/rules.d по образцу Gharik'а.

Нда...

*  sys-fs/udev
      Latest version available: 070-r1
      Latest version installed: 045

Увидел где-то

Увидел где-то незнакомое слово -- 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: Снести :)

Rinus написал(а):
Снести вЕнду и поставить gentoo :)

Ето че?

Ето собственно

Ето собственно то, что и обсуждают на этом форуме :)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".