Contribute
Register

Problem with intel HD 520 brightness help. (DELL 5557)

Status
Not open for further replies.
Ok. I tried to reproduce that I2C Patches on SSDT. Lets see now.


Good.

Ok. That is fine.

The SD Card is not compatible, so consider thing disabling it

Hum, reverting back to Whatevergreen.

This problem I had too. The fix that I found to 5557 was to assign a screen corner on Mission Control to put my screen to sleep. After the screen sleeps, touch any key and the screen will turn on. You don't have to wait your notebook sleep. It is faster. Not a good solution, but works.


Hello .. Good night. EFI test v3.1 does not boot the system, from a Kernel Panic to an acpi, this is in the attached screenshot.

IOreg extracted with version 2.1 of IOregistry as requested, there are two files, one initialized without DSDT and the other with DSDT. using the EFI hot patch V2 patch.
 

Attachments

  • Captura de Tela 2020-04-08 às 00.37.21.png
    Captura de Tela 2020-04-08 às 00.37.21.png
    1.1 MB · Views: 37
  • Captura de Tela 2020-04-08 às 00.37.35.png
    Captura de Tela 2020-04-08 às 00.37.35.png
    1.4 MB · Views: 37
  • IOreg_Dell_5557.zip
    1.4 MB · Views: 34
Last edited:
Hello .. Good night. EFI test v3.1 does not boot the system, from a Kernel Panic to an acpi, this is in the attached screenshot.
Well, I think we need a simple patch to make trackpad work.
Removed all mess that I made (it took me a lot of time, but was a useless code)
I2C0 wants Windows 2013 or newer. There is a new patch on clover to fix that.

IOreg extracted with version 2.1 of IOregistry as requested, there are two files, one initialized without DSDT and the other with DSDT. using the EFI hot patch V2 patch.
Great. Looking your IOREG we can see that VoodooI2C is attached to TPD0 and not TPD1 and all DP were patched to HDMI and that is fine. HS06 USB is now disabled to use less battery.
I will try to understand why your brightness keys only works after sleep.
Have you tried the screen corner solution?
Is your NVRAM working fine?

EDIT:
Found this:
Captura de Tela 2020-04-08 às 15.58.52.png

Try igfxcflbklt=opcpde, igfxcflbklt=freq or igfxcflbklt=wrap on boot arguments.
Maybe you can get some improvement on backlight.
 

Attachments

  • 5557 Hot Patch V3.2.zip
    6.8 MB · Views: 52
Last edited:
Well, I think we need a simple patch to make trackpad work.
Removed all mess that I made (it took me a lot of time, but was a useless code)
I2C0 wants Windows 2013 or newer. There is a new patch on clover to fix that.

Good night friend, first I want to thank you for all the time you have dedicated to help me. I tested EFI v3.2, initially the trackpad did not work in any way, so I reset NVRAM, and it worked as a generic voodoo driver, as I used before, but without being i2c activation, that is, it only worked as common mouse and not as trackpad as it should be, I just have the click, the pointer and scroll nothing but, I think activation of the i2c needs more than that pach, it must be using something else in the dsdt and maybe for that reason it does not activate, (but I don’t know, it’s just a layman’s opinion). in the system preferences it also appears as if you don't have a trackpad.

Great. Looking your IOREG we can see that VoodooI2C is attached to TPD0 and not TPD1 and all DP were patched to HDMI and that is fine. HS06 USB is now disabled to use less battery.
Deactivating the HS06 worked, it will save battery and this is great.

I will try to understand why your brightness keys only works after sleep.

the brightness keys do not work after sleep, the brightness works, which can be controlled by the system preferences. for the keys to work I had to add a pach to the dsdt, and as we are not using the dsdt they do not work, I did the procedure to find out what my brightness keys were and found out that it is _Q66, both to increase and to decrease, but when applying the patch replacing the two keys with _Q66 the two keys work only to increase the brightness.

Have you tried the screen corner solution?

I don't know how to do it. could you explain me better?

Is your NVRAM working fine?

I think so, because all the apps that were open open again when I restart. just not the control of brightness that always appears at maximum.

Try igfxcflbklt=opcpde, igfxcflbklt=freq or igfxcflbklt=wrap on boot arguments.
Maybe you can get some improvement on backlight.

I tested all the arguments, none had an effect on the brightness, a curious thing I don't know if it is relevant but after using this second was that the trackpad worked using the internal kext of voodooPS2. well i think thats all. I hope we can solve this problem because I'm starting to think that they have no solution.:cry:
 
I was taking a look at the DSDT file and I saw that the i2c patch corresponds to all this part of the DSDT code, but I don't know if that will help, but if it helps, the code is below.

Code:
    Escopo (_SB.PCI0.I2C0)

    {

        Dispositivo (TPD0)

        {

            Nome (HID2, Zero)

            Nome (SBFB, ResourceTemplate ()

            {

                I2cSerialBusV2 (0x002C, ControllerInitiated, 0x00061A80,

                    AddressingMode7Bit, "\\ _ SB.PCI0.I2C0",

                    0x00, ResourceConsumer, _Y20, exclusivo,

                    )

            })

            Nome (SBFI, ResourceTemplate ()

            {

                Interrupção (ResourceConsumer, Nível, ActiveLow, ExclusiveAndWake, ,, _Y21)

                {

                    0x00000000,

                }

            })

            Nome (SBFG, ResourceTemplate ()

            {

                GpioInt (nível, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,

                    "\\ _ SB.PCI0.GPI0" ", 0x00, ResourceConsumer ,,

                    )

                    {// Lista de pinos

                        0x0000

                    }

            })

            CreateWordField (SBFB, \ _SB.PCI0.I2C0.TPD0._Y20._ADR, BADR) // _ADR: Endereço

            CreateDWordField (SBFB, \ _SB.PCI0.I2C0.TPD0._Y20._SPE, SPED) // _SPE: velocidade

            CreateWordField (SBFG, 0x17, INT1)

            CreateDWordField (SBFI, \ _SB.PCI0.I2C0.TPD0._Y21._INT, INT2) // _INT: Interrompe

            Método (_INI, 0, NotSerialized) // _INI: Initialize

            {

                If (LLess (OSYS, 0x07DC))

                {

                    SRXO (GPDI, um)

                }



                Loja (GNUM (GPDI), INT1)

                Loja (INUM (GPDI), INT2)

                Se (LEqual (SDM0, Zero))

                {

                    SHPO (GPDI, um)

                }



                Se (LEqual (SDS0, um))

                {

                    Loja ("DLLA70A", _HID)

                    Loja (0x20, HID2)

                    Retorno (Zero)

                }

            }



            Nome (_HID, "DLLA70A") // _HID: ID do hardware

            Nome (_CID, "PNP0C50") // _CID: ID compatível

            Nome (_S0W, 0x03) // _S0W: estado de ativação do dispositivo S0

            Método (_DSM, 4, serializado) // _DSM: método específico do dispositivo

            {

                Se (LEqual (Arg0, HIDG))

                {

                    Retorno (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))

                }



                Se (LEqual (Arg0, TP7G))

                {

                    Retorno (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))

                }



                Retorno (tampão (um)

                {

                     0x00                                       

                })

            }



            Método (_STA, 0, NotSerialized) // _STA: Status

            {

                Retorno (0x0F)

            }



            Método (_CRS, 0, NotSerialized) // _CRS: configurações atuais de recursos

            {

                If (LLess (OSYS, 0x07DC))

                {

                    Retorno (SBFI)

                }



                Se (LEqual (SDM0, Zero))

                {

                    Retorno (ConcatenateResTemplate (SBFB, SBFG))

                }



                Retorno (ConcatenateResTemplate (SBFB, SBFI))

            }

        }



        Dispositivo (HDAC)

        {

            Nome (_HID, "INT0000") // _HID: ID do hardware

            Nome (_CID, "INT0000") // _CID: ID compatível

            Nome (_DDN, "Codec de áudio da tecnologia de som inteligente Intel (R)") // _DDN: Nome do dispositivo DOS

            Nome (_UID, Um) // _UID: ID exclusivo

            Nome (CADR, Zero)

            Método (_INI, 0, NotSerialized) // _INI: Initialize

            {

                Se (LEqual (I2SC, um))

                {

                    Loja ("INT3439", _HID)

                    Loja ("INT3439", _CID)

                    Loja (0x1A, CADR)

                    Retorno (Zero)

                }



                Se (LEqual (I2SC, 0x02))

                {

                    Loja ("INT343A", _HID)

                    Loja ("INT343A", _CID)

                    Loja (0x1C, CADR)

                    Retorno (Zero)

                }



                Se (LEqual (I2SC, 0x03))

                {

                    Loja ("INT343B", _HID)

                    Loja ("INT343B", _CID)

                    Loja (0x34, CADR)

                    Retorno (Zero)

                }

            }



            Método (_CRS, 0, NotSerialized) // _CRS: configurações atuais de recursos

            {

                Nome (SBFB, ResourceTemplate ()

                {

                    I2cSerialBusV2 (0x0000, ControllerInitiated, 0x00061A80,

                        AddressingMode7Bit, "\\ _ SB.PCI0.I2C0",

                        0x00, ResourceConsumer, _Y22, exclusivo,

                        )

                })

                Nome (SBFI, ResourceTemplate ()

                {

                    Interromper (ResourceConsumer, Nível, ActiveLow, ExclusiveAndWake, ,, _Y23)

                    {

                        0x00000000,

                    }

                })

                CreateWordField (SBFB, \ _SB.PCI0.I2C0.HDAC._CRS._Y22._ADR, ADR) // _ADR: Endereço

                Loja (CADR, ADR)

                CreateDWordField (SBFI, \ _SB.PCI0.I2C0.HDAC._CRS._Y23._INT, AINT) // _INT: Interrompe

                Loja (INUM (0x02040016), AINT)

                Se (LEqual (BID, 0x20))

                {

                    Retorno (SBFB)

                }



                Retorno (ConcatenateResTemplate (SBFB, SBFI))

            }



            Método (_STA, 0, NotSerialized) // _STA: Status

            {

                Se (LNotEqual (I2SC, Zero))

                {

                    Retorno (0x0F)

                }



                Retorno (Zero)

            }

        }

    }



    Escopo (_SB.PCI0.I2C1)

    {

        Dispositivo (TPL1)

        {

            Nome (HID2, Zero)

            Nome (SBFB, ResourceTemplate ()

            {

                I2cSerialBusV2 (0x004C, ControllerInitiated, 0x00061A80,

                    AddressingMode7Bit, "\\ _ SB.PCI0.I2C1",

                    0x00, ResourceConsumer, _Y24, Exclusivo,

                    )

            })

            Nome (SBFG, ResourceTemplate ()

            {

                GpioInt (nível, ActiveLow, exclusivo, PullDefault, 0x0000,

                    "\\ _ SB.PCI0.GPI0" ", 0x00, ResourceConsumer ,,

                    )

                    {// Lista de pinos

                        0x0000

                    }

            })

            Nome (SBFI, ResourceTemplate ()

            {

                Interromper (ResourceConsumer, Level, ActiveLow, Exclusive, ,, _Y25)

                {

                    0x00000000,

                }

            })

            CreateWordField (SBFB, \ _SB.PCI0.I2C1.TPL1._Y24._ADR, BADR) // _ADR: Endereço

            CreateDWordField (SBFB, \ _SB.PCI0.I2C1.TPL1._Y24._SPE, SPED) // _SPE: Velocidade

            CreateDWordField (SBFI, \ _SB.PCI0.I2C1.TPL1._Y25._INT, INT2) // _INT: Interrompe

            CreateWordField (SBFG, 0x17, INT1)

            Método (_INI, 0, NotSerialized) // _INI: Initialize

            {

                If (LLess (OSYS, 0x07DC))

                {

                    SRXO (GPLI, um)

                }



                Loja (GNUM (GPLI), INT1)

                Loja (INUM (GPLI), INT2)

                Se (LEqual (SDM1, Zero))

                {

                    SHPO (GPLI, um)

                }



                Se (LEqual (SDS1, um))

                {

                    Loja ("ATML3432", _HID)

                    Loja (Zero, HID2)

                    Loja (0x4C, BADR)

                    Loja (0x00061A80, SPED)

                    Retorno (Zero)

                }



                Se (LEqual (SDS1, 0x02))

                {

                    Loja ("ATML2952", _HID)

                    Loja (Zero, HID2)

                    Loja (0x4A, BADR)

                    Loja (0x00061A80, SPED)

                    Retorno (Zero)

                }



                Se (LEqual (SDS1, 0x03))

                {

                    Loja ("ELAN2097", _HID)

                    Loja (Um, HID2)

                    Loja (0x10, BADR)

                    Loja (0x00061A80, SPED)

                    Retorno (Zero)

                }



                Se (LEqual (SDS1, 0x04))

                {

                    Loja ("NTRG0001", _HID)

                    Loja (Um, HID2)

                    Loja (0x07, BADR)

                    Loja (0x00061A80, SPED)

                    Retorno (Zero)

                }



                Se (LEqual (SDS1, 0x05))

                {

                    Loja ("NTRG0002", _HID)

                    Loja (Um, HID2)

                    Loja (0x64, BADR)

                    Loja (0x00061A80, SPED)

                    Retorno (Zero)

                }



                Se (LEqual (SDS1, 0x06))

                {

                    Loja ("CUST0000", _HID)

                    Loja (TPLH, HID2)

                    Loja (TPLB, BADR)

                    Se (LEqual (TPLS, Zero))

                    {

                        Loja (0x000186A0, SPED)

                    }



                    Se (LEqual (TPLS, um))

                    {

                        Loja (0x00061A80, SPED)

                    }



                    Se (LEqual (TPLS, 0x02))

                    {

                        Loja (0x000F4240, SPED)

                    }



                    Retorno (Zero)

                }

            }



            Nome (_HID, "XXXX0000") // _HID: ID do hardware

            Nome (_CID, "PNP0C50") // _CID: ID compatível

            Nome (_S0W, 0x04) // _S0W: estado de ativação do dispositivo S0

            Método (_DSM, 4, serializado) // _DSM: método específico do dispositivo

            {

                Se (LEqual (Arg0, HIDG))

                {

                    Retorno (HIDD (Arg0, Arg1, Arg2, Arg3, HID2))

                }



                Se (LEqual (Arg0, TP7G))

                {

                    Retorno (TP7D (Arg0, Arg1, Arg2, Arg3, SBFB, SBFG))

                }



                Retorno (tampão (um)

                {

                     0x00                                       

                })

            }



            Método (_STA, 0, NotSerialized) // _STA: Status

            {

                Se (LNotEqual (SDS1, Zero))

                {

                    Retorno (0x0F)

                }



                Retorno (Zero)

            }



            Método (_CRS, 0, NotSerialized) // _CRS: configurações atuais de recursos

            {

                If (LLess (OSYS, 0x07DC))

                {

                    Retorno (SBFI)

                }



                Se (LEqual (SDM1, Zero))

                {

                    Retorno (ConcatenateResTemplate (SBFB, SBFG))

                }



                Retorno (ConcatenateResTemplate (SBFB, SBFI))

            }

        }



        Dispositivo (IMP3)

        {

            Nome (_ADR, Zero) // _ADR: Endereço

            Nome (_HID, "IMPJ0003") // _HID: ID do hardware

            Nome (_CID, "IMPJ0003") // _CID: ID compatível

            Nome (_UID, Um) // _UID: ID exclusivo

            Método (_STA, 0, NotSerialized) // _STA: Status

            {

                Se (LEqual (BID, 0x20))

                {

                    Retorno (0x0F)

                }



                Retorno (Zero)

            }



            Método (_CRS, 0, NotSerialized) // _CRS: configurações atuais de recursos

            {

                Nome (SBUF, ResourceTemplate ()

                {

                    I2cSerialBusV2 (0x006E, ControllerInitiated, 0x00061A80,

                        AddressingMode7Bit, "\\ _ SB.PCI0.I2C1",

                        0x00, ResourceConsumer ,, Exclusivo,

                        )

                })

                Retorno (SBUF)

            }

        }

    }
 

Attachments

  • Captura de Tela 2020-04-08 às 19.54.37.png
    Captura de Tela 2020-04-08 às 19.54.37.png
    153.8 KB · Views: 35
Last edited:
it only worked as common mouse and not as trackpad as it should be,
VoodooI2c cannot connect to TPD0 and VoodooPS2Controller is engaged on trackpad.
it must be using something else in the dsdt and maybe for that reason it does not activate
I still think the problem is that the code doesn't accept a Windows version smaller than 2013 and we were simulating Windows 2012. So let's try to simulate Windows 2015. I changed the code of the brightness keys also and updated the VoodooPs2Controller.kext
_Q66, both to increase and to decrease, but when applying the patch replacing the two keys with _Q66 the two keys work only to increase the brightness.
I used to patch BRT6 on my 5557 when simulating Windows 2012 and SMEE using Windows 2015.
Lets see if it works now.
I don't know how to do it. could you explain me better?
Sistem Preferences -> Mission Control -> Fast Acess Corners
Captura de Tela 2020-04-08 às 21.28.47.png
Captura de Tela 2020-04-08 às 21.29.39.png
After choosing one of the 4 screen corners to put monitor to sleep (it doesn't let your notebook sleep, it just shuts down your LCD), after screen turn off, touch any keyboard ket, to wake up screen.
Do that after plugging HDMI cable if your screen turn off and to test if brightness keys work after boot.

I think so, because all the apps that were open open again when I restart. just not the control of brightness that always appears at maximum.
NVRAM Testing: You can test if your NVRAM is working by running the following Terminal command and rebooting: sudo nvram TestVar=HelloWorld; once you reboot, run sudo nvram -p | grep TestVar; if you see a result, your NVRAM is working; if not, your NVRAM is broken and needs to be fixed; after testing, you can delete the TestVar variable by running sudo nvram -d TestVar

I tested all the arguments, none had an effect on the brightness
I am becoming out of suggestions about it, but have another things to try. Lets fix Trackpad and brightness keys first.

I was taking a look at the DSDT file and I saw that the i2c patch corresponds to all this part of the DSDT code, but I don't know if that will help, but if it helps, the code is below.
I know, but we don't have to change all of this using hot patch. All we need to do is enabling I2C0, and GPI0 TPD0 and let VoodooI2C to dock in.
 

Attachments

  • 5557 Hot Patch V3.3.zip
    7 MB · Views: 54
I still think the problem is that the code doesn't accept a Windows version smaller than 2013 and we were simulating Windows 2012. So let's try to simulate Windows 2015. I changed the code of the brightness keys also and updated the VoodooPs2Controller.kext

Maybe that was one of the problems, the start system did not start, started to load and restarted, so I checked the kext folder and deleted FakeSMS and so the system started. the brightness keys now work, I added the SMCbateriamanage kext to view the battery and it works well too, as much as the trackpak it works but with a low sensitivity, having to do a little force and still without most of the gestures, it just worked with two fingers, go back to pages with two fingers, and show a table with 3 fingers, the mouse arrow seems to be shaking and jumping sometimes it seems it still works with voodooPS2 only with some gestures, and it seems to be in conflict with something, because with i2c activation it is extremely sensitive and smooth.

[UPADTE] 10/04/2020
after restarting, the trackpad has stopped working again. the brightness keys continue to work very well.

I used to patch BRT6 on my 5557 when simulating Windows 2012 and SMEE using Windows 2015.
Lets see if it works now.

it worked, great.
After choosing one of the 4 screen corners to put monitor to sleep (it doesn't let your notebook sleep, it just shuts down your LCD), after screen turn off, touch any keyboard ket, to wake up screen.
Do that after plugging HDMI cable if your screen turn off and to test if brightness keys work after boot.
I did the procedure, but the screen goes out and doesn’t light up, but only after returning from rest or restarting, I think it must have something to do with the brightness because if it decreases completely the screen goes out and doesn’t light up until you restart or go back to sleep .
I am becoming out of suggestions about it, but have another things to try. Lets fix Trackpad and brightness keys first.
ok, i believe we are on the right path because the brilo key already worked, and the trackpad is close by.
 
Last edited:
and deleted FakeSMS
I want to test how trackpad goes with fakesmc. Forgot to delete VirtualSMC.kext
the trackpak it works but with a low sensitivity
VoodooPS2Controller is on charge. Can you send me IOreg again?
I did the procedure, but the screen goes out and doesn’t light up
It is very weird. Maybe Catalina has some compatibility issue with your LCD because it didn't h
ok, i believe we are on the right path because the brilo key already worked, and the trackpad is close by.
This is very strange. Perhaps Catalina has a compatibility problem with your LCD. This behavior did not exist at El Capitan. But lets work for a solution.

Try this one, clear NVRAM, make new kextcache. Reboot a few times and send me IOreg.
 

Attachments

  • 5557 Hot Patch V3.4.zip
    6.8 MB · Views: 45
I want to test how trackpad goes with fakesmc. Forgot to delete VirtualSMC.kext
Only functioned as a mouse using the voodooPS2 kext, no changes compared to FakeSMC or VirtualSMS

VoodooPS2Controller is on charge. Can you send me IOreg again?

New IOreg attached, Obs. I had to add the voodooPS2 kext to be able to use the keyboard.
It is very weird. Maybe Catalina has some compatibility issue with your LCD because it didn't h

After sleep it works exactly as you said. So I think the problem is not with LDC but with something that is activated or deactivated only after sleep.
Try this one, clear NVRAM, make new kextcache. Reboot a few times and send me IOreg.

is there any way to clean NVRAM without pressing F11 on the clover screen, or is this the correct hackintosh way?
 

Attachments

  • IOreg_Dell_5557.zip
    661.3 KB · Views: 27
Hybrid EFI.
 

Attachments

  • 5557 Hot Patch V4.0.zip
    6.8 MB · Views: 65
Hybrid EFI.

It didn't work, I had a KP, at the moment I'm using the v3.3 you sent me, I just added my corrected DSDT and applied only the SK2 i2C patch. the trackpad and the brightness keys work like this. only not the brightness control.
 
Status
Not open for further replies.
Back
Top