- Joined
- Nov 2, 2018
- Messages
- 276
- Motherboard
- HP 8300, MacMini6,1
- CPU
- i5-3570K, i5-3470, i5-3210, G5
- Graphics
- RX570, RX560, GT730K, HD4000
- Mac
- Classic Mac
Workaround for mic problem
@Sniki,
I think I found the source of the mic problem, at least on my 8300 machine.
It seems like AppleALC enables almost all of the ALC221 functionality, but my
mic wouldn't turn on with the recipe here.
With the prior recipe, we installed CodecCommander, hda-verb, and part of the
DSL configured the ALC221 with three hda-verbs, which would be enabled
on init, on sleep, and/or on wake. I found that, following the old recipe and
installing CodecCommander in /Library/Extensions, it worked as before. However,
when CodecCommander was installed in EFI/Clover/Kexts/Other, the verbs for init
don't seem to work. However, if you put the machine to sleep and woke it back up,
the verbs for wake work and the mic is working.
I looked more carefully at the verbs in the DSL file, and appears that only one more
is needed to make the mic work. It was the first command in the DSL file, i.e.,
Package (0x08)
{
// hda-verb 0x1a SET_PIN_WIDGET_CONTROL 0x24
"Command",
Buffer (0x04)
{
0x01, 0xA7, 0x07, 0x24
},
"On Init",
">y",
"On Sleep",
">n",
"On Wake",
">y"
}
The hda-verb syntax to run the same command is:
hda-verb 0x1a SET_PIN_WIDGET_CONTROL 0x24
If you run it in a terminal, the system responds as follows:
nid = 0x1a, verb = 0x707, param = 0x24
command 0x01a70724 --> result = 0x00000000
So here are preliminaries for two possible work arounds:
1. Install CodecCommander in EFI/Clover/Kexts/Other
2. Install hda-verb in /usr/local/bin
The first solution is
1. install the attached SSDT-CC-MINI, saved as an ASL file, in /EFI/Clover/ACPI/Patched
2. Put the machine to sleep and wake it up to use the mic
The second solution is
1. save the command
hda-verb 0x1a SET_PIN_WIDGET_CONTROL 0x24
as a script file, e.g. micturnon.sh, in a convenient place
2. if necessary, change permissions to make it executable, i.e. chmod +x micturnon.sh
3. execute the command, or the script file micturnon.sh, from the terminal when you want to turn on the mic
I think it should be easy to incorporate this one hda-verb command in AppleALC, but I don't know how.
@Sniki,
I think I found the source of the mic problem, at least on my 8300 machine.
It seems like AppleALC enables almost all of the ALC221 functionality, but my
mic wouldn't turn on with the recipe here.
With the prior recipe, we installed CodecCommander, hda-verb, and part of the
DSL configured the ALC221 with three hda-verbs, which would be enabled
on init, on sleep, and/or on wake. I found that, following the old recipe and
installing CodecCommander in /Library/Extensions, it worked as before. However,
when CodecCommander was installed in EFI/Clover/Kexts/Other, the verbs for init
don't seem to work. However, if you put the machine to sleep and woke it back up,
the verbs for wake work and the mic is working.
I looked more carefully at the verbs in the DSL file, and appears that only one more
is needed to make the mic work. It was the first command in the DSL file, i.e.,
Package (0x08)
{
// hda-verb 0x1a SET_PIN_WIDGET_CONTROL 0x24
"Command",
Buffer (0x04)
{
0x01, 0xA7, 0x07, 0x24
},
"On Init",
">y",
"On Sleep",
">n",
"On Wake",
">y"
}
The hda-verb syntax to run the same command is:
hda-verb 0x1a SET_PIN_WIDGET_CONTROL 0x24
If you run it in a terminal, the system responds as follows:
nid = 0x1a, verb = 0x707, param = 0x24
command 0x01a70724 --> result = 0x00000000
So here are preliminaries for two possible work arounds:
1. Install CodecCommander in EFI/Clover/Kexts/Other
2. Install hda-verb in /usr/local/bin
The first solution is
1. install the attached SSDT-CC-MINI, saved as an ASL file, in /EFI/Clover/ACPI/Patched
2. Put the machine to sleep and wake it up to use the mic
The second solution is
1. save the command
hda-verb 0x1a SET_PIN_WIDGET_CONTROL 0x24
as a script file, e.g. micturnon.sh, in a convenient place
2. if necessary, change permissions to make it executable, i.e. chmod +x micturnon.sh
3. execute the command, or the script file micturnon.sh, from the terminal when you want to turn on the mic
I think it should be easy to incorporate this one hda-verb command in AppleALC, but I don't know how.