Help - Search - Members - Calendar
Full Version: Помогите найти встроенный микрофон
Project OS X Forums > Languages > Русский > Драйвера > Звук
papalama
Ноут с кодеком Analog Devices AD1986A.
Стоит VoodooHDA 0.2.61.

Проблема: нет встроенного микрофона.
Click to view attachment
У "Microphone (1/8)" уровень сигнала реагирует на подключение/отключение наушников в разъем внешнего микрофона smile.gif
Click to view attachment

Пробовал прописать его сам через NodesToPatch, но безуспешно sad.gif

Помогите!

VoodooHDA dump:
CODE
nid 26 0x0121401f as  1 seq 15    Headphones  Jack jack  1 loc  1 color   Green misc 0
nid 27 0x9117f110 as  1 seq  0       Speaker Fixed jack  7 loc 17 color   Other misc 1
nid 28 0x410110f0 as 15 seq  0      Line-out  None jack  1 loc  1 color   Black misc 0
nid 29 0x91a1912e as  2 seq 14    Microphone Fixed jack  1 loc 17 color    Pink misc 1
nid 30 0x411711f0 as 15 seq  0       Speaker  None jack  7 loc  1 color   Black misc 1
nid 31 0x01a19020 as  2 seq  0    Microphone  Jack jack  1 loc  1 color    Pink misc 0
nid 32 0x418130f0 as 15 seq  0       Line-in  None jack  1 loc  1 color    Blue misc 0
nid 33 0x5993e1f0 as 15 seq  0           AUX  None jack  3 loc 25 color   White misc 1
nid 34 0x5933112e as  2 seq 14            CD  None jack  3 loc 25 color   Black misc 1
nid 35 0x59b371f0 as 15 seq  0     Telephony  None jack  3 loc 25 color  Yellow misc 1
nid 36 0x53f711f0 as 15 seq  0         Other  None jack  7 loc 19 color   Black misc 1
nid 37 0x0145f1f0 as 15 seq  0     SPDIF-out  Jack jack  5 loc  1 color   Other misc 1

Record:

    nid=6 [audio input]
      |
      + <- nid=18 [audio selector] [src: mic, mix, monitor] bindSeq=00004001
             |
             + <- nid=17 [audio selector] [src: mic, mix, monitor] bindSeq=00004001
                    |
                    + <- nid=15 [audio selector] [src: mic, mix, monitor] bindSeq=00004001
                           |
                           + <- nid=31 [pin: Microphone (Pink Rear)] [src: mic] bindSeq=00000001
                           + <- nid=29 [pin: Microphone (1/8)] [src: monitor] bindSeq=00004000
                           + <- nid=29 [pin: Microphone (1/8)] [src: monitor] bindSeq=00004000
                           + <- nid=39 [audio mixer] [src: mix] bindSeq=00004001
                           + <- nid=40 [audio mixer] [src: mix] bindSeq=00000001
                           + <- nid=41 [audio mixer] [src: mix] bindSeq=00004000
                           + <- nid=42 [audio mixer] [src: mix] bindSeq=00004001
                    + <- nid=43 [audio mixer] [src: mix] bindSeq=00004001
             + <- nid=16 [audio selector] [src: mic] bindSeq=00000001
                    |
                    + <- nid=31 [pin: Microphone (Pink Rear)] [src: mic] bindSeq=00000001


Linux dump:
CODE
Node 0x1d [Pin Complex] wcaps 0x400985: Stereo Amp-Out R/L
  Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=1
  Amp-Out vals:  [0x80 0x80]
  Pincap 0x00001737: IN OUT Detect Trigger ImpSense
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x91a1912e: [Fixed] Mic at Int Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0x2, Sequence = 0xe
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT VREF_HIZ
  Unsolicited: tag=00, enabled=0
  Connection: 1
     0x0d


Они же полностью, датащит и граф:
Click to view attachment
Click to view attachment
Click to view attachment
Click to view attachment
04152viki
Ставь Voodoo 2.56
papalama
QUOTE (04152viki @ Jul 12 2010, 05:24 PM) *
Ставь Voodoo 2.56

Поставил. Наблюдения теже sad.gif
Slice
Да, вот AutumnRain не написал в своем топике, что делать со встроенным микрофоном.
Посмотри в моем
http://www.projectosx.com/forum/index.php?showtopic=355
после слова Tricks.
Да, я понимаю, самому найти этот топик сложно.
papalama
По этим двум топикам я и учился wacko.gif
Сейчас попробую еще smile.gif
papalama
CODE
            <key>NodesToPatch</key>
            <array>
                <dict>
                    <key>Codec</key>
                    <integer>0</integer>
                    <key>Config</key>
                    <string>0x91a7912e</string>
                    <key>Node</key>
                    <integer>29</integer>
                    <key>Type</key>
                    <integer>1</integer>
                </dict>
            </array>

Как-то так должно выглядеть? Перепробовал много вариантов значения ключа Config, но так со встроенного микрофона ничего и не добился...

А сколько входных устройств должно быть видно?
Так же как и для выходов внутренний/внешний не различаются?
Slice
QUOTE (papalama @ Jul 13 2010, 02:39 AM) *
CODE
            <key>NodesToPatch</key>
            <array>
                <dict>
                    <key>Codec</key>
                    <integer>0</integer>
                    <key>Config</key>
                    <string>0x91a7912e</string>
                    <key>Node</key>
                    <integer>29</integer>
                    <key>Type</key>
                    <integer>1</integer>
                </dict>
            </array>

Как-то так должно выглядеть? Перепробовал много вариантов значения ключа Config, но так со встроенного микрофона ничего и не добился...

А сколько входных устройств должно быть видно?
Так же как и для выходов внутренний/внешний не различаются?

Нет, не так. Слово Tricks там видел?
Type = 1 убирай, это четверка, писать не надо.
Входных устройств у тебя многовато, нужно добиться соответствия реальному количеству дырок.
Внутренний/внешний различаются, и по конфигам тоже.
papalama
QUOTE (Slice @ Jul 13 2010, 10:57 AM) *
Нет, не так. Слово Tricks там видел?
Type = 1 убирай, это четверка, писать не надо.
Входных устройств у тебя многовато, нужно добиться соответствия реальному количеству дырок.
Внутренний/внешний различаются, и по конфигам тоже.

Я имел ввиду, что в Системные настройки -> Звук -> Вход должен быть один микрофон.
Пока не подключен внешний, должен работать встроенный. По аналогии с динамиками.

Если я правильно понял, вот это мой встроенный микрофон:
CODE
nid 29 0x91a1912e as  2 seq 14    Microphone Fixed jack  1 loc 17 color    Pink misc 1


Type убрал.
В VoodooHDA.kext -> Contents -> Info.plist в секции VoodooHDA в NodesToPatch прописал:
QUOTE
<key>NodesToPatch</key>
<array>
<dict>
<key>Codec</key>
<integer>0</integer>
<key>Config</key>
<string>0x91a7912e</string>
<key>Node</key>
<integer>29</integer>
</dict>
</array>

Следуя инструкциям
QUOTE
Tricks
1. Set correct type for internal microphone
<string>0x90a70120</string> -- Internal Analog (red digit=7)
<string>0x90a6e140</string> -- Internal Digital (red digit=6)
2. Place all inputs in different groups - blue digit above. -- no needed for driver v2.5 and above
3. If you driver works then set Verbose to 0 to clean system.log.
Instruction what to do else will be followed...
4. If you have two sound cards, for example other one is HDMI output on Video card then made info.plist
5. Trick by Trauma

1. Менял в исходном 0x91a1912e 4-ю позицию на 6 и 7. В Системные настройки -> Звук -> Вход вместо Microphone (1/8) получал Microphone (Digital) и Microphone (Analog) соответственно.
2. Не делал, т.к. версия драйвера 2.61.
3. Не делал )
4. Тоже не делал.
5. Тоже )
При проверке еще в Системные настройки -> VoodooHDA -> 2. Microphone (Pink Rear) выкручивал все регуляторы на максимум.
Но реакции на постукивание по встроенному микрофону на индикаторе Уровень сигнала по прежнему нет (
Slice
QUOTE
0x90a70120

Для меня оказалось неожиданностью, что ты меняешь только одну цифру, а не весь конфиг. Почитал бы описание конфига, что-ли.
Вторая цифра у тебя 1, а у меня 0 - куда подключен микрофон.
Последние две - с кем в одной связке...
Ну что, требуется индивидуальный ликбез?
papalama
Описание "Расшифровка PinConfig" читал отсюда. Там нет значеня '0' для второй позиции, потому не пробовал. Но попробовал сейчас и, к сожалению, также безрезультатно.
А конфиг надо менять только для нода встроенного микрофона, или и для внешнего входа тоже?
Вобщем-то ликбез бы не помешал, и лучше не индивидуальный, но пока можно и здесь )
attu
Друзья, не поможете ли - тоже есть проблемы с микрофоном в VoodooHDA v272.
Микрофоны (как встроенный в ноутбук, так и внешний) видятся (при подключении внешнего он заменяет внутренний в настройках звука), и даже вроде бы звук с них слышен в динамиках и наушниках. Но звук идет только "всквозную" на выход, но не на запись софтом. То есть, не работает микрофон в Skype и AudioRecorder - не слышно записанного с микрофона звука.

В модернезированной Prefpane слева в выборе устройства нет вариантов. Регулировки можно делать (в том числе по Recording level), но это не помогает, и выставленный там уровень не запоминается. А в основных настройках звука в столбике Input level все уровни остаются пустые, незакрашенные, когда в микрофон говоришь. Что и где подкрутить?

Вот кусочек дампа:


CODE
Probing codec #0...
HDA Codec #0: Realtek ALC660
HDA Codec ID: 0x10ec0660
       Vendor: 0x10ec
       Device: 0x0660
     Revision: 0x00
     Stepping: 0x01
PCI Subvendor: 0x13391043
    startNode=1 endNode=2
    Found audio FG nid=1 startNode=2 endNode=39 total=37

Processing audio FG cad=0 nid=1...
Powering up...
Parsing audio FG...
GPIO: 0x40000002 NumGPIO=2 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1
nid 20 0x99130110 as 1 seq 0 Speaker Fixed jack 3 loc 25 color Unknown misc 1
nid 21 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
nid 22 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
nid 23 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
nid 24 0x01a11820 as 2 seq 0 Microphone Jack jack 1 loc 1 color Black misc 8
nid 25 0x99a3092f as 2 seq 15 Microphone Fixed jack 3 loc 25 color Unknown misc 9
nid 26 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
nid 27 0x0121101f as 1 seq 15 Headphones Jack jack 1 loc 1 color Black misc 0
nid 28 0x593301f0 as 15 seq 0 CD None jack 3 loc 25 color Unknown misc 1
nid 29 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
nid 30 0x411111f0 as 15 seq 0 Speaker None jack 1 loc 1 color Black misc 1
[...]
+-------------------------------+
| DUMPING Playback/Record Paths |
+-------------------------------+

Record:

    nid=9 [audio input]
      |
      + <- nid=34 [audio mixer] [src: mix] bindSeq=00008001

             |
             + <- nid=24 [pin: Microphone (Black Rear)] [src: mic] bindSeq=00000001

             + <- nid=25 [pin: Microphone (ATAPI)] [src: monitor] bindSeq=00008000

             + <- nid=11 [audio mixer]

Input Mix:

    nid=34 [audio mixer]
      |
      + <- nid=24 [pin: Microphone (Black Rear)] [src: mic] bindSeq=00000001

      + <- nid=25 [pin: Microphone (ATAPI)] [src: monitor] bindSeq=00008000

      + <- nid=11 [audio mixer]

+-------------------------+
| DUMPING Volume Controls |
+-------------------------+

Master Volume (OSS: vol)
   |
   +- control  1 (nid   2 out):    dir - out oss: vol, pcm -64/+0dB (65 steps)
   +- control  3 (nid  11 in   0): dir - in oss: vol, igain -34/+12dB (32 steps) + mute
   +- control  4 (nid  11 in   1): dir - in oss: vol, igain -34/+12dB (32 steps) + mute
   +- control  6 (nid  12 in   0): dir - out oss: vol, pcm mute
   +- control  7 (nid  12 in   1): dir - out oss: vol, igain mute
   +- control  8 (nid  20 out):    dir - out oss: vol mute
   +- control 13 (nid  27 out):    dir - out oss: vol mute

Microphone Volume (OSS: mic)
   |
   +- control 10 (nid  24 in   0): dir - in oss: mic +0/+30dB (4 steps)
   +- control 15 (nid  34 in   0): dir - in oss: mic, rec mute

Microphone2 Volume (OSS: monitor)
   |
   +- control 12 (nid  25 in   0): dir - in oss: monitor +0/+30dB (4 steps)
   +- control 16 (nid  34 in   1): dir - in oss: rec, monitor mute

Recording Level (OSS: rec)
   |
   +- control  2 (nid   9 in   0): dir - in oss: mix, rec -13/+33dB (32 steps) + mute
   +- control 15 (nid  34 in   0): dir - in oss: mic, rec mute
   +- control 16 (nid  34 in   1): dir - in oss: rec, monitor mute
   +- control 19 (nid  34 in  10): dir - in oss: rec mute

Input Mix Level (OSS: mix)
   |
   +- control  2 (nid   9 in   0): dir - in oss: mix, rec -13/+33dB (32 steps) + mute

Input Monitoring Level (OSS: igain)
   |
   +- control  3 (nid  11 in   0): dir - in oss: vol, igain -34/+12dB (32 steps) + mute
   +- control  4 (nid  11 in   1): dir - in oss: vol, igain -34/+12dB (32 steps) + mute
   +- control  7 (nid  12 in   1): dir - out oss: vol, igain mute
Slice
Старая история с Риалтеками. Надо дизаблить ноду 11, она и создает сквозной канал.
attu
А это решит проблему незаписи звука с микрофона в программах типа Skype и AudioRecorder?

И появится ли устройство (микрофон) в модернезированной prefpane?
Slice
QUOTE (attu @ May 25 2011, 01:05 PM) *
А это решит проблему незаписи звука с микрофона в программах типа Skype и AudioRecorder?

И появится ли устройство (микрофон) в модернезированной prefpane?

А почему нет?
attu
Попробовал добавить в plist код:

CODE
<dict>
                                        <key>Codec</key>
                                        <integer>0</integer>
                                        <key>Node</key>
                                        <integer>11</integer>
                                        <key>Enable</key>
                                        <string>0</string>
                                </dict>


Это оно? Стало только хуже: исчез звук в динамике. В prefpane (VoodooHDA) устройств по-прежнему не видно, в отличие от стандартной панели настройки звука. Кстати, в дампе (getdump) ничего не изменилось во фрагменте, который я выше процитировал.
Slice
Попробуй поменять ноду
CODE
nid 25 0x99a3092f

На значение 0x90a70130
attu
QUOTE (Slice @ May 25 2011, 04:06 PM) *
Попробуй поменять ноду
CODE
nid 25 0x99a3092f

На значение 0x90a70130



Это вот так?


CODE
                <dict>
                    <key>Codec</key>
                    <integer>0</integer>
                    <key>Config</key>
                    <string>0x90a70130</string>
                    <key>Node</key>
                    <integer>25</integer>
                </dict>
attu
Попробовал. Ничего не меняется: если 11-я нода задисайблена, то звука нет. А если сделать 0x90a70130 вместо 0x99a3092f, то отключается автодетект микрофона (микрофон определяется, как Black Rear, хотя внешний не подключен), но проблемы не решаются.
Slice
QUOTE (attu @ May 25 2011, 09:33 PM) *
Попробовал. Ничего не меняется: если 11-я нода задисайблена, то звука нет. Независимо от того, 0x90a70130 или 0x99a3092f. Если же нет - тоже 0x90a70130 проблему не решает.

Давай полный кодек-дамп для варианта 0x90a70130 и 11-я нода задисайблена.
А также использованный инфо-плист.
Скриншоты с обоих префпанелей.
Должно работать, но я не вижу, в чем ты ошибся.
attu
plist и дамп прилагаю в архиве, и вот два скриншота.
В префпанели VoodooHDA нет в выборе ни одного звукового устройства. А в стандартной звука автодетектятся и наушники и микрофоны, но при стандартном плисте. А если поставить 0x90а70130, то встроенный микрофон начинает определяться неправильно - как Black Rear, а не ATAPI.
Если в префпанели VoodooHDA нажать на кружочек слева, то все движки становятся синими и их можно двигать, но если выйти и снова войти в нее, то настройки уровней не запоминаются. Дисайблинг 11-й ноды отрубает звук в динамиках.



Click to view attachment
attu
Кстати, на своей звукашке перепробовал множество AppleHDA.kext, заточенных под ALC660 - при любом из них звука нет, и громкость не регулируется. То ли я что-то не так делаю (я только копировал этот кекст в S/L/E и правил права), то ли у меня какой-то особенный ALC660. DSDT я не делал вообще (у меня SMBIOS от MacBookPro), только ставлю 10.6, обновляюсь и ставлю Хамелеона RC5.
Вот еще думаю: дрова для AC'97 с моей звукашкой не заработают?
Slice
Нет, не заработает. Есть ХДА и есть АС97. Разные вещи.
А с Вуду-префпанелью я не понял. Это версия 1.0. Если ставишь ВудуХДА272, то префпанель должна быть 1.1. Иначе ничего работать не будет.
attu
Попробовал префпанель 1.1.
В префпанели есть улучшения, но - только в ней.
Теперь в префпанели есть выбор из трех устройств: спикера, микрофона Black Rear и микрофона Analog.

Если выбрать спикер - активны ползунки PCM, IMix и Input Gain, из которых первый и последний стоят почти на максимуме, а второй - на нуле.
Если Black Rear - ползунки Mic, IMix, Recording Level и Input Gain, из которых первый - по середине, второй - на нуле, третий и четвертый - близки к максимуму.
Если Analog - - все ползунки неактивны.
Use SS2 и Enhance stereo - выключены, Noice reduction - тоже, круглый регулятор Volume - в верхнем положении.

В стандарной же панели звука микрофона Analog нет, так как его убивает 0x90а70130, из-за него микрофон начинает неправильно определяться. А дисайблинг 11-й ноды отрубает звук в динамиках.

Если же взять исходный VoodooHDA 2.7.2, то звук насквозь идет от микрофонов на спикеры, но не пишется скайпом. При этом, столбик "Уровень сигнала" микрофона в панели звука остается пустой, когда говоришь в микрофон.

В общем, замена префпанели на 1.1 улучшает только картину в префпанели, а дисайблинг ноды и коррекция пинов - ухудшают дело. Или может, в префпанели теперь надо что-то отрегулировать?
Slice
QUOTE (attu @ May 26 2011, 11:37 PM) *
Или может, в префпанели теперь надо что-то отрегулировать?

Я это должен проделать? У меня такой железки нет, а теоретизировать бессмысленно.
Дамп с плистом не желаешь показать?
attu
QUOTE (Slice @ May 27 2011, 12:00 PM) *
Я это должен проделать? У меня такой железки нет, а теоретизировать бессмысленно.
Дамп с плистом не желаешь показать?


Так я же их давал вместе с скриншотами! там вложение, archive.zip
Slice
QUOTE (attu @ May 27 2011, 01:04 PM) *
Так я же их давал вместе с скриншотами! там вложение, archive.zip

А! Извини, за скриншотами не увидел.
Ну теперь критика.
У тебя, судя по дампу, кодек 0. Убирай из плиста все кодек 2. Они ни к чему.
А насчет звука и префпанели все просто
CODE
   nid=27 [pin: Headphones (Black Rear)]
      |
      + <- nid=12 [audio mixer] [src: mix] bindSeq=00008001

             |
             + <- nid=2 [audio output] [src: pcm] bindSeq=00008001

Громкость звука на наушниках определяется регулятором iMix.
Громкость сквозного канала (нода 11) определяется регулятором iGain.
А у тебя в плисте
CODE
            <key>MixerValues</key>
            <dict>
                <key>iGain</key>
                <string>90</string>
                <key>iMix</key>
                <string>0</string>
            </dict>


Дурацкий вопрос. А почему ты не попробовал подвигать регуляторы? Вот не работает, и точка! И помогайте мне всем миром. Не работает ваш драйвер!!!
attu
Спасибо, уже лучше! А вот еще не подскажете ли, как/где определить, какой регулятор за что отвечает в настройкак как спикера, так и микрофона?
Для чего нужен круглый регулятор Volume, который прокручивается вкруговую, не имеет ограничителя?
И последний вопрос: нет ли проги, которая бы добавляла функционал, как в винде: mute/unmute и регулировку громкости с клавиатуры. В сочетаниях клавиш нет таких настроек.
Slice
QUOTE (attu @ May 27 2011, 07:33 PM) *
Спасибо, уже лучше! А вот еще не подскажете ли, как/где определить, какой регулятор за что отвечает в настройкак как спикера, так и микрофона?
Для чего нужен круглый регулятор Volume, который прокручивается вкруговую, не имеет ограничителя?
И последний вопрос: нет ли проги, которая бы добавляла функционал, как в винде: mute/unmute и регулировку громкости с клавиатуры. В сочетаниях клавиш нет таких настроек.

Мы как-то мало давали информацию о работе звуковой карты. Да у меня и самого ясность не полная.
Volume - понятно, действует на все сразу.
PCM - непонятно. В виндах часто используется вместо Master Volume.
iMix - регулятор миксеров. Один и тот же миксер может регулировать сразу несколько девайсов.
iGain - регулятор обратного миксера, чтоб Реалтеку сдохнуть.
Mic, Monitor, Line - регуляторы чувствительности входов.
По идее один регулятор - одно устройство. Но драйвер несовершенен, могут быть накладки.
В дампе можешь разглядеть, какие регуляторы подключены, и на что они влияют.

С регулятором Volume в префпанели 1.1 я чего-то ошибся, он введен для теста, но особого значения не имеет. Если представить часовой циферблат, то 12 часов - это нулевой звук, без одной минуты - максимальный. А у кого-то он вообще не работает.

мьют и кромкость на моей клавиатуре есть и всегда были. Этим распоряжается драйвер ApplePS2keyboard, поскольку у меня PS2 клавиатура. Еще у меня есть айМаковская ЮСБ клава, там тоже звук есть и работает, ничего не предпринимал.
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.