Voodoohda |
|
|

Aug 28 2009, 12:16 PM




- Advanced Member
- Group: Developer
- Posts: 106
QUOTE (Slice @ Aug 28 2009, 03:22 PM)

Я посмотрел, как устроен автодетект наушников, и у меня волосы стали дыбом. Хотя я знаю команды переключения, но многого остального пока не понял. Но сделать надо.
Я могу это сделать.
QUOTE (Slice @ Aug 28 2009, 03:22 PM)

Это почему это? Физически он у меня стерео, а в драйвере не вижу проблем. Сейчас перепроверю.
А у меня он физически - моно. Да и тебя сигнал левого и правого канала идентичные. Кстати AppleHDA тоже считает твой встроенный микрофон - моно.
QUOTE (Slice @ Aug 28 2009, 03:22 PM)

Я вроде научил драйвер выставлять мин/макс для других входов, кроме микрофона, а куда приложить это значение?
Ты говоришь о настройках усилителя? Который в dB измеряется?
А я говорю о настройках микрофона. Тот который может быть GROUND, 50%, 80%, 100% и т.д.
QUOTE (Slice @ Aug 28 2009, 03:22 PM)

Сохранять на случай выхода из системы? Наверно можно, только я пока не увидел, где задаются начальные значения.
Представь пользователь настрой регуляторы на панели PrefPanel и перезагрузил комп. Настройки опять сбросяться на умолчальные. Значение по умолчанию храняться в Tables.c в таблице const UInt16 gMixerDefaults[SOUND_MIXER_NRDEVICES]
QUOTE (Slice @ Aug 28 2009, 03:22 PM)

Вроде не сложно.
mPortName = NodesToPatch[nid].name
Вот только смущает кодировка русского языка, если это имя еще где-то использовать.
Или ввести два имени - EnglishName и LocaleName?
Прикольно, но не самое нужное в данный момент.
Хм, русский язык... Думаешь будут проблемы? Вроде имя больше нигде не фигурирует. И потом можно на Unicode написать.
QUOTE (Slice @ Aug 28 2009, 03:22 PM)

Еще одно нужно сделать
6. При автодетекте наушников менять имя устройства в контрольной панели. ЭпплХДА это делает.
Да. Хорошая идея.

QUOTE (Slice @ Aug 28 2009, 03:22 PM)

Что сделано на сей момент:
- Recsel теперь срабатывает по всем нодам обоих цепочек. Вставил и забытый connsenable при патче.
- Патч теперь делает до создания цепочек контроля
- Удалил предопределенные патчи для некоторых кодеков. Например ALC883. Лучше вручную сделаю тоже самое, если сочту необходимым.
Может лучше оставить. Хочется чтобы драйвером пользовались и новечки тоже. А это значит, чтобы драйвер работал без доп. настроек. Установил в систему и он работает.
QUOTE (Slice @ Aug 28 2009, 03:22 PM)

- вычисление мин/мах дВ для всех видов входов. Вроде нормально отрабатывает.
В дампах обе цепочки теперь одинаковы, но внутренний микрофон по-прежнему не звучит.
В систем-логе вижу
Буду вставлять дополнительные логи, чтобы выяснить причину. Или это нормально?
Не знаю.
А почему внутренний микрофон не звучит? Раньше тебе удавалось добиться его работы. Он был мало чувствительным, но работал.
Возможно стоит попробовать настроить работу с нодой 19. Ведь имеено ее драйвер по умолчанию считает микрофоном.
QUOTE (Slice @ Aug 28 2009, 03:22 PM)

А у тебя есть возможность видеть исходники, о чем я говорю?
Есть.
Ноутбук Acer Aspire 5930G-733G25Mi
Mac OS iPC OSx86 Leopard 10.5.6 [Intel AMD SSE2 SSE3] Final Release + Apple Update 10.5.7 + Apple Update 10.5.8
Процессор T5800 Intel Core 2 Duo
Chipset Mobile Intel PM45 Express / ICH9-M
Видео nVidia GeForce 9600M GT с 512 Мб DDR3 видеопамяти
Звук Realtek HDA ALC888S-VC2
WebCam Acer CrystalEye 1 Мегапиксель - конфликтует с AppleHPET.kext и не дает заснуть
Сеть Marvell Yukon 88E8071 Gigabit Ethernet - не работает
WiFi intel 5100 802.11a/b/g не работает - заменена на Atheros mini PCI-e AR5006ER

Aug 28 2009, 12:57 PM




- Advanced Member
- Group: Developer
- Posts: 1,632
QUOTE (AutumnRain @ Aug 28 2009, 12:16 PM)

Я могу это сделать.
Тогда надеюсь на тебя. Делаешь на любых исходниках, а я вставлю в свои исправленные. Потом согласуем окончательную версию.
QUOTE
А у меня он физически - моно. Да и тебя сигнал левого и правого канала идентичные. Кстати AppleHDA тоже считает твой встроенный микрофон - моно.
Ничего идентичного, щелок по левой дырке приходит в левое ухо, по правой - в правое. А вот Эппл - действительно в оба.
QUOTE
Ты говоришь о настройках усилителя? Который в dB измеряется?
А я говорю о настройках микрофона. Тот который может быть GROUND, 50%, 80%, 100% и т.д.
Мысль понятная, но мой вопрос - а куда это значение всунуть?
А через вербу его нельзя послать?
QUOTE
Представь пользователь настрой регуляторы на панели PrefPanel и перезагрузил комп. Настройки опять сбросяться на умолчальные. Значение по умолчанию храняться в Tables.c в таблице const UInt16 gMixerDefaults[SOUND_MIXER_NRDEVICES]
И где их сохранить? в файле? в НВРАМ? Мне что-то кажется, что префпанель сохраняет. Вот эта новая версия. Сейчас проверю
QUOTE
Хм, русский язык... Думаешь будут проблемы? Вроде имя больше нигде не фигурирует. И потом можно на Unicode написать.
Еще в префпанели. Надо же, чтоб имена совпадали!
QUOTE
Может лучше оставить. Хочется чтобы драйвером пользовались и новечки тоже. А это значит, чтобы драйвер работал без доп. настроек. Установил в систему и он работает.
Да вот не верю я этим патчам, во всяком случае для моего ALC883 с этими патчами ничего хорошего не получилось. Как мы выяснили на Эплайфе, кодеки одинаковые, а драйвера нужны разные. Так что заложенные патчи помогут единицам, а другим только напортят, независимо новичок он или хакер. Кроме того, можно написать инструкции, какие патчи были предусмотрены, и как их заложить в инфо-плист.
QUOTE
Не знаю.
А почему внутренний микрофон не звучит? Раньше тебе удавалось добиться его работы. Он был мало чувствительным, но работал.
Возможно стоит попробовать настроить работу с нодой 19. Ведь имеено ее драйвер по умолчанию считает микрофоном.
Как 19 нода он и сейчас потихоньку работает, но на нее по даташиту не предусмотрено усилителя, и перекоммутировать нельзя. А вот как 12 ноду сигнал можно усилить. Стоп!
А каким образом реальное устройство (разъем) связано с нодой или с пинконфигом? Может нужна команда на подключение/привязку?
Если связь только через пинКонфиг, то я все сделал.
PS Новая префпанель сохраняет настройки выхода PCM, но не сохраняет настройки микрофона.

Aug 28 2009, 01:04 PM



- Member
- Group: Comrade
- Posts: 63
QUOTE (Clubber_77 @ Aug 28 2009, 05:02 PM)

можно!!!
у меня микрофоны имено так и работают! режим VREFs задается через вербу
у меня она выглядит вот так
01770721 и жестко забита в пинконфиг!
выделено:
Оранжевым- номер ноды
Красным -команда Pin Widget Control
Зеленым - само значение (в линуксе Pin-ctls: 0x21: IN VREF_50
в VoodooHDA: Pin control: 0x00000021 IN VREFs )
p.s.
Сорри, не ту кнопку нажал.
This post has been edited by Clubber_77: Aug 28 2009, 01:13 PM

Aug 28 2009, 01:30 PM




- Advanced Member
- Group: Developer
- Posts: 1,632
QUOTE (Clubber_77 @ Aug 28 2009, 01:04 PM)

у меня микрофоны имено так и работают! режим VREFs задается через вербу
у меня она выглядит вот так 01770721 и жестко забита в пинконфиг!
выделено:
Оранжевым- номер ноды
Красным -команда Pin Widget Control
Зеленым - само значение (в линуксе Pin-ctls: 0x21: IN VREF_50
в VoodooHDA: Pin control: 0x00000021 IN VREFs )
p.s.
Сорри, не ту кнопку нажал.
Спасибо! Очень ценная информация. Но ты опоздал на три минуты.
У меня заработал внутренний микрофон!!!!!
Все дело оказалось в Пинконфиге
19 нода была прописана nid 19 0x90a6012e
Меня заинтересовала 4-я цифра 6 - Other Digital
Сейчас я поменял на 7 - Other Analog
Еще я отменил коннектор 12 для ноды 22, ибо он там и так есть.
Повлияло все же назначение ноды. 7-ка у меня стояла в ЭпплХДА.
Теперь все!
Драйвер рабочий, можно его улучшать косметически и писать инструкции для других.
Picture_3.png ( 50.73K )
Number of downloads: 39А можно и скомпилировать под Барсика.
VoodooHDA_235.kext.zip ( 71.61K )
Number of downloads: 1097
voodoohda_patching.235.src.zip ( 285.21K )
Number of downloads: 431
VoodooHDA.prefPane.zip ( 25.64K )
Number of downloads: 1912

Aug 28 2009, 01:37 PM




- Advanced Member
- Group: Developer
- Posts: 106
QUOTE (Slice @ Aug 28 2009, 05:30 PM)

Ура!!!

Давай я его в первый пост перевыложу.
Чего в change log написать?
This post has been edited by AutumnRain: Aug 28 2009, 01:40 PM
Ноутбук Acer Aspire 5930G-733G25Mi
Mac OS iPC OSx86 Leopard 10.5.6 [Intel AMD SSE2 SSE3] Final Release + Apple Update 10.5.7 + Apple Update 10.5.8
Процессор T5800 Intel Core 2 Duo
Chipset Mobile Intel PM45 Express / ICH9-M
Видео nVidia GeForce 9600M GT с 512 Мб DDR3 видеопамяти
Звук Realtek HDA ALC888S-VC2
WebCam Acer CrystalEye 1 Мегапиксель - конфликтует с AppleHPET.kext и не дает заснуть
Сеть Marvell Yukon 88E8071 Gigabit Ethernet - не работает
WiFi intel 5100 802.11a/b/g не работает - заменена на Atheros mini PCI-e AR5006ER

Aug 28 2009, 01:42 PM




- Advanced Member
- Group: Developer
- Posts: 1,632
QUOTE (AutumnRain @ Aug 28 2009, 01:37 PM)

Ура!!!

Ты поработай над шапкой этой темы, а я пойду докладывать на Мировую сцену.
Ну и жду твоих дополнений в исходники, если можешь.
В change-log: исправлена работа с внутренним микрофоном.
Насчет line-in не проверял, но тоже подправил.
Более существенно, это инструкции чего патчить, и для чего. Я буду составлаять детальный отчет:
1. Что без патча, и что не устраивает
2. Почему нужен такой патч, и что при этом получил.
Теперь о дампах. А ты не мог бы совместить getdump и getExtDump в одно целое? А то избыточная информация получается.
В победном дампе я не вижу особых отличий от нерабочей версии. Пинконфиг да коннекторы. А вот звучания там не очевидно.

Aug 28 2009, 01:56 PM




- Advanced Member
- Group: Developer
- Posts: 106
QUOTE (Slice @ Aug 28 2009, 05:42 PM)

Ты поработай над шапкой этой темы, а я пойду докладывать на Мировую сцену.
Ну и жду твоих дополнений в исходники, если можешь.
А что именно в шапке не так?
А дополнение - это дело не быстрое. Буду потихоньку делать и выкладывать. Главное, чтобы все работало.
QUOTE (Slice @ Aug 28 2009, 05:42 PM)

Теперь о дампах. А ты не мог бы совместить getdump и getExtDump в одно целое? А то избыточная информация получается.
Это можно.
QUOTE (Slice @ Aug 28 2009, 05:42 PM)

В победном дампе я не вижу особых отличий от нерабочей версии. Пинконфиг да коннекторы. А вот звучания там не очевидно.
А чего бы ты хотел? Просто ради примера, как по твоему должен выглядить дамп?
Ноутбук Acer Aspire 5930G-733G25Mi
Mac OS iPC OSx86 Leopard 10.5.6 [Intel AMD SSE2 SSE3] Final Release + Apple Update 10.5.7 + Apple Update 10.5.8
Процессор T5800 Intel Core 2 Duo
Chipset Mobile Intel PM45 Express / ICH9-M
Видео nVidia GeForce 9600M GT с 512 Мб DDR3 видеопамяти
Звук Realtek HDA ALC888S-VC2
WebCam Acer CrystalEye 1 Мегапиксель - конфликтует с AppleHPET.kext и не дает заснуть
Сеть Marvell Yukon 88E8071 Gigabit Ethernet - не работает
WiFi intel 5100 802.11a/b/g не работает - заменена на Atheros mini PCI-e AR5006ER

Aug 28 2009, 04:34 PM




- Advanced Member
- Group: Developer
- Posts: 1,632
QUOTE (AutumnRain @ Aug 28 2009, 01:56 PM)

А что именно в шапке не так?
Я сейчас сделаю отчет, как я догадался. что имеено патчить, а ты помести в шапку ссылку на него.
Драйвер -это мало, нужно уметь им пользоваться. С чистым инфо-плистом у меня нет внутреннего микрофона, автодетект-то отсутствует!
QUOTE
А дополнение - это дело не быстрое. Буду потихоньку делать и выкладывать. Главное, чтобы все работало.
Очень на тебя надеюсь по двум пунктам: автодетект микрофона, и смена имени устройства при автодетекте. Последнее я, пожалуй, и сам могу сообразить, но тебе же все-равно по пути.
QUOTE
А чего бы ты хотел? Просто ради примера, как по твоему должен выглядить дамп?
Как раньше
getdump, но с твоими добавками.
Работоспособность, конечно, не видна, но все же, о многом можно судить.

Aug 28 2009, 05:34 PM




- Advanced Member
- Group: Developer
- Posts: 1,632
Итак, отчитываюсь, как сделать полностью рабочий драйвер на примере своего Sigmatel 9228. Позже испытаю на ALC883.
1. Устанавливаю драйвер с чистым списком NodesToPatch.
Выходные устройства заработали все. Причем левая дырка работает с автодетектом Спикер <-> Наушники.
В текущей версии драйвера в контрольной панели отображается только спикер
Picture_4.png ( 47.04K )
Number of downloads: 159Входное устройство работает только одно - внешний микрофон.
Picture_5.png ( 42.8K )
Number of downloads: 83Но я знаю, что у меня есть еще и встроенный микрофон. Где он?
2. Набираю в терминале команду
getdump >HDADumpNoPatch.txt
Вот этот файл целиком
HDAdumpNoPatch.txt.zip ( 4.73K )
Number of downloads: 793. Там много интересной информации, я сейчас ищу микрофон
CODE
Probing codec #2... -- да мое звуковое устройство находится на адресе 2 (при патче нужно учесть)
HDA Codec #2: Sigmatel STAC9228X
HDA Codec ID: 0x83847616
nid 14 0x02a11020 as 2 seq 0 Microphone Jack jack 1 loc 2 color Black misc 0
nid 19 0x90a6012e as 2 seq 14 Microphone Fixed jack 6 loc 16 color Unknown misc 1
Итак, драйвер видит два микрофона, внутренний (Fixed) и внешний (Jack), сидящие в одной группе 2 (красная цифра).
Смотрим соединения
CODE
Record:
nid=7 [audio input]
|
+ <- nid=27 [audio selector] [src: mic, monitor]
|
+ <- nid=24 [audio selector] [src: mic]
|
+ <- nid=21 [audio selector] [src: mic]
|
+ <- nid=14 [pin: Microphone (Black Jack)] [src: mic] -- это внешний
+ <- nid=19 [pin: Microphone (Fixed)] [src: monitor] -- а это внутренний
Внешний микрофон проходит через дополнительные усилители 21 и 24, и через оконечный усилитель 27 выходит на АЦП 7 (Аналого-Цифровой Преобразователь). Он имеет более высокий приоритет, потому изначально подключен.
Внутренний микрофон соединен напрямую с усилителем 27.
Проблема №1 - в текущей версии драйвера нет автодетекта микрофона, поэтому он никогда не подключается.
Подключить можно вручную командой
send_verb 0x21B70101. Я это сделал, и убедился, что микрофон работает, но чевствительность очень низка, и не регулируется.
Проблема №2 - Согласно даташита нода 19 именно так и подключена, и предназначена для цифрового микрофона с высоким уровнем сигнала, потому и не нуждается в дополнительных усилителях. Ее ПинДефолт = 0x90a6012e
90 - Внутреннее соединение
а - микрофон
6 - цифровой
0 - неопределнного цвета
1 - фиксированный
2 - входит во вторую группу
e - приоритет ( 0 - самый высокий)
Оказывается, сборщики компьютера воткнули туда обычный аналоговый микрофон с низкой чувствительностью.
2. Решение этих проблем находим в возможности прописать в инфо-плисте драйвера NodesToPatch.
Чтобы обойти автодетект микрофона, его просто нужно перевести в другую группу. Свободна у меня 4, что можно проследить по этому дампу.
Чтобы соединить микрофон со входными усилителем, ему нужно назначить другую ноду. По даташиту узнаем, что есть еще 12 нода, которая в данный момент свободна. (Линукс дамп тоже показывает использование этой ноды для микрофона)
Чтобы сделать микрофон аналоговым, мы должны заменить цифру 6 на 7.
Ноду 19 стоит запретить, чтобы не было двух описаний одного устройства.
Поэтому пишем так
CODE
<key>NodesToPatch</key>
<array>
<dict>
<key>Codec</key>
<integer>2</integer> -- мой Адрес кодека
<key>Node</key>
<integer>12</integer> -- ноду 12 определяем как
<key>Config</key>
<string>0x90a79140</string> -- встроенный аналоговый микрофон в 4-й группе
</dict>
<dict>
<key>Codec</key>
<integer>2</integer>
<key>Node</key>
<integer>19</integer> -- ноду 19 переопределяем как
<key>Config</key>
<string>0x40f000f1</string> -- неизвестное устройство в 15 группе, стандартное обозначение для такого случая
</dict>
</array>
И вот ожидаемый результат
Picture_7.png ( 44.6K )
Number of downloads: 137Теперь в дампе можно убедиться, что микрофоны сидят в разных цепочках, и для встроенного подключены усилители
CODE
Record:
nid=8 [audio input]
|
+ <- nid=28 [audio selector] [src: monitor]
|
+ <- nid=25 [audio selector] [src: monitor]
|
+ <- nid=22 [audio selector] [src: monitor]
|
+ <- nid=12 [pin: Microphone (Fixed)] [src: monitor]
В контрольной панели VoodooHDA.pref.panel можно отрегулировать его чувствительность и уровень выходного сигнала, и добиться чистого звука на фоне минимальных шумов
Picture_6.png ( 45.79K )
Number of downloads: 68

Aug 28 2009, 06:59 PM




- Advanced Member
- Group: Developer
- Posts: 1,632
Я тут почесал репу, и подумал, а что, если у меня имеются как аналоговый моно-микрофон (12 нода), так и цифровой стерео (19 нода)? И подправил свой инфо-плист на 19 ноду конфиг 0x90a60150 - внутренний цифровой микрофон в 5-ой группе.
CODE
Record:
nid=9 [audio input]
|
+ <- nid=29 [audio selector] [src: line]
|
+ <- nid=19 [pin: Microphone (Fixed)] [src: line]
Picture_2.png ( 59.51K )
Number of downloads: 44
Picture_3.png ( 48.66K )
Number of downloads: 43Да, чувствительность у него похуже, но что-то он слышит, и в отличие от аналогового, он стерео.
Нда, такого результата я с ЭпплХДА никогда не имел.

Aug 28 2009, 08:56 PM



- Member
- Group: Comrade
- Posts: 63
Господа, попробовал я на себе это чудо, но оно, можно сказать, отказалось работать с моим кодеком! причем все аналогично как с версией 0.2.2
определяются у меня только спикеры, в разделе выходы также присутствует устройство анкноу, и точно такое же в разделе входы. в плист никаких изменений не вносил, эксперементировать буду позже!

Aug 28 2009, 09:41 PM




- Advanced Member
- Group: Developer
- Posts: 1,632
QUOTE (Clubber_77 @ Aug 28 2009, 08:56 PM)

Господа, попробовал я на себе это чудо, но оно, можно сказать, отказалось работать с моим кодеком! причем все аналогично как с версией 0.2.2
определяются у меня только спикеры, в разделе выходы также присутствует устройство анкноу, и точно такое же в разделе входы. в плист никаких изменений не вносил, эксперементировать буду позже!
Есть такая ошибка драйвера Line-Out он пишет как Unknown. Надо поправить. Наисет входа не знаю, наверно тоже Line-in.
А насчет спикера проверь автодетект, небось там и сидят все остальные устройства.
Проверяю на ALC883 на матери GA-965P-S3. Начальная ситуация:
Имеются 6 разъемов сзади, два спереди, и SPDIF in/out. Есть внутреннее гнездо для CD, сейчас туда идет шнурочек от TVTuner, который в МакОСе не работает.
В виндоусе ХР не работают передние разъемы.
Разные патчи AppleHDA давали мне больше или меньше рабочих разъемов. Но никогда не все.
Теперь устанавливаю VoodooHDA чистый.
pict1.png ( 63.9K )
Number of downloads: 63
Pict2.png ( 61.8K )
Number of downloads: 57
Pict3.png ( 52.21K )
Number of downloads: 39По картинкам все очень плохо, но проверка звука показала, что все на месте, просто спрятались за автодетект, и подмеченный выше глюк с анноуном.
CODE
HDA Codec #2: Realtek ALC883
HDA Codec ID: 0x10ec0883
Vendor: 0x10ec
Device: 0x0883
Revision: 0x00
Stepping: 0x02
PCI Subvendor: 0xa0021458
nid 20 0x01014410 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 4
nid 21 0x01011412 as 1 seq 2 Line-out Jack jack 1 loc 1 color Black misc 4
nid 22 0x01016411 as 1 seq 1 Line-out Jack jack 1 loc 1 color Orange misc 4
nid 23 0x01012414 as 1 seq 4 Line-out Jack jack 1 loc 1 color Grey misc 4
nid 24 0x01a19c40 as 4 seq 0 Microphone Jack jack 1 loc 1 color Pink misc 12
nid 25 0x02a19c50 as 5 seq 0 Microphone Jack jack 1 loc 2 color Pink misc 12
nid 26 0x0181344f as 4 seq 15 Line-in Jack jack 1 loc 1 color Blue misc 4
nid 27 0x02214c20 as 2 seq 0 Headphones Jack jack 1 loc 2 color Green misc 12
nid 28 0x593301f0 as 15 seq 0 CD None jack 3 loc 25 color Unknown misc 1 [DISABLED]
nid 30 0x014b6130 as 3 seq 0 SPDIF-out Jack jack 11 loc 1 color Orange misc 1
nid 31 0x01cb7160 as 6 seq 0 SPDIF-in Jack jack 11 loc 1 color Yellow misc 1
Т.е. 4 линейных выхода у меня в автодетекте: куда воткнешь - там и звук. Задние микрофон и линейный вход в одной группе, но без автодетекта работает как микрофон.
А вот как чудно выглядят цепочки
CODE
Playback:
nid=20 [pin: Line-out (Green Jack)]
|
+ <- nid=12 [audio mixer] [src: pcm, mix]
|
+ <- nid=2 [audio output] [src: pcm]
+ <- nid=11 [audio mixer] [src: mix]
nid=21 [pin: Line-out (Black Jack)]
|
+ <- nid=14 [audio mixer] [src: pcm, mix]
|
+ <- nid=4 [audio output] [src: pcm]
+ <- nid=11 [audio mixer] [src: mix]
nid=22 [pin: Line-out (Orange Jack)]
|
+ <- nid=13 [audio mixer] [src: pcm, mix]
|
+ <- nid=3 [audio output] [src: pcm]
+ <- nid=11 [audio mixer] [src: mix]
nid=23 [pin: Line-out (Grey Jack)]
|
+ <- nid=15 [audio mixer] [src: pcm, mix]
|
+ <- nid=5 [audio output] [src: pcm]
+ <- nid=11 [audio mixer] [src: mix]
Record:
nid=8 [audio input]
|
+ <- nid=35 [audio mixer] [src: speaker, line, mic, mix]
|
+ <- nid=24 [pin: Microphone (Pink Jack)] [src: mic]
+ <- nid=26 [pin: Line-in (Blue Jack)] [src: line]
+ <- nid=29 [beep widget] [src: speaker]
+ <- nid=11 [audio mixer] [src: mix]
Input Mix:
nid=11 [audio mixer]
|
+ <- nid=24 [pin: Microphone (Pink Jack)] [src: mic]
+ <- nid=25 [pin: Microphone (Pink Jack)] [src: monitor]
+ <- nid=26 [pin: Line-in (Blue Jack)] [src: line]
+ <- nid=29 [beep widget] [src: speaker]
Playback:
nid=27 [pin: Headphones (Green Jack)]
|
+ <- nid=38 [audio mixer] [src: pcm, mix]
|
+ <- nid=37 [audio output] [src: pcm]
+ <- nid=11 [audio mixer] [src: mix]
Record:
nid=9 [audio input]
|
+ <- nid=34 [audio mixer] [src: speaker, mix, monitor]
|
+ <- nid=25 [pin: Microphone (Pink Jack)] [src: monitor]
+ <- nid=29 [beep widget] [src: speaker]
+ <- nid=11 [audio mixer] [src: mix]
Playback:
nid=30 [pin: SPDIF-out (Orange Jack)]
|
+ <- nid=6 [audio output] [src: pcm]
Record:
nid=10 [audio input]
|
+ <- nid=31 [pin: SPDIF-in (Yellow Jack)] [src: dig1]
Особенно впечатляет миксер. Что-то я и не представляю, чтобы это можно было изобразить средствами AppleHDA
Патчи не нужны! Хорошо, что я удалил из драйвера дефолтные патчи для 883 кодека!
Однако, если бы я захотел звук 5+1, мне бы пришлось разделить устройства по своим группам, к примеру так:
nid 20 0x010144
10 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 4
nid 21 0x010114
80 as 8 seq 0 Line-out Jack jack 1 loc 1 color Black misc 4
nid 22 0x010164
70 as 7 seq 0 Line-out Jack jack 1 loc 1 color Orange misc 4
nid 23 0x010124
90 as 9 seq 0 Line-out Jack jack 1 loc 1 color Grey misc 4
Да и микрофон с линейным входом можно развести ввиду отсутствия автодетекта.
Но все это непринципиально, главное в том, что все входы и выходы работают!
А вот косметика на драйвер пока очень нужна.

Aug 29 2009, 04:23 AM




- Advanced Member
- Group: Developer
- Posts: 1,632
Неприятность: сегодня с утра схватил КП на этом драйвере. Холодный запуск. После перезагрузки стало работать.
Устройство Unknown - это не линейный выход, а Миксер. Надо подумать, как переименовать. Например "Mixed devices".
Микрофоны опять стали одинаковыми. Надо сменить имя: вместо Jack писать Front или Rear.
Вот тогда будет красота!
AutumnRain, в changeLog впиши еще: исправлен алгоритм вычисления рабочих цепочек. И это правда! Я там менял порядок действий и условия с масками.

Aug 29 2009, 09:24 AM



- Member
- Group: Developer
- Posts: 96
QUOTE (Slice @ Aug 28 2009, 02:30 PM)

А можно и скомпилировать под Барсика.
а в чем проблема то насколько я знаю у тебя и 10.6 432 и xcode его имееться
там поправить то всего ничего изза возросшей разрядности ну и в плист тоже,вот я сделал должно работать поидее,не хочу слазить со драйвера который мне отшепенец делал.
voodoohda_patching.235.src_10.6.zip ( 358.26K )
Number of downloads: 30CODE
#if __LP64__
UInt32 action = (UInt32)(UInt64) arg0;
#else
UInt32 action = (UInt32) arg0;
#endif
#if __LP64__
for(int i=0; i<NumNodes; i++){
dumpMsg("VHD Codec=%d Node=%d Config=%08lx Conns=%d Type=%d\n", NodesToPatchArray[i].cad, NodesToPatchArray[i].Node,
NodesToPatchArray[i].Config,NodesToPatchArray[i].Conns, NodesToPatchArray[i].Type);
}
#else
for(int i=0; i<NumNodes; i++){
dumpMsg("VHD Codec=%d Node=%d Config=%08lx Conns=%d Type=%d\n", (int)NodesToPatchArray[i].cad, (int)NodesToPatchArray[i].Node,
NodesToPatchArray[i].Config, (int)NodesToPatchArray[i].Conns, (int)NodesToPatchArray[i].Type);
}
#endif

Aug 29 2009, 11:44 AM




- Advanced Member
- Group: Developer
- Posts: 1,632
Представь себе, у меня есть дистр 10.6 и дистр XCode. Но самой системы пока нет. Не могу!!!!!!!
А при компиляции нужно выбирать i386+x64?
А что в инфо-плисте в депенденсях менять?
Кстати, если ты внимательно прочитал мой отчет, то я утверждаю, что ВудуХДА звучит лучше и дает больше устройств, чем ЭпплХДА.

Aug 29 2009, 12:03 PM



- Member
- Group: Developer
- Posts: 96
QUOTE (Slice @ Aug 29 2009, 11:44 AM)

Представь себе, у меня есть дистр 10.6 и дистр XCode. Но самой системы пока нет. Не могу!!!!!!!
А при компиляции нужно выбирать i386+x64?
А что в инфо-плисте в депенденсях менять?
Кстати, если ты внимательно прочитал мой отчет, то я утверждаю, что ВудуХДА звучит лучше и дает больше устройств, чем ЭпплХДА.
понятно но мы тебя ждемс в барсе.
выбирать 10.6 i386&x86_64 ибо если ставить Standart 32/64bit то в сборку войдет power pc код.
в плисте в депенденцях надо убирать com.kernel.* и заменять его на com.kpi.*
понятно что com.kernel и com.kpi не равнозначно и чего-то может и не оказаться.
с i386 ситуация иная там спокойно работает com.kernel а вот в 64 он работает только при депенци com.kpi.private,и система проверяет по названию моежт ли кехт использовать. Я на ранних порах поэтому и переименовывал пока не дошло искать в com.kpi
Кстати исходники 10.6 есть но там нету xnu так что загадочный новый модуль com.kpi.private пока так и остаеться загадочным,впрочем бим нашел где лежит этот список с перечислением кому можно кушать в 32 бита com.kernel
ну и версии конечно версии можно в kextlibs -c глянуть,причем она частенько выдает то что нету символов хотя символы есть,я не знаю может быть связано с тем что они ишет динамическую линковку а часть символов идет в статической.
За вашими экспериментами voodoohda с интересом слежу к сожалению я не могу тут быть полезным,разве что вот такой вопрос например у меня на моем асусном диске есть исходник под linux alc1200(alc888) может ли он оказаться полезным.

Aug 29 2009, 12:14 PM




- Advanced Member
- Group: Developer
- Posts: 1,632
QUOTE (mark @ Aug 29 2009, 12:03 PM)

понятно но мы тебя ждемс в барсе.
выбирать 10.6 i386&x86_64 ибо если ставить Standart 32/64bit то в сборку войдет power pc код.
в плисте в депенденцях надо убирать com.kernel.* и заменять его на com.kpi.*
понятно что com.kernel и com.kpi не равнозначно и чего-то может и не оказаться.
с i386 ситуация иная там спокойно работает com.kernel а вот в 64 он работает только при депенци com.kpi.private,и система проверяет по названию моежт ли кехт использовать. Я на ранних порах поэтому и переименовывал пока не дошло искать в com.kpi
Кстати исходники 10.6 есть но там нету xnu так что загадочный новый модуль com.kpi.private пока так и остаеться загадочным,впрочем бим нашел где лежит этот список с перечислением кому можно кушать в 32 бита com.kernel
ну и версии конечно версии можно в kextlibs -c глянуть,причем она частенько выдает то что нету символов хотя символы есть,я не знаю может быть связано с тем что они ишет динамическую линковку а часть символов идет в статической.
За вашими экспериментами voodoohda с интересом слежу к сожалению я не могу тут быть полезным,разве что вот такой вопрос например у меня на моем асусном диске есть исходник под linux alc1200(alc888) может ли он оказаться полезным.
Информацию о конвертации принял, спасибо.
А вот исходники Линукс не нужны, они о-о-очень далеки от нас.
Да ты не думай. Драйвер ВудуХДА уже работает, просто косметику наводим. А косметика, само собой, чисто OSX дело.

Aug 29 2009, 12:59 PM



- Member
- Group: Comrade
- Posts: 63
QUOTE (Slice @ Aug 29 2009, 03:44 PM)

я утверждаю, что ВудуХДА звучит лучше
не соглашусь я с тобой, VoodooHDA далеко еще до AppleHDA. ИМХО.
QUOTE (Slice @ Aug 29 2009, 03:44 PM)

и дает больше устройств, чем ЭпплХДА.
а вот то, что устройств может быть больше, это наверное действительно так, на сколько я помню, Skvo говорил, что в AppleHDA может быть только четыре группы устройств на вход, и столько же на выход, но этого, я считаю, вполне достаточно!
This post has been edited by Clubber_77: Aug 29 2009, 01:00 PM

Aug 29 2009, 01:18 PM



- Member
- Group: Comrade
- Posts: 27
Так что, уже Вуда х64 намечается?
К сожалению у меня нету XCode под Барсика, мог бы попробовать скомпилить х64 Вуду
Mac OS X Snow Leopard 10.6.2 64-bit - ALL WORKS

Aug 29 2009, 02:29 PM



- Member
- Group: Developer
- Posts: 96
виноват недосмотрел галочку built only active acrhitecture а еше зря убр убрал unsupported депенци в нем лежит panic и в итоге не срабатывает assert если я правильно понял.
Вот исправленный драйвер поставил снес AppleHDA поставил себе сижу пока присматриваюсь.
VoodooHDA_10.6.kext.zip ( 136.51K )
Number of downloads: 3087касательно меня,возрашаюсь на AppleHDA,что понравилось два микрофона оба работают сзади,спереди ни один.
качество запизи у AppleHDA лучше и у него и работает автодетект в отличии от voodoo.
This post has been edited by mark: Aug 29 2009, 02:57 PM