Jump to content

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


TimeWalker75a
 Share

1,149 posts in this topic

Recommended Posts

I suppose you could try this on your LPCB bridge .. though I'm not sure if registers you are showing have to do anything with fan speed.

                Device (EC0)
                {
                    Name (_HID, EisaId ("PNP0C09"))  // _HID: Hardware ID
                    
                    OperationRegion (ECRM, EmbeddedControl, Zero, 0x0100)
                    Field (ECRM, ByteAcc, Lock, Preserve)
                    {
                        Offset (0x94), 
                        FANH,   8, // fan high rpm which I higly doubt because 3237 from your screenshor is just A5 0C 
                        FANL,   8, 
                        Offset (0xA8),
                        TCPD,   8, //CPU Die
                        TMEM,   8, //Memory Ambient 
                        TSYS,   8, //Motherboard Ambient
                        TCHS,   8, //some kind of chipset..must be pch but temps is way too different with below sensor
                        TPCD,   8, //PCH Die
                        
                    }
                }

Then address these registers the same way I do in SSDT-1.

  • Like 1
Link to comment
Share on other sites

I suppose you could try this on your LPCB bridge .. though I'm not sure if registers you are showing have to do anything with fan speed.

                Device (EC0)
                {
                    Name (_HID, EisaId ("PNP0C09"))  // _HID: Hardware ID
                    
                    OperationRegion (ECRM, EmbeddedControl, Zero, 0x0100)
                    Field (ECRM, ByteAcc, Lock, Preserve)
                    {
                        Offset (0x94), 
                        FANH,   8, // fan high rpm which I higly doubt because 3237 from your screenshor is just A5 0C 
                        FANL,   8, 
                        Offset (0xA8),
                        TCPD,   8, //CPU Die
                        TMEM,   8, //Memory Ambient 
                        TSYS,   8, //Motherboard Ambient
                        TCHS,   8, //some kind of chipset..must be pch but temps is way too different with below sensor
                        TPCD,   8, //PCH Die
                        
                    }
                }

Then address these registers the same way I do in SSDT-1.

this bits when fan is off  become FF FF 

so sure this is thee bits of fan

do i use your ssdt-1 as it or must i edit it ?

 

 

the  different values of speed 

nearly because  aida64 has some delay on reading than rw everything

Link to comment
Share on other sites

Then these values show some kind of integer value representing tachometer level and not actual tachometer readout, or it's a float value in a form of XXXX.Y and you would have to convert it to be just XXXX... (94 97 probably is 3803.9 RPM) figuring this is up to you.

 

You can't use the table as it is because:

1. External register names are different for you

2. I have no idea where is your MUTEX to temporarily lock access to EC 

3. Fan control algorithms are not going to work at all

4. Your tachometer doesn't output data in plain hex bytes that you could concatenate by shifting, you need to come up with a way to strip the excess part off.

and 5... im not even sure if getting data from these registers would be possible the way I have shown you. 

 

try adding EC device, then try configuring acpi sensors to monitor just some temperature and see if it reflects accurately.. if it does - go on from there and add remaining temps, then think about the fan. it's not a task for 5 minutes.. took me at least 6 month to fully understand my EC.

  • Like 1
Link to comment
Share on other sites

Then these values show some kind of integer value representing tachometer level and not actual tachometer readout, or it's a float value in a form of XXXX.Y and you would have to convert it to be just XXXX... (94 97 probably is 3803.9 RPM) figuring this is up to you.

 

You can't use the table as it is because:

1. External register names are different for you

2. I have no idea where is your MUTEX to temporarily lock access to EC 

3. Fan control algorithms are not going to work at all

4. Your tachometer doesn't output data in plain hex bytes that you could concatenate by shifting, you need to come up with a way to strip the excess part off.

and 5... im not even sure if getting data from these registers would be possible the way I have shown you. 

 

try adding EC device, then try configuring acpi sensors to monitor just some temperature and see if it reflects accurately.. if it does - go on from there and add remaining temps, then think about the fan. it's not a task for 5 minutes.. took me at least 6 month to fully understand my EC.

i added EC  device to dsdt

and used your ssdt-1 as it 

though it will get fan only to work

 

but nothing :(

 

i think florin9doi will do it better than me :)

Link to comment
Share on other sites

Nah, life won't be that easy .. you have to decipher registers, determine if they really output real data and not some garbage data.. then try to come up with a way to monitor this data. And eventually a way to control your fan, if it's even possible in some shape or form. 

 

I'm still looking for ways to enable Fn+F2 even though menu bar toggles for both wi-fi and bluetooth can be used. It works in UEFI ubuntu, so there must be a reason it fails in UEFI windows and OSX. I presume Ubuntu just parses WMI event from it (dell-wmi pack) and disables the interfaces .. but then again it should have froze due to FOWM call being executed. 

 

Also, @Mohemed .. I recalled why we had problems with restart upon disconnecting adapter - it was same FOWM method that tries to write to WCSE register when pressing Wi-Fi hotkey (Fn+F2). While this works in legacy boot mode (in both windows, or OSX booted with Chameleon, XPC or CloverEFI) it causes either a complete lock up or restart of the laptop in UEFI. So I had to disable FOWM method completely to prevent these problems.

  • Like 1
Link to comment
Share on other sites

 after  i applied SLPE fix no problems occurred for some time then reappeared this on clover rev 2606

after update to rev 2621 after apitofix update by dmazar disappeared

 

about wifi bluetooth

i can disable wifi normally without any edit ( i dont use iowmi )

nearly fn keys have different method than that on your notebook

Link to comment
Share on other sites

Also, I should point out that your DSDT has ECGx methods, which are Embedded Controller GET methods to obtain data from EC. So your MUTEX probably is SMIX (SMI Lock). 

And judging by the way your battery information is obtained - RMSC is actually your embedded controller and this is your EC ram space:

            OperationRegion (MBOX, SystemMemory, 0xFE800000, 0x2000)
            Field (MBOX, ByteAcc, Lock, Preserve)
            {
                        Offset (0x01), 
                ENTF,   8, 
                        Offset (0x1001), 
                MBX0,   8, 
                MBX1,   8, 
                MBX2,   8, 
                MBX3,   8, 
                MBX4,   8, 
                MBX5,   8, 
                MBX6,   8, 
                MBX7,   8, 
                MBX8,   8, 
                MBX9,   8
            }

And SX methods (like SX10) are just interface methods to get data from EC via SMI protocol.

  • Like 1
Link to comment
Share on other sites

 

Remove my SSDT table for i3-2350M and enable P and C state generation in clovers config file:

 

I tried removing SSDT table and enabling P-State and C-State generation still same issue:

 

P-State Stepper Error 18 at step 35 in context 2 on CPU 0

 

If anyone have a moment to take a look at attached config.plist I would appreciate it.

config-plist.txt

Link to comment
Share on other sites

I think i find a easy way to find the registers under windows. 

First, install windows then install AIDA64, then run it, like below:

post-459659-0-55897800-1393044502_thumb.jpg

you can see the sensors like the screen then right click from bottom bar, choose sensors dump--Embedded xxxx. then you can have this:

post-459659-0-27503400-1393044611_thumb.jpg

so, scroll down to bottom, you can see all the registers from you sensors, fan and other temps sensors. For fan, u can see the last two registers name( it can be found in the DSDT), other temps registers name, you just need to compare the value of them, basically it's a simple way to do that, also you can use RW, the find the Offset to match different register function. 

  • Like 1
Link to comment
Share on other sites

When I first started deciphering registers Aida used direct Dell ec access which lagged, only when I posted some info about sensors Aida switched to monitoring through acpi. I'm not implying they used the knowledge I have collected, but its just a weird coincidence. Good find none the less!

 

  • Like 1
Link to comment
Share on other sites

I tried removing SSDT table and enabling P-State and C-State generation still same issue:

 

P-State Stepper Error 18 at step 35 in context 2 on CPU 0

 

If anyone have a moment to take a look at attached config.plist I would appreciate it.

Hmm.. I can only see that you have no valid serial numbers for your system.. but that shouldn't cause any PM-related issues. Try some newer versions of Clover.. generator was changed at some point. Grab the binaries from https://www.dropbox.com/sh/b858dz2mwwsfsok/LRAFNw_WCe

Link to comment
Share on other sites

When I first started deciphering registers Aida used direct Dell ec access which lagged, only when I posted some info about sensors Aida switched to monitoring through acpi. I'm not implying they used the knowledge I have collected, but its just a weird coincidence. Good find none the less!

i think they collect different model laptop from internet, or they don't need to have all the device too test software, meanwhile u posted. But u did a good finding about this. 

Link to comment
Share on other sites

 

 

Hmm.. I can only see that you have no valid serial numbers for your system.. but that shouldn't cause any PM-related issues. Try some newer versions of Clover.. generator was changed at some point. Grab the binaries from https://www.dropbox....fsok/LRAFNw_WCe

 

Hi TimeWalker75, Thanks for all of your help - what version of clover would you recommend? I tried latest (Clover_rev2621.7z) couldn't boot at all.

Link to comment
Share on other sites

ok .. i seem to have located your mistake... your config got broken after adding generators because you edit with plain text editors..

so SSDT section got separated from it's parent ACPI section... and on top of that you are not dropping OEM tables, which you need to do. so every table gets mooshed together and you get kernel panics.

 

1. remove SSDT-4 I gave you

2. use enclosed config I have fixed for you

config.plist.zip

Link to comment
Share on other sites

TimeWalker75, Thank You! I removed SSDT-4 and replaced my config.plist with yours - unfortunately I still get the same error as before:

P-State Stepper Error 18 at step 35 in context 2 on CPU 0

 

As suggest, u can use chameleon bootloader install firstly, it's more simple and easy to succeed. If you have done it, then try to use a usb key with clover installed to test, when it boots up well, then install it into EFI partition. 

Link to comment
Share on other sites

Updated some things in regards to keyboard .. thanks to RehabMan's latest changes to VoodooPS2 we can finally get rid of IOWMIFamily which sole purpose was to control backlight. Now all special keys on the keyboard (except Fn+F1 in standard mode) work in regular and inverted mode.. and you don't even have to go to BIOS to change the mode:

 

79Pgd.png

 

To install do the following:

0. Uninstall IOWMIFamily and remove 'AMW0 Override" patch from DSDT Patches section of config. Change the "HDMI+VGA+Brightness" patch a bit, change 1213 1213 to same as in Find sequence.

1. Update the DSDT patches (only the ones you currently have as Intel and AMD had slightly different patches) in your config from dsdt_and_kext_patches.plist

There was a serious flaw with one of the patches that was causing PS2M device to fall off LPCB.

2. Get the kexts from keyboard&backlight_bins.zip and install them properly

3. Compile SSDT-2 using your favorite tool and put in in ACPI/patched on your ESP

 

People with AMD models will need to perform some minor tweaking on SSDT-2 table. 

1. Add the code to disable AMD SG from the SSDT-2 that you are currently using

2. Remove _DSM from IGPU scope

 

Touchpad LED will now properly enable and disable when USB mouse is connected or removed. Keyboard profile is now board model independent while retaining Default configuration unchanged.

 

https://github.com/Dolnor/Vostro-3450-Fan-Override

 

(yeah.. I need to relocate this to a separate Repo..)

Link to comment
Share on other sites

 Share

×
×
  • Create New...