Help - Search - Members - Calendar
Full Version: Как сделать Hda звук
Project OS X Forums > Languages > Русский > Драйвера > Звук
Pages: 1, 2, 3
Silencer
Не уверен, насколько корректна ссылка на другой форум, где я уже изложил свою проблему, но решил два раза одно и то же не постить, так как всё равно многие читают оба форума. Если надо, то я могу перепостить и сюда, удалив ссылку.

Я подробно описал свою проблему вот здесь. Очень прошу помочь, почти слёзно, так как я перепробовал уже практически всё, что только можно было найти, а результата нет.
iMAN
QUOTE (Slice @ Mar 11 2010, 06:49 PM) *
AppleHDA.kext/Contents/PlugIns/AppleHDAPlatformDriver.kext/Contents/Info.plist
Click to view attachment

Используй 256 с нашего форума, там чаще всего ничего не надо вписывать. Но не из хазарда.


Только что попробовал 256 , результат отрицательный , микры по прежнему не работают , дает только звук на передней панели sad.gif
Попробовал прописатьвсе это дело в апплеХДА но окончательно заплутал там и походу прописал не туда куда надо , звук не появился sad.gif А в вудуХДА куда прописывать ?
Silencer
QUOTE (iMAN @ Mar 11 2010, 05:48 PM) *
Только что попробовал 256 , результат отрицательный , микры по прежнему не работают , дает только звук на передней панели sad.gif
Попробовал прописатьвсе это дело в апплеХДА но окончательно заплутал там и походу прописал не туда куда надо , звук не появился sad.gif А в вудуХДА куда прописывать ?


Прописывать в Info.plist. Посмотри мой пример, я прописывал пин-конфиг для нод, а также цепочки:
Click to view attachment

Есть ещё информация и в теме про VoodooHDA.
iMAN
Что то я не понял как ты прописал , где у тебя что там ? Объясни !
Ну и как , работает ?
Silencer
QUOTE (iMAN @ Mar 12 2010, 08:30 AM) *
Что то я не понял как ты прописал , где у тебя что там ? Объясни !
Ну и как , работает ?

Ты прочитал тему по Voodoohda? В Info.plist есть набор NodesToPatch, в который надо прописать свои ноды Pin complex по следующему шаблону:
CODE
            <key>NodesToPatch</key>
            <array>
                <dict>
                    <key>Codec</key>
                    <integer>0</integer>
                    <key>Config</key>
                    <string>0x02014110</string>
                    <key>Conns</key>
                    <integer>3</integer>
                    <key>Node</key>
                    <integer>5</integer>
                </dict>
                                 ....
            </array>

Свой пин-конфиг прописывай в Config, в Node - десятичный номер ноды. Conns - к какой ноде у тебя эта нода подключается. Последовательность действий такая:
1. Проверяешь свой пин-конфиг, и смотришь, если надо что-то поменять.
2. Прописываешь только те ноды, которые некорректно работают, перезагрузаешься, проверяешь.
3. Прописываешь пин-конфиг для всех нод (pin complex), отключая неиспользуемые. Проверяешь.
4. Если всё еще не работаешь, составляешь правильные цепочки по дампу из линукса, и прописываешь эти цепочки, ниже пример, как это делать в Info.plist.

Тут две записи, можно сколько угодно. В первой нода 12 соединяется с нодой 30, во второй нода 30 соединяется с нодой 8. Получается цепочка 12-30-8.
CODE
            <key>NodesToPatch</key>
                <dict>
                    <key>Codec</key>
                    <integer>0</integer>
                    <key>Conns</key>
                    <integer>30</integer>
                    <key>Node</key>
                    <integer>12</integer>
                </dict>
                <dict>
                    <key>Codec</key>
                    <integer>0</integer>
                    <key>Conns</key>
                    <integer>8</integer>
                    <key>Node</key>
                    <integer>30</integer>
                </dict>
            </array>

Silencer
Продублирую последние результаты здесь, мало ли, может кто-нибудь откликнется. На другом форуме полная тишина. Очень не хочется сдаваться, дошёл уже так далеко!

Каким-то чудом получилось запустить звук! Правда работать он начинает только после выхода из сна! Прописал одинаковую цепочку для IntSpeaker и Headphone (5-3), у третьей ноды поставил ProcessingState=NO, а у 5-й включил у усилителя PublishMute и PublishVolume. После загрузки компа звука нет, но если оправить его в Sleep, а потом разбудить, то звук появляется!

С самого начала звук пропадал через 30 секунд. Я объединил IntSpeaker и Headphone в одну группу (хоть это и одна цепочка), звук перестал пропадать, но при этом слышны регулярные щелчки и потрескивания. Я проверил состояние gain/mute у 5-й ноды командами 0x005b8000 и 0x005ba000. Когда ничего не играет какое-то время, там выставляется mute=1. Если после щелкнуть на любой звук в Sound Effects, он проиграется с задержкой и щелчком, а проверка 0x005b8000 и 0x005ba000 покажет, что mute=0, а gain=3d.

Я поэкспериментировал с MuteGPIO у IntSpeaker и Headphone. Я не заметил никакой разницы при любых значениях параметра - 0, 1, 3, а также табличное для 5-й ноды для любого VREF. Даже если этот параметр выкинуть вообще, ничего не меняется.

Также ничего не меняется при включении или выключении EAPD. После выхода из сна этот бит выставлен в 0, а звук есть. Убрал команду 0x00570c02 из ConfigData, ничего не изменилось, звука при старте нет. Если дёргать этот бит при запущенной песне в iTunes (после выхода из сна, когда звук работает), тоже ничего не меняется.

Пробовал проверять состояние нод 5 и 3 до и после сна, не нашёл никакой разницы.

Итого у меня остаются три проблемы:

1. Звук работает только после выхода из сна. Может, это здесь уже обсуждалось? Посоветуйте, плиз, что можно сделать.

2. Щелчки при воспроизведении. Я так понимаю, нода постоянно уходит в mute, видел, что это было уже, но решения не нашёл. Кстати, в Azalia у меня тоже после выхода из сна появляются щелчки.

3. Контроль mute на 30-й ноде, блокирующей микрофон, не работает. Если я правильно понимаю, то здесь можно только с помощью Amp что-то сделать, но все мои эксперименты пока не решили эту проблему.
Silencer
Подозреваю, что одна из двух первых проблем должна устранится, если я смогу запустить драйвер только с одним аналоговым выходом (IntSpeaker, Headphone или LineOut). Но сейчас это не получается, драйвер отказывается работать, если при прописывании любого аналогового выхода нет IntSpeaker и Headphone в Layouts. При этом я могу без проблем запустить драйвер только с SPDIFOut и Mic.
Bugagazavr
Принялся за ковыряние alc 889, был слегка напуган полученым графиком из линуха, но если судить по дампам, то всё верно.
Click to view attachment

Проблема с микрофоном не ясна, если смотреть на график входы и выходы идут через те же миксеры, непонятно почему тогда на стороне выхода звук есть в наличии, а на входе ничего не поступает, и как можно понять что ноды ходят через три разных миксера одновременно или это типо альтернатива на выбор? Или же всётаки из-за отсутствия остальных двух миксеров я получаю звук с частотой не выше 96к Ггц?

UPD:

Прощупывание нескольких цепей нод дало результат:
24-36-7 - Работает, реагирует на сигнал, но как и вуду только слышны шумы, более того реагирует на звук в нашниках ( хотя микр находится далеко и сигнал не доходит ) как будто что то путается внутри. QuickTime при попытке записи говорит.


UPD:

36 - это селектор, следовательно я тупо пробросил цепь без миксера, вот только разве не надо соединять его с миксером???
Если следовать логике то цепь должна быть из 4 нод, наиболее логичная получается:
7-36-11-24, где 7 это вход, 36 селектор, 11 миксер, 24 микрофон.
Или же после инпута должен следовать обязательно сразу же миксер?

UPD:

Было составлено 2 цепи, первая состояла из 4 нод, однако результата это не дало, всё те же симптомы, и цепь из 5 нод ( если верить дампу линукса, то микрофон он предпочитает пускать через 38 ноду ( она же в hex 26 ), вопрос в том куда это дело идёт потом ведь дальше на выбор либо оутпут который микрофону не нужен, либо ещё один миксер на сколько я понял соединять между собой 2 миксеров смысла не имеет, да и яблохда ругается, что то в голову не лезут другие варианты и решения.

UPD:

Пришла в голову ещё одна цепь, 8-35-24 ( но при тестировании она не дала результатов ), возник вопрос почему, обратившись к дампу вуду стал смотреть различия, едиственное что обнаружил это OSS: mix (mix), если не ошибаюсь для того что бы начал идти сигнал нужен усилитель с параметром Boost, в вуду он на сколько понимаю igain ( Input Gain ), следовательно мне нужен миксер с этим параметром, тогда по логике вещей я могу сделать такую цепь: 8-35-11-24, где 8 вход, 35 миксер Mix, 11 миксер igain, 24 микрофон pin complex.
PauliK
Приветствую Вас!
Помогите найти рабочий AppleHDA и HDAEnabler для ALC888 на MSI G31M2.
Пробывал вариантов 10 для ALC888 - в самом лучшем случае выходы есть, а звука нет.

Дамп прилагаю
Click to view attachment

Благодарю за внимание.
Slice
QUOTE (PauliK @ Sep 5 2010, 03:41 AM) *
Приветствую Вас!
Помогите найти рабочий AppleHDA и HDAEnabler для ALC888 на MSI G31M2.
Пробывал вариантов 10 для ALC888 - в самом лучшем случае выходы есть, а звука нет.

Дамп прилагаю
Click to view attachment

Благодарю за внимание.

Дамп как дамп, обычный ALC888, почему бы обычным драйверам не работать? Наверно, причину нужно в другом искать.
PauliK
QUOTE (Slice @ Sep 5 2010, 10:00 AM) *
Дамп как дамп, обычный ALC888, почему бы обычным драйверам не работать? Наверно, причину нужно в другом искать.

Где ее искать? В винде звук нормальный, а здесь пока нет.
Slice
QUOTE (PauliK @ Sep 5 2010, 11:45 AM) *
Где ее искать? В винде звук нормальный, а здесь пока нет.

А в ДСДТ устройство как HDEF обозначено? А вуду звук дает?
04152viki
Имел 2 случая, когда звук появлался только после правки Device (HPET) таким образом:

IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
IRQNoFlags ()
{11}
IRQNoFlags ()
{15}
PauliK
QUOTE (Slice @ Sep 5 2010, 02:10 PM) *
А в ДСДТ устройство как HDEF обозначено? А вуду звук дает?

Вуду дает звук, он тише раза в 2, чем в винде. И как всегда, мне повело с микрофоном - он очень тих.
Дсдт на этой машине я не правил совсем. Какие будут указания?
Slice
Насчет громкости вуду знаю, я просто регулятор поворачиваю. Что в драйвере - понятия не имею.
Эппл как-то втиснула в драйвер обработку звука,в т.ч. шумоподавление. Для вуду этим заниматься некому, вот звук и имеет естественную громкость, не испачканную математикой.
Bugagazavr
QUOTE (PauliK @ Sep 5 2010, 03:41 AM) *
Приветствую Вас!
Помогите найти рабочий AppleHDA и HDAEnabler для ALC888 на MSI G31M2.
Пробывал вариантов 10 для ALC888 - в самом лучшем случае выходы есть, а звука нет.

Дамп прилагаю
Click to view attachment

Благодарю за внимание.

Дамп есть, цепи тоже, если в вуду всё работало, то достаточно перенести цепи в яблохда и поправить пинконфиг или перетащить его из винд, в шапке темы лежит мануал там наглядно всё расписано.
Slice
QUOTE (PauliK @ Sep 5 2010, 03:29 PM) *
Вуду дает звук, он тише раза в 2, чем в винде. И как всегда, мне повело с микрофоном - он очень тих.
Дсдт на этой машине я не правил совсем. Какие будут указания?

Выкладывай свой ДСДТ, поправлю слегка.
PauliK
QUOTE (Slice @ Sep 6 2010, 02:12 PM) *
Выкладывай свой ДСДТ, поправлю слегка.

Премного благодарен.
Click to view attachment
Slice
Держи
Click to view attachment
Покажи скриншоты Сведения о Системе там где звук, и где PCI устройства.
С таким ДСДТ тебе HDAEnabler по идее не нужен.
Можешь испытывать AppleHDA_ALC888. Желательно той версии, какая у тебя система.
И посмотри вот этот пост
http://www.projectosx.com/forum/index.php?...post&p=9687
PauliK
PCI
Click to view attachment
Click to view attachment
Click to view attachment
Огромное спасибо, пошел штудировать матчасть.
Slice
Как нет встроенного аудио? Я же его прописал!
Выкладывай
ioreg -lxw1024 >ioregPaulik.txt
Посмотри в БИОСе, не отключено ли оно, и стоит ли в режиме HDA, а не AC97.
Еще покажи экран с ЮСБ устройствами.
PauliK
В биосе все включено, проверил только что.
Могу из винды любую информацию взять, пока винда стоит.
Slice
Мда-а-а... Такого бага я еще не видел!
У тебя в ДСДТ звуковушка прописана на адресе
CODE
            Device (HDEF)
            {
                Name (_ADR, 0x001E0003)

Тогда как в иореге (а там железо само находит)
CODE
    | |   +-o pci8086,27d8@1B  <class IOPCIDevice, id 0x10000017e, registered, matched, active, busy 0 (784 ms), retain 8>
    | |   |   {
    | |   |     "assigned-addresses" = <10d800820000000000c0fff90000000000400000>
    | |   |     "IOInterruptSpecifiers" = (<1000000007000000>,<0000000000000100>)
    | |   |     "IODeviceMemory" = (({"address"=0xfffffffff9ffc000,"length"=0x4000}))
    | |   |     "class-code" = <00030400>

По этому class-code я определил, что это устройство является HDA звуковушкой.
Правим в ДСДТ
CODE
            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)

Пробуем.
Click to view attachment
Также определил местонахождение Видео, Лан и Вафли. Можно и к ним чего-то написать в ДСДТ. Если нужно.

Скажи-ка честно, ДСДТ твоя личная, или у кого-то взял аналогичную?
PauliK
Пошел искать подходящий AppleHDA

UPD. Перебрал 6 AppleHDA (888) - результат один: в системных настройках звука нет ни одного выхода, а в сведениях о системе все теже два.
Slice
HDAEnabler ставил?
Короче, ситуация такая: я вписал в ДСДТ некий ПинКонфиг, разумеется не твой, его-то и отображаэт сведения о системе.
А вот для работы AppleHDA пин-конфиг в ДСДТ, или в енаблере должен совпадать с задуманным в AppleHDA_mod.
В первую очередь, тебе нужна корректная пара AppleHDA+HDAEnabler.
PauliK
Да, ставлю с HDAEnabler вместе, в некоторых AppleHDA он уже в плагинах.
Slice
QUOTE (PauliK @ Sep 7 2010, 09:57 PM) *
Да, ставлю с HDAEnabler вместе, в некоторых AppleHDA он уже в плагинах.
У меня с каждым таким вариантом ругань в логе на AppleHDA.
Может тебе эта ругань о чем нибудь скажет, прикрепляю кусочек лога.
Click to view attachment

Судя по вот этому кусочку
QUOTE
Sep 7 21:41:25 host-79-165-237-184 kernel[0]: HDAEnabler: Copyright © 2008 by Kabyl
Sep 7 21:41:25 host-79-165-237-184 kernel[0]: HDAEnabler: 05/05/2008 Added SP-Audio support by Taruga
Sep 7 21:41:25 host-79-165-237-184 kernel[0]: HDAEnabler: 03/07/2009 Compiled for 32/64-bit by Taruga
Sep 7 21:41:25 host-79-165-237-184 kernel[0]: HDAEnabler: Copyright © 2008 by Kabyl
Sep 7 21:41:25 host-79-165-237-184 kernel[0]: HDAEnabler: 05/05/2008 Added SP-Audio support by Taruga
Sep 7 21:41:25 host-79-165-237-184 kernel[0]: HDAEnabler: 03/07/2009 Compiled for 32/64-bit by Taruga
Sep 7 21:41:25 host-79-165-237-184 kernel[0]: Sound assertion "0 == hdaGfxCandidate" failed in "/SourceCache/AppleHDA/AppleHDA-179.1.4/AppleHDAController/

у тебя HDAEnabler и AppleHDA цепляются еще и к видеокарте. Что при этом происходит я пока не знаю, отчетов не видел.
А насчет ругани - вроде не мешает, и если сделать AppleHDA точно соответствующим твоему звуку, то она пропадет. Но мне такого достичь не удавалось, я к тому времени окончательно ушел на вуду.
BIM167
Господа, а это как - одновременно для 1-го уст-ва использовать 2 энаблера (1 собственно энаблер и 2-й в ДСДТ уст-во ХДЕФ)? С таким инжектингом можно таких дров наломать! Либо экспериментируйте с Энаблером, либо с ДСДТ, но не с обоими вместе.
Кроме того пинконфиг в инжекторе штука весьма неудобная и опасная - можно и на панику нарваться при значительных расхождениях со стандартами ЯблоХДА и цепляющегося драйвера. Кроме того БЕЗ этого конфига Вы увидите в профиле РЕАЛЬНЫЕ устройства, а не вписанную бредятину.
Для нормального определения ХДЕФ нужно выполнение условия совпадения адреса в ДСДТ с реальным местом подключения. А для запуска ХДА нужно совпадение ЛейаутИД, прописанного в инжекторе, с одноимённым параметром в плистах драйвера, и КодекИД, считываемого из ИМС кодека с одноимённым параметром в тех же плистах. Фактически выборку в драйвере осуществляет пара ЛейаутИД-КодекИД. Благодаря этому можно прописывать различные конфигурации для 1-го кодека.
Для нормальной работы ЯблоХДА нужно правильно построить цепочки, прописать пеиндефолты нод, подсоеденить дополнительные параметры. Например неправильное подключение Буст может похоронить весь звук, а то и систему. Помимо этого параметра есть ещё куча параметров нуждающихся в правильном подключении.
Например играясь с аудиопроцессорами я умудрялся получать даже моно-звук при полностью правильно прописанных пиндефолте и цепочке.
PauliK
Уважаемый BIM167, а есть ли шанс сделать AppleHDA для Sigmatel stac9205 c работающим микрофоном?
BIM167
QUOTE (PauliK @ Sep 12 2010, 01:38 PM) *
Уважаемый BIM167, а есть ли шанс сделать AppleHDA для Sigmatel stac9205 c работающим микрофоном?

Не знаю - пробовать нужно. Для начала нужно определить, есть ли у него родичи в нативном ряду.
PauliK
Понял, а что для определения родичей нужно сделать?
В данный момент я использую легась+appleHDA из 10.6.2, качество звука устраивает, но не работает микрофон. Можно ли этот легась как нибудь поправить?
Благодарю.
Click to view attachment


Slice
QUOTE (BIM167 @ Sep 12 2010, 03:52 PM) *
Не знаю - пробовать нужно. Для начала нужно определить, есть ли у него родичи в нативном ряду.

Есть STAC9220, в шапке на эпплайфе я его упомянул.
BIM167
QUOTE (PauliK @ Sep 12 2010, 02:00 PM) *
Понял, а что для определения родичей нужно сделать?
В данный момент я использую легась+appleHDA из 10.6.2, качество звука устраивает, но не работает микрофон. Можно ли этот легась как нибудь поправить?
Благодарю.
Click to view attachment
Можно. Но лучше перенести инфу непосредственно в ХДА - всё одно бинарник патчить. Для определения родича достаточно знать вендор, который желательно, что бы совпадал с нативным.
QUOTE (Slice @ Sep 12 2010, 02:55 PM) *
Есть STAC9220, в шапке на эпплайфе я его упомянул.
Это хорошё. Я просто не помню редко используемые нативные кодеки по названиям. smile.gif
BIM167
Павлик, а как именно микрофон не работает (есть ли он в настройках, реагирует ли на подключение штекера, есть ли возможность включить шумопонижение, есть ли вообще какой сигнал)?
На сколько я вижу - задействованы в легасе 2 входа с автодетектом. Как физически связаны эти уст-ва (встроенный микрофон-дырка на корпусе, 2 дырки на корпусе, и т. д.)?
Работает ли автодетект входов?
Оба ли входа ведут себя одинакого?
PauliK
Микрофон не работает совсем, как при использовании встроенного, так и при подключении внешнего в соответствующий разъем.
В настройках звука есть один вход "internal microphone" и у него есть функция шумопонижения, в данный момент выключена.
Только что попробовал подключить внешний микрофон, internel microphone превратилась в line-in и было небольшое колебание, но дальше наступает тишина и звук через этот микрофон не проходит.
Дырки на корпусе 2
1 наушники
1 микрофон
Так что в плане входов дырка одна.
BIM167
QUOTE (PauliK @ Sep 13 2010, 10:25 AM) *
Микрофон не работает совсем, как при использовании встроенного, так и при подключении внешнего в соответствующий разъем.
В настройках звука есть один вход "internal microphone" и у него есть функция шумопонижения, в данный момент выключена.
Только что попробовал подключить внешний микрофон, internel microphone превратилась в line-in и было небольшое колебание, но дальше наступает тишина и звук через этот микрофон не проходит.
Дырки на корпусе 2
1 наушники
1 микрофон
Так что в плане входов дырка одна.

Понятно... Для начала бы попробовать поднять усиление по обоим каналам (да и разделить бы их не помешало бы). Возможно, что нехватает усиления (буст выставлен 1, а можно ставить 3). Вот попробуй....

Форум дурит непадецки! То есть прикреплёфнный файл, то нет... Кодировка сбрасывается постоянно... Как тут можно вообще что-либо обсуждать и делать, когда никому не известно, увидят ли прикреплённый файл, и смогут ли прочесть сообщение?!
Click to view attachment
PauliK
Поменял значение boost c 1 на 3, результат тот же.
Click to view attachment

Там еще есть один boost с значением 0, попробую его тоже.

ЗЫ. Прикрепленного файла не видел и не вижу, посему искал буст сам в плисте.
BIM167
QUOTE (PauliK @ Sep 13 2010, 02:58 PM) *
Поменял значение boost c 1 на 3, результат тот же.
Click to view attachment

Там еще есть один boost с значением 0, попробую его тоже.

Я же сделал легась, и прикрепил. Но он и у меня через раз появляется в сообщении - форум глючит...
Буст 0 и Буст 1 относятся к разным цепочкам. Ещё желательно разделить эти устройства на 2 отдельных. Тоггшда можно было бы проверять их, при одновременном подключении, простым переключением в настройках или по Alt+правый клик (Windows+правый клик).
PauliK
Если не затруднит, выложи где нить легась, хоть на applelife.
BIM167
QUOTE (PauliK @ Sep 13 2010, 03:14 PM) *
Если не затруднит, выложи где нить легась, хоть на applelife.

Вот... Залил на первый попавшийся хостинг...
Ссылка: http://ifolder.ru/19284798
PauliK
QUOTE (BIM167 @ Sep 13 2010, 05:27 PM) *
Вот... Залил на первый попавшийся хостинг...
Ссылка: http://ifolder.ru/19284798

Большое спасибо, скачал.
Появились 2 разных входа, встроенный микрофон не реагирует никак и ни на что, а вот лайнИН при подключении внешнего микрофона дает колебания.
Click to view attachment
Я позвонил по скайпу в ech0123, потом прослушал запись, оказалось, что это какие то наводки-помехи и отношения к тому, что я наговорил не имеют, по крайней мере по ритму.
BIM167
QUOTE (PauliK @ Sep 13 2010, 03:49 PM) *
Большое спасибо, скачал.
Появились 2 разных входа, встроенный микрофон не реагирует никак и ни на что, а вот лайнИН при подключении внешнего микрофона дает колебания.
Click to view attachment
Я позвонил по скайпу в ech0123, потом прослушал запись, оказалось, что это какие то наводки-помехи и отношения к тому, что я наговорил не имеют, по крайней мере по ритму.

Понятно. Напиши мне на лайфе вличку - попробую подправить и линейный, и микрофонный входы.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.