Contribute
Register

No Audio with ALC255 on Sierra 10.12.2

Status
Not open for further replies.
Joined
Jan 17, 2017
Messages
39
Motherboard
Dell Inspirion 3542 + Clover 2.3k rev 3766
CPU
Intel Core i7-4510U
Graphics
Intel HD4400 + NVIDIA GeForce 840M
Hi,

I recently installed Sierra 10.12.2 on my Dell Inspiron 3542 laptop. I used the installation guide provided in this page using UniBeast + Multibeast (in legacy mode).

Laptop specs:

CPU: Intel Core i7-4510U
GPU: Intel HD 4400 + NVIDIA GeForce 840M
Eth: Realtek RTL8101E
WiFi: Atheros AR9565
Audio: Realtek ALC255

I didn't install any kext using multibeast. After the installation I read RehabMan's guide https://www.tonymacx86.com/threads/guide-patching-laptop-dsdt-ssdts.152573/ for creating and patching DSDT and SSDTs. I will describe the steps I followed in a nutshell just in case I missed something.

I booted using Ubuntu Live cd and copied the files from /sys/firmware/acpi/tables and /sys/firmware/acpi/tables/dynamic folders to usb (11 SSDT files in total).
Then I downloaded the iasl.zip from this link: https://bitbucket.org/RehabMan/acpica/downloads and placed into /usr/bin folder
I created the refs.txt and I placed in the folder where DSDT and SSDTs are located.
I disassembled using
Code:
iasl -da -dl -fe refs.txt *.aml
I downloaded the latest version of MaciASL from: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads
Then I copied iasl to MaciASL using
Code:
sudo cp /usr/bin/iasl /Applications/MaciASL.app/Contents/MacOS/iasl61
I opened each separate .dsl file with MaciASL and compiled it. I found the following errors:

DSDT.dsl
syntax error, unexpected PARSEOP_ZERO (in multiple lines)
syntax error, unexpected PARSEOP_NAME, expecting $end and premature End-Of-File
I fixed it by deleting multiple 'Zero' lines

SSDT2.dsl
syntax error, unexpected PARSEOP_PACKAGE
fixed with Remove _PSS placeholders patch

SSDT8.dsl
syntax error, unexpected PARSEOP_NAMESEG
fixed with [gfx0] Cleanup/Fix Errors (SSDT) patch

Then I saved each file as ACPI Machine Language Binary and placed them in /EFI/CLOVER/ACPI/patched folder, I changed /EFI/CLOVER/config.plist DropOem=true and rebooted.

After that I tried to enable the audio controller. I downloaded ALC255_v2.zip from https://github.com/insanelydeepak/cloverHDA-for-Mac-OS-Sierra-10.12
I installed cloverHDA.kext in /System/Library/Extensions
I cleared kext cache
I copied entries from cloverHDA.plist to /EFI/CLOVER/config.plist
I added the following method to DSDT HDEF:
Code:
Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0c)
                    {                      
                        "built-in",
                        Buffer (One)
                        {
                            0x00
                        },
                        "layout-id",
                        Buffer (0x04)
                        {
                            0x0D, 0x00, 0x00, 0x00 //change Your Layout_Id Here
                        },
                       "PinConfigurations",
                       Buffer (0x00)
                       {
                           0x00
                       }
                    }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

It showed error for the DTGP method. So in the beginning of the DSDT definition block I added the following method:
Code:
Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, Buffer (0x10)
                {
                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (One)
                        {
                            0x03
                        }, Arg4)
                    Return (One)
                }

                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }

        Store (Buffer (One)
            {
                0x00
            }, Arg4)
        Return (Zero)
    }

I saved again DSDT in /EFI/CLOVER/ACPI/patched folder and rebooted.

1) Am I doing something wrong? Audio controller is not enabled.
2) How can I be sure that clover uses my DSDT and SSDTs patched files?
 
Last edited:
Try with this app, no need for direct patching with MaciASL, just install kexts that the app creates and add changes (patches) to Clover's config.plist. http://www.insanelymac.com/forum/files/file/496-applehda-patcher/

It worked. Thnx a lot. The problem is that I have a 2 in 1 jack for headset (headphones + microphone). The sound with headphones is distorted and it doesn't recognize the microphone from the headset (only the internal one).
 
Hey I'm trying the same thing, it isnt working for me yet.
I installed the cloverHDA.kext in S/L/E
Next I edited the config.plist still no change.
Any idea whats going wrong for me?
 
Hey I'm trying the same thing, it isnt working for me yet.
I installed the cloverHDA.kext in S/L/E
Next I edited the config.plist still no change.
Any idea whats going wrong for me?

I used the cloverHDA too but with no luck. Use the patcher
 
It worked. Thnx a lot. The problem is that I have a 2 in 1 jack for headset (headphones + microphone). The sound with headphones is distorted and it doesn't recognize the microphone from the headset (only the internal one).
I also have that 2in1 jack, but in my case, headphones sound works ok and internal mic is not recognised :)
 
I also have that 2in1 jack, but in my case, headphones sound works ok and internal mic is not recognised :)
What about a headset mic? Do you have the same codec with me? Did you use the patcher?
 
Yeah, ALC255 and I used that patcher app, but I don't have any external mic atm. Will try in a few days.

I did a fresh install due to some gpu issues and now applehda patcher is not working. I copied the generated config.plist to EFI/CLOVER and the aDummyHDA.kext to /S/L/E and no audio controller is detected. Do I have to use DSDT with applehda patcher because it is the only difference from my previous installation?
 
Status
Not open for further replies.
Back
Top