[room] Linux и звук на Realtek 665 - что делать?
Sergey Stepanov
=?iso-8859-1?q?dlagovna_=CE=C1_mail=2Eru?=
Вт Сен 26 19:12:45 MSD 2006
Здравствуйте товарищи линуксоиды.
Вот хочу спросить у вас совета, что делать в одной ситуации.
А ситуация такая. Контора, в которой я подрабатываю, закупила большую партию китайских материнок с набортным звуковым чипом Realtec ALC 655. Контора делает цифровые киоски, в которых в качестве операционки используется линукс (доработанная версия Knoppix).
Существует несколько "конфигураций" т.е. несколько образов системы для различных моделей киосков. И вот на этих новых материнках у всех конфигураций стал глючить звук. То вообще звука нет, то после пары перезагрузок появляется, иногда работает стабильно, а иногда когда работает - может резко оборваться и дальше только перезагрузка.
(Примечательно, что под Windows на этих материнках звук работает без нареканий)
Чип Realtek ALC 655 - довольно старая и проверенная микросхема, всегда нормально работала под линухом. Но вродебы просочилась информация, что на этих материнках "новая партия" этих чипов. Хитрым китайцам высылали образы киоск-систем, они запускали у себя и заявляют что "у них все работает". Вместе с тем, в ходе разбирательств, на сайте Realtek 20-го сентября появились новые драйвера под Linux для этого семейства звучков
http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=23&PFid=23&Level=4&Conn=3&DownTypeID=3&GetDown=false
и производителями было посоветовано пересобрать систему с этими драйверами. Однако, в системах с новым драйвером, проблемма осталась, хотя и стала проявляться реже. То есть киоск можно включать-выключать десять раз, и один раз он загрузится без звука, или звук будет, но отрубится после 5 минут работы. Производители материнок теперь кивают на нас (разработчиков), мол ваши программы плохо написаны.
У нас для вывода звука в C-шных программах используется SDL, а так же есть пара систем написаных на Java, там не знаю что используется, но звуковая подсистема точно другая, не SDL. А глючит звук одинаково. В ходе экспериментов выяснилось, что вероятность отключения звука зависит от размера используемого буфера, чем он меньше - тем менее вероятно что звук отключится. Подчеркиваю что _вероятно_, т.е. нестабильность работы остается.
В общем, решение проблеммы свалили на программистов. Эксперименты с программами киоска к результату не приводят, там более на других материнках проблемм со звуком нет. А так же, если в эту глючную материнку вставить внешнюю звуковушку - то на ней все прекрасно работает.
То есть, есть два подозрения:
- Кривые чипсеты (например с урезанным звуковым буфером)
- Кривые драйвера, плохо адаптированные к "новой партии", а какие изменения были в схемотехнике этой новой партии нам не дано знать.
И это при том, что под Windows проблемм со звуком нет - для эксперимента пересобирали одну программу под VisualC 6 (звук генерируется, естественно, тоже через SDL).
Вот встал вопрос - что в этой ситуации делать? Китайцы не собираются материнки отзывать, ведь проблемма программная а не аппаратная, да и менеджеры не собираются портить отношения с дешевым поставщиком. То есть, остается надежда на "компьютерщиков, которые должны поломать голову, и правильно настроить". Вот и встал вопрос - в какую сторону копать? Драйвер представляет собой модифицированные alsa-драйвера, вот содержимое архива драйверов
alsa-driver-1.0.12-4.05b.tar.bz2
alsa-lib-1.0.9.tar.bz2
alsa-utils-1.0.9a.tar.bz2
где 4.05b - это версия драйвера Realtek. При инсталляции драйвера перекомпиливаются, и занимают место стандартных alsa-драйверов..
Что со всем этим можно сделать? Разобраться в исходниках драйвера и "пофиксить баг"? Как то это не особенно реально. Может, есть какой другой путь? Может есть альтернативные драйвера для Realtek 655? Искал - нашел только сайты-фейки, с которых ничего не скачивается и ссылаются друг на друга.
В общем, хелп!
Со всяческими пожеланиями, Сергей.
http://xi.net.ru
Подробная информация о списке рассылки smoke-room