[closed]Звук в линуксе [alsa]

danilov

Не было стандартных дров к звуковой карте. Скачал из из инета, поставил - работает
(через alsa). Перегрузилсо - перестало. Говорит, нету дефолтного устройства (видимо /dev/sndstat).
/dev/sndsat - это линк на /proc/asound/... куда-то дальше. Папки asound там нет. Можно как-нибудь
это полечить (восстановить /proc/asound/... )? Неужели он удалил это при перезагрузке? Это случалось
2 раза, на двух дистрибах. Драйвер realtek ac97 ... дальше не помню.

mira-bella


как насчет того, чтобы модуль с твоим драйвером загрузить?

modprobe snd-<твоя звуковуха>

например в startup скриптах
или можно еще alias-ы прописать для автоматической загрузки

danilov

- mopdrobe snd-intel8x0 (до перезагрузки такой был)
- FATAL: Module snd_intel8x0 not found.
зато есть $modules$/sound/oss/i810_audio.ko - с ним можно что-нить сделать?

Fragaria

модуль ещё можно в /etc/modules прописать

Fragaria

если у тебя intel8x0, то не нужно было ничего ставить, этот модуль по умолчанию входит в состав ядра.

Kalya777

Наверно
Module snd_intel8x0 not found
ключевая фраза

akelsh

определись alsa или oss?
и не проще ли модуль вкомпилить в ядро?

vall

какая версия ядра? какая мамка?
PCI ID моей MCP51 добавили в ядро только в 2.6.16 и соответственно в последний релиз алсы.

danilov

Да мне бы хоть что-нибудь...
А мона последовательность действий? По поводу intel8x0 - я не уверен, это его так установщик определил.
По дефолту он не стоял.
После modprobe я должен ещё что-то сделать?

danilov

2.6.16. Мама Gigabyte K8NSC-939
GA-K8NSC-939
Socket 939 для процессоров AMD Athlon™64/ 64 FX
Чипсет NVIDIA nForce3 250Gb Platform Processor
Чип ITE IT8712F
Встроенная периферия
Marvell 8001 Gigabit Ethernet контроллер
Звуковой кодек Realtek ALC850

akelsh

может тебе стоит пересобрать ядро и включить поддержку твоей звуковухи в ядро?
или тебе надо принципиально это сделать модулем?

danilov

Не принципиально, но компилить я не умею... Гораздо большая проблема - я не знаю, какие модули туда включить,
поэтому хочу узнать, можно ли без сборки включить звук, и что для этого нужно

akelsh

а там много уметь не надо.
сначала установи установи исходиники ядра (может быть уже установлены потом напиши make menuconfig, отконфигурь, по этому вопросу лучше почитай доку... Хотя там в целом ничего не понятного нет. Но если что то не поймешь в конфигурации, спрашивай...
Потом надо компилить, а это еще проще
make bzImage
make modules
make install_modules
(два последние пункта только для того если ты все таки решишь компилить с модулями)
cp /usr/src/linux/arch/i386/boot/bzImage-... /boot/
ну и соответственно редактируешь конфиги загрузчика.
тут больше все зависит от конкретного дистрибутива, и что у тебя в качестве загрузчика.
а вобще почитай документацию, там все написано

dgaf

тут недавно пролетало описание опций ядра на русском

mira-bella

- mopdrobe snd-intel8x0 (до перезагрузки такой был)
- FATAL: Module snd_intel8x0 not found.
зато есть $modules$/sound/oss/i810_audio.ko - с ним можно что-нить сделать?
"до перезагрузки такой" что был? где был?
Был загружен (т.е. показывался в списке, выдаваемом командой lsmod) и звук при этом работал? Находился в директории с модулями?
Ты знаешь вообще где модули лежат?
/lib/modules/<версия ядра>/kernel (это типа и обозначено $modules$)
Что трудно залезть туда и найти модуль от своей звуковухи, а потом загрузить его при помощи modprobe? (ошибки "not found" при этом точно не увидишь)
Чтобы заработал звук, ничего кроме успешной загрузки нужного модуля с драйвером твоей звуковухи и существования нужных файлов устройств (в /dev) не надо. Файлы устройств скорее всего есть.
проверь: в $modules$/sound должен обязательно лежать soundcore.ko (если он конечно в ядро не вкомпилирован а вот $modules$/sound/oss удали всю директорию от греха подальше, ибо содержимое может конфликтовать с проинсталенным ALSA.
Для чистоты эксперимента можешь удалить все содержимое $modules$/sound, кроме soundcore.ko (который должен присутствовать обязательно) и проинсталить заново ALSA.
кроме того ALSA включено в ядро 2.6.X (а ведь у тебя судя по всему именно это ядро, если mopdrobe говорит про модуль с суффиксом .ko)
Почему бы действительно не включить в ядро при компиляции (можно даже и в качестве модулей опять же).

mira-bella

PCI ID моей MCP51 добавили в ядро только в 2.6.16 и соответственно в последний релиз алсы.
кстати как называется драйвер?

vall

ты не поверишь - snd-intel8x0

mira-bella

ты не поверишь - snd-intel8x0
ну почему же не поверю
этого ответа как раз и ожидал
и правда работает, сделали наконец - ура

danilov

и существования нужных файлов устройств (в /dev)
А как бы обеспечить их существование? Он с разными звуковыми системами хочет
либо /dev/sndstat - про него я писал, - либо /dev/dsp - его просто нет - либо /dev/audio - к нему ничего не привязано

akelsh

смотри конфиг udev

mira-bella

А как бы обеспечить их существование? Он с разными звуковыми системами хочет
либо /dev/sndstat - про него я писал, - либо /dev/dsp - его просто нет - либо /dev/audio - к нему ничего не привязано
ALSA - это /dev/snd/*
/dev/sndstat, /dev/dsp, etc - это OSS
нужно или настроить свой софт, чтобы он использовал ALSA, или проинсталить OSS-интерфейс для ALSA (пакет alsa-oss-<версия>.tar.bz2) - это в любом случае сделать не помешает (чтобы работал софт, который работает только через OSS).
должна появится директория $modules$/sound/core/oss с файлами snd-pcm-oss.ko, snd-mixer-oss.ko
А как инсталить файлы устройств - это большая тема (читать "man mknod", Documentation/devices.txt в исходниках ядра, если конечно ты не используешь DevFS но вообще-то ALSA при инсталляции должна была их проинсталить.

danilov

make[1]: Entering directory `/usr/src/linux-headers-2.6.16-1-k7'
  CC [M] /root/modules/alsa-driver/acore/sgbuf.o
In file included from /root/modules/alsa-driver/include/adriver.h:770,
     from /root/modules/alsa-driver/acore/sgbuf.c:13 :
include/linux/pci.h:460 : error: syntax error before numeric constant
make[3]: *** [/root/modules/alsa-driver/acore/sgbuf.o] Ошибка 1
make[2]: *** [/root/modules/alsa-driver/acore] Ошибка 2
make[1]: *** [_module_/root/modules/alsa-driver] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.16-1-k7'
make: *** [compile] Ошибка 2
А что делать если ошибка в kernel-headers? Такая же вылезла, когда пытался поставить catalyst
Где есть нормальные заголовки?

mira-bella

Где есть нормальные заголовки?
слабо воспользоваться последним релизом ядра?
и еще какая версия GCC используется?

danilov

А что такое k7 вообще? Раньше думал, что AMD-шные процы.... Щаз проставил 2.6.16-486 - всё пошло... Я, наверное, мудной...

mira-bella

А что такое k7 вообще? Раньше думал, что AMD-шные процы....
поздравляю, ты правильно думал
Щаз проставил 2.6.16-486 - всё пошло...
разумеется
система команд i486 поддерживается всеми процами x86-архитектуры, кроме i386

danilov

Ну и клёво. Спасибо всем, кто откликнулся
Оставить комментарий
Имя или ник:
Комментарий: