[Hardware] Linux и звук на Realtek 655 - что делать? (From Room)

Sergey Stepanov dlagovna на mail.ru
Вт Сен 26 20:11:19 MSD 2006


Здравствуйте товарищи линуксоиды.


Вот хочу спросить у вас совета, что делать в одной ситуации. 
Сразу извиняюсь что не про AltLinux, а про драйвера в общем под Linux.

А ситуация такая. Контора, в которой я подрабатываю, закупила большую партию китайских материнок с набортным звуковым чипом 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



Подробная информация о списке рассылки Hardware