IPB

Welcome Guest!

Returning User? Login here.

Want membership privileges? Register here.

37 Pages V  < 1 2 3 4 5 > »   
Start a new topic Add Reply
> Voodoohda
AutumnRain
post Aug 28 2009, 12:16 PM
Post #41
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. При автодетекте наушников менять имя устройства в контрольной панели. ЭпплХДА это делает.


Да. Хорошая идея. smile.gif

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) *
А у тебя есть возможность видеть исходники, о чем я говорю?


Есть. smile.gif

Ноутбук 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
Slice
post Aug 28 2009, 12:57 PM
Post #42
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, но не сохраняет настройки микрофона.
Пожалуйста, прочитайте ЧаВо!
My page
Clubber_77
post Aug 28 2009, 01:04 PM
Post #43
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
Slice
post Aug 28 2009, 01:30 PM
Post #44
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.
Сорри, не ту кнопку нажал.

Спасибо! Очень ценная информация. Но ты опоздал на три минуты.
У меня заработал внутренний микрофон!!!!! sleep.gif rolleyes.gif biggrin.gif tongue.gif
Все дело оказалось в Пинконфиге
19 нода была прописана nid 19 0x90a6012e
Меня заинтересовала 4-я цифра 6 - Other Digital
Сейчас я поменял на 7 - Other Analog
Еще я отменил коннектор 12 для ноды 22, ибо он там и так есть.
Повлияло все же назначение ноды. 7-ка у меня стояла в ЭпплХДА.
Теперь все!
Драйвер рабочий, можно его улучшать косметически и писать инструкции для других.
Attached File  Picture_3.png ( 50.73K ) Number of downloads: 39

А можно и скомпилировать под Барсика.
Attached File  VoodooHDA_235.kext.zip ( 71.61K ) Number of downloads: 1097

Attached File  voodoohda_patching.235.src.zip ( 285.21K ) Number of downloads: 431

Attached File  VoodooHDA.prefPane.zip ( 25.64K ) Number of downloads: 1912
Пожалуйста, прочитайте ЧаВо!
My page
AutumnRain
post Aug 28 2009, 01:37 PM
Post #45
QUOTE (Slice @ Aug 28 2009, 05:30 PM) *
Спасибо! Очень ценная информация. Но ты опоздал на три минуты.
У меня заработал внутренний микрофон!!!!! sleep.gif rolleyes.gif biggrin.gif tongue.gif


Ура!!! biggrin.gif

Давай я его в первый пост перевыложу.
Чего в 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
Slice
post Aug 28 2009, 01:42 PM
Post #46
QUOTE (AutumnRain @ Aug 28 2009, 01:37 PM) *
Ура!!! biggrin.gif

Ты поработай над шапкой этой темы, а я пойду докладывать на Мировую сцену.
Ну и жду твоих дополнений в исходники, если можешь.

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

Теперь о дампах. А ты не мог бы совместить getdump и getExtDump в одно целое? А то избыточная информация получается.
В победном дампе я не вижу особых отличий от нерабочей версии. Пинконфиг да коннекторы. А вот звучания там не очевидно.
Пожалуйста, прочитайте ЧаВо!
My page
AutumnRain
post Aug 28 2009, 01:56 PM
Post #47
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
Slice
post Aug 28 2009, 04:34 PM
Post #48
QUOTE (AutumnRain @ Aug 28 2009, 01:56 PM) *
А что именно в шапке не так?
Я сейчас сделаю отчет, как я догадался. что имеено патчить, а ты помести в шапку ссылку на него.
Драйвер -это мало, нужно уметь им пользоваться. С чистым инфо-плистом у меня нет внутреннего микрофона, автодетект-то отсутствует!
QUOTE
А дополнение - это дело не быстрое. Буду потихоньку делать и выкладывать. Главное, чтобы все работало.
Очень на тебя надеюсь по двум пунктам: автодетект микрофона, и смена имени устройства при автодетекте. Последнее я, пожалуй, и сам могу сообразить, но тебе же все-равно по пути.
QUOTE
А чего бы ты хотел? Просто ради примера, как по твоему должен выглядить дамп?

Как раньше getdump, но с твоими добавками.
Работоспособность, конечно, не видна, но все же, о многом можно судить.
Пожалуйста, прочитайте ЧаВо!
My page
Slice
post Aug 28 2009, 05:34 PM
Post #49
Итак, отчитываюсь, как сделать полностью рабочий драйвер на примере своего Sigmatel 9228. Позже испытаю на ALC883.
1. Устанавливаю драйвер с чистым списком NodesToPatch.
Выходные устройства заработали все. Причем левая дырка работает с автодетектом Спикер <-> Наушники.
В текущей версии драйвера в контрольной панели отображается только спикер
Attached File  Picture_4.png ( 47.04K ) Number of downloads: 159

Входное устройство работает только одно - внешний микрофон.
Attached File  Picture_5.png ( 42.8K ) Number of downloads: 83

Но я знаю, что у меня есть еще и встроенный микрофон. Где он?
2. Набираю в терминале команду
getdump >HDADumpNoPatch.txt
Вот этот файл целиком Attached File  HDAdumpNoPatch.txt.zip ( 4.73K ) Number of downloads: 79

3. Там много интересной информации, я сейчас ищу микрофон
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>

И вот ожидаемый результат
Attached File  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 можно отрегулировать его чувствительность и уровень выходного сигнала, и добиться чистого звука на фоне минимальных шумов
Attached File  Picture_6.png ( 45.79K ) Number of downloads: 68
Пожалуйста, прочитайте ЧаВо!
My page
Slice
post Aug 28 2009, 06:59 PM
Post #50
Я тут почесал репу, и подумал, а что, если у меня имеются как аналоговый моно-микрофон (12 нода), так и цифровой стерео (19 нода)? И подправил свой инфо-плист на 19 ноду конфиг 0x90a60150 - внутренний цифровой микрофон в 5-ой группе.
CODE
Record:

    nid=9 [audio input]
      |
      + <- nid=29 [audio selector] [src: line]
             |
             + <- nid=19 [pin: Microphone (Fixed)] [src: line]

Attached File  Picture_2.png ( 59.51K ) Number of downloads: 44
Attached File  Picture_3.png ( 48.66K ) Number of downloads: 43

Да, чувствительность у него похуже, но что-то он слышит, и в отличие от аналогового, он стерео.

Нда, такого результата я с ЭпплХДА никогда не имел.
Пожалуйста, прочитайте ЧаВо!
My page
Clubber_77
post Aug 28 2009, 08:56 PM
Post #51
Господа, попробовал я на себе это чудо, но оно, можно сказать, отказалось работать с моим кодеком! причем все аналогично как с версией 0.2.2
определяются у меня только спикеры, в разделе выходы также присутствует устройство анкноу, и точно такое же в разделе входы. в плист никаких изменений не вносил, эксперементировать буду позже!
Slice
post Aug 28 2009, 09:41 PM
Post #52
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 чистый.
Attached File  pict1.png ( 63.9K ) Number of downloads: 63
Attached File  Pict2.png ( 61.8K ) Number of downloads: 57
Attached File  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 0x01014410 as 1 seq 0 Line-out Jack jack 1 loc 1 color Green misc 4
nid 21 0x01011480 as 8 seq 0 Line-out Jack jack 1 loc 1 color Black misc 4
nid 22 0x01016470 as 7 seq 0 Line-out Jack jack 1 loc 1 color Orange misc 4
nid 23 0x01012490 as 9 seq 0 Line-out Jack jack 1 loc 1 color Grey misc 4
Да и микрофон с линейным входом можно развести ввиду отсутствия автодетекта.
Но все это непринципиально, главное в том, что все входы и выходы работают!

А вот косметика на драйвер пока очень нужна.
Пожалуйста, прочитайте ЧаВо!
My page
Slice
post Aug 29 2009, 04:23 AM
Post #53
Неприятность: сегодня с утра схватил КП на этом драйвере. Холодный запуск. После перезагрузки стало работать.

Устройство Unknown - это не линейный выход, а Миксер. Надо подумать, как переименовать. Например "Mixed devices".
Микрофоны опять стали одинаковыми. Надо сменить имя: вместо Jack писать Front или Rear.
Вот тогда будет красота!

AutumnRain, в changeLog впиши еще: исправлен алгоритм вычисления рабочих цепочек. И это правда! Я там менял порядок действий и условия с масками.
Пожалуйста, прочитайте ЧаВо!
My page
mark
post Aug 29 2009, 09:24 AM
Post #54
QUOTE (Slice @ Aug 28 2009, 02:30 PM) *
А можно и скомпилировать под Барсика.


а в чем проблема то насколько я знаю у тебя и 10.6 432 и xcode его имееться
там поправить то всего ничего изза возросшей разрядности ну и в плист тоже,вот я сделал должно работать поидее,не хочу слазить со драйвера который мне отшепенец делал.Attached File  voodoohda_patching.235.src_10.6.zip ( 358.26K ) Number of downloads: 30


CODE
#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
retired
Slice
post Aug 29 2009, 11:44 AM
Post #55
Представь себе, у меня есть дистр 10.6 и дистр XCode. Но самой системы пока нет. Не могу!!!!!!!

А при компиляции нужно выбирать i386+x64?
А что в инфо-плисте в депенденсях менять?

Кстати, если ты внимательно прочитал мой отчет, то я утверждаю, что ВудуХДА звучит лучше и дает больше устройств, чем ЭпплХДА.
Пожалуйста, прочитайте ЧаВо!
My page
mark
post Aug 29 2009, 12:03 PM
Post #56
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) может ли он оказаться полезным.
retired
Slice
post Aug 29 2009, 12:14 PM
Post #57
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 дело.
Пожалуйста, прочитайте ЧаВо!
My page
Clubber_77
post Aug 29 2009, 12:59 PM
Post #58
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
Mac'ovod
post Aug 29 2009, 01:18 PM
Post #59
Так что, уже Вуда х64 намечается? happy.gif
К сожалению у меня нету XCode под Барсика, мог бы попробовать скомпилить х64 Вуду smile.gif
Mac OS X Snow Leopard 10.6.2 64-bit - ALL WORKS
mark
post Aug 29 2009, 02:29 PM
Post #60
виноват недосмотрел галочку built only active acrhitecture а еше зря убр убрал unsupported депенци в нем лежит panic и в итоге не срабатывает assert если я правильно понял.
Вот исправленный драйвер поставил снес AppleHDA поставил себе сижу пока присматриваюсь.Attached File  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
retired

37 Pages V  < 1 2 3 4 5 > » 
Add Reply Start a new topic
2 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
1 Members: vladxp