Jump to content

OSX on DELL Vostro 3450 / Inspiron N4110 / XPS L702x UEFI Clover


TimeWalker75a
 Share

1,149 posts in this topic

Recommended Posts

Well, there's your HDMI Audio Codec:

7mcLl.png

So Clover injects "onboard-1" property correctly and your audio should work. 

 

Your framebuffer gets patched, removing fourth connector:

7mcOn.png

Port 5 (@2) has type 08 - so HDMI signal should be detected as the one that carries over sound.

 

What I see though is that your AMD card is still not disabled.. and this causes sleep to fail and HDMI not to work, because BIOS (and consequently ACPI) fails to determine which card should be notified about certain events. 

7mdqK.png

 

Which means that something in SSDT-2 is conflicting with other tables and causes the ._OFF call to be ignored for external SgTabl table.


Let's see if sending the call at earlier stage disables it. Put this in your /patched

SSDT-4.aml.zip

Link to comment
Share on other sites

Forget DSDT, it's same ACPI space.. 

In reality I should just carry over DSDT in BIOS capsule from Vostro to Inspiron and get rid of pre-patched DSDT table in /patched and revert back to on the fly patches. It's because of the differences in Patches array (because BIOSes were patched differently) for Inspiron and Vostro I've done this in the support package. But as I have no Inspiron machine to test BIOS mods this will have to happen at some point later.. 

 

I need an IOReg copy from someone with AMD who's card is actually being disabled with SSDT-2 for AMD boards from the installer package. Anyone?

 

This looks odd, considering Vostro and Inspiron share same BIOS. Can't to much right now... additionally provide a private DarwinDumper dump to have easier access to ACPI tables and boot logs.. 

Link to comment
Share on other sites

Ok. boot.log from Library/Logs/CloverEFI and ioreg.

Problem is likely dsdt/ssdt-2 has GFX0->IGPU rename, but ssdt/ssdt does not (still referring to GFX0). This is from extract from ioreg. ssdt/ssdt-1 will not load as they refer to a non-existing scope.

Link to comment
Share on other sites

Problem is likely dsdt/ssdt-2 has GFX0->IGPU rename, but ssdt/ssdt does not (still referring to GFX0). This is from extract from ioreg. ssdt/ssdt-1 will not load as they refer to a non-existing scope.

{censored}.. that's it!

Because Clover used to rename GFX0 to IGPU in the entire ACPI name space... and since I removed all the patches it now doesn't for these two tables. Spot on, man ! Will update the package in a couple of minutes ... 

 

 

UPD: Package 1.0.2 reuploaded, link is the same.

 

I really need to re-patch Inspiron bios with new uCode and fixed DSDT to include Windows 8.1 support and fix MBT that Dell screwed up so we wouldn't have to deal with two separate patchsets and standalone DSDT tables. 

@Zprood, if you are available tomorrow we need to have chit-chat in Skype and you'll be my lab rat :)

Link to comment
Share on other sites

I'm kind of between places during this next hour and a half, so when I end up sitting at my workstation it'll be 2AM at your place :|

I will make the update capsule with changes today (my today :D) and pass the PFlash with it to you somehow (should be only 2.5 mb versus 6mb from Dell)

Link to comment
Share on other sites

I'm kind of between places during this next hour and a half, so when I end up sitting at my workstation it'll be 2AM at your place :|

I will make the update capsule with changes today (my today :D) and pass the PFlash with it to you somehow (should be only 2.5 mb versus 6mb from Dell)

hu, if your vostro 3450 is still alive, mine as well, be honestly windows 8.1 sucks cause if i use third part video driver, and lose brightness with AMD video card. 

Link to comment
Share on other sites

Hmm.. I wonder if Inspiron also has accelerometer and DELL disabled it programmatically .. because Inspiron DSDT is missing A_CC device as well as one SATA port definition oO

 

This code is absent in Inspiron DSDT ..

Scope (_SB.PCI0)
    {
        Device (A_CC)
        {
            Name (_HID, "SMO8800")
            Method (_STA, 0, NotSerialized)
            {
                Return (0x0F)
            }
            Name (_UID, One)
            Name (BUF2, ResourceTemplate ()
            {
                Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, )
                {
                    0x00000014,
                }
            })
            Method (_CRS, 0, Serialized)
            {
                Return (BUF2)
            }
            Method (_SRS, 1, Serialized)
            {
                Return (BUF2)
            }
        }
    }
    Scope (_SB.PCI0.SAT0)
    {
        Device (PRT0)
        {
            Name (_ADR, 0xFFFF)
            Name (GTF0, Buffer (0x07)
            {
                0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00
            })
            Method (_SDD, 1, NotSerialized)
            {
                CreateByteField (GTF0, Zero, FEAT)
                CreateByteField (GTF0, 0x06, CMMD)
                CreateWordField (Arg0, 0xEE, W119)
                CreateWordField (Arg0, 0xF0, W120)
                CreateWordField (Arg0, 0x0134, W154)
                CreateWordField (Arg0, 0x0138, W156)
                If (LEqual (SizeOf (Arg0), 0x0200))
                {
                    If (And (LEqual (W154, 0x1028), LEqual (And (W156, 0x4000),
                        0x4000)))
                    {
                        If (LEqual (And (W156, 0x8000), Zero))
                        {
                            Store (0x5A, FEAT)
                            Store (0xEF, CMMD)
                        }
                    }
                    Else
                    {
                        If (LEqual (And (W119, 0x20), 0x20))
                        {
                            If (LEqual (And (W120, 0x20), Zero))
                            {
                                Store (0x41, FEAT)
                                Store (0xEF, CMMD)
                            }
                        }
                        Else
                        {
                        }
                    }
                }
            }
            Method (_GTF, 0, NotSerialized)
            {
                Return (GTF0)
            }
        }
    }

I'm debating whether I should add it to see if accelerometer is there (with Vostro drivers for Windows) for Inspiron .. because motherboards are the same, so hardware wise they should be the same .. except maybe ExpressCard 34 Slot. I know it can be disabled programmatically just by deleting this code snippet or just by setting _STA to zero. There's plenty of free space in the capsule to work with.. 

Link to comment
Share on other sites

For sleep to work EHCI power resource reallocation is required, FOWM calls have to be suppressed and your DSDT memory addressation has to match that of BIOS with respective version.

For sleep to work, do I need to do this by hand or in your package these things are already done for the Vostro 3450 with AMD SG?

Link to comment
Share on other sites

@tw, pflash successfully new bios, but um try to use DELL SCT OSX Support Package include SSDT-2.aml (compiled it from installer), still can't get all PNLF device injected. Other stuff work well.

About windows, video driver problem, brightness sucks, for integrate GPU, it has ten steps, for D-GPU no work.  I don't care about windows for the moment, so it doesn't matter. 

Link to comment
Share on other sites

Good, will update the guide after we try new uCode and Intel video bios (new ones have been released). But first pnlf stuff...

 

That's odd, it should not depend on any of the bios changes. Is it not being injected at all (no ioreg entry) or brightness keys don't work? I'm asking because you need acpi patches that rename ec queries.

Link to comment
Share on other sites

For my understanding, ssdt-2 play a role as modify, all the patch of device code should be "injected" into dsdt when i use maciasl to open DSDT from acpi tables. But when i open it just see the PNLF device and Name xxx, there is no other information under it (ssdt-2 has brightness control method), i suppose it should be there.

and other patches applied like rename Q80 to O80 ....in the config.plist.

Link to comment
Share on other sites

Your understanding is completely wrong. SSDT tables are supplemental and they add to the common ACPI space. So nothing from SSDTs should appear in DSDT - it's called a conflict and it should never happen. Your PNLF device in DSDT is again your bugged version of Clover that you keep using instead of updating from the package. Clover does this by itself for you and breaks what SSDT-2 should have injected.

Link to comment
Share on other sites

Then in shouldn't be injecting any PNLF stuff to your DSDT. Show me your Clover boot log (sudo bdmesg)

Sorry for a stupid mistake, i forget there is a DSDT file placed in the / directory and clover auto loads it, but i don't set DSDT.aml file's path in the config.plist, clover does load itself. After remove it, problem has gone.  

All the things work well.Thank for your patience.  :) 

Link to comment
Share on other sites

That's why I specifically told you to use the installer package, because it would have deleted CLOVER folder from EFI partition and would have put new files there.

I will update the microcode and intel vbios to the latest versions and pass new capsule for you to test. If everything is in order I will update the thread accordingly. Also I'm REALLY curious to see whether Inspiron has accelerometer, should we test this ? :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...