Jump to content
TimeWalker75a

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

1,148 posts in this topic

Recommended Posts

Advertisement

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.

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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 :)

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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. 

Share this post


Link to post
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!

 

Share this post


Link to post
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

Share this post


Link to post
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. 

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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. 

Share this post


Link to post
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..)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By glasgood
      CLOVER DUAL BOOT MOJAVE & WINDOWS 10 GUIDE 
       

       
       
      INCLUDES  MBR / LEGACY BIOS  TO  GPT / EFI CONVERSION
      USING MBR2GPT TOOL
       
       
      PREREQUISITE: Two physical discs ( SSD’s or HDD’s )
       
       
       
       
       
      STEP 1 - Clover dual boot configuration 
       
      Open config.plist with Clover Configurator
       
      Boot
       Legacy = PBR Timeout = True ( will remove the Timeout countdown, from Clover boot menu)  

       
      GUI 
      Scan / Custom
       Entries = True  Tool = True  Legacy = False ( removes extra Windows 10 entries )  
      Hide Volume
      - Preboot ( macOS Preboot )
      - Recovery ( macOS Recovery )
       

       
      So at boot you will have two options: boot macOS Mojave or Windows 10 
       
       
       
       
       
       
       
      ————————————————————
       
       
      STEP 2 - Using a drive without Windows 10 installed
       
      Disconnect system drive that contains your macOS Mojave install from computer ( This is so that Windows does not overwrite existing macOS Mojave boot loader )
       
      Proceed with a Windows 10 UEFI install.  
      After installation reconnect macOS Mojave Drive, the Windows installation should now be detected and usable in Clover. 
      If Windows 10 is not detected or able to boot,  then verify you installed Windows 10 as UEFI and not MBR ---->  ( Read step 2 - For a drive with Windows 10 installed )
       
       
      OR
       
       
       
      STEP 2 - Using a drive with Windows 10 already installed
       
      Verify your Windows install is  GPT / UEFI or MBR / Legacy BIOS.   
      If Windows install is GPT UEFI then Windows 10 install is ready to use at Clover boot menu, you should be able to boot into Windows directly from Clover boot screen. 
       

       
       
      But if  Windows drive is detected at Clover boot screen, but when booting Windows you get a black screen with a cursor on the top left,
      then this is most likely because Windows drive is MBR ( Legacy BIOS ).  You can easily convert MBR to GPT using  Windows MBR2GPT tool ( this saves hours work having to reinstall Windows 10 and setting up all your applications again  ) 
       
      If Windows 10 install is MBR / Legacy BIOS  then simply convert to GPT / UEFI  following instructions below ( read video summary and view video )
       
       
      ** To use Windows 10  MBR2GPT tool  you must have Windows 10 version 1703 ( creators update  ) or later and less than 3 partitions on 
      the Windows 10 drive **
       
      Video summary:
       
      Confirm Windows 10 drive is MBR Legacy BIOS ( in Windows Disk Management ) Reboot into Windows PE ( Advanced Startup ) Convert from MBR Legacy BIOS to GPT UEFI ( using commands below ) mbr2gpt /validate mbr2gpt /convert Restart Verify Windows 10 drive has changed to GPT UEFI ( in Windows Disk Management )  
       
       
       
      After conversion Windows 10 is ready to use at the Clover boot menu 
       
       
       
      STEP 3 - Stop Windows Boot manager from overriding Clover boot manager
       
      How to stop Windows boot manager from overriding your Hackintosh Clover boot manager when using dual booting between macOS and Windows
       
       
       
       
       
       
    • By SoThOr
      This was spurred on from a discussion in the Clover General thread. Where there was a debate on bcdedit being able create/read/edit (U)EFI Boot entries. I didn't think it appropriate to post all this information there and somebody may want to make use of this and its likely to get lost in that massive thread.
       
      Out of curiosity I decided to see if I could create an EFI entry using bcdedit. What can I say I like a challenge.  Whilst is not a documented method by Microsoft, as it turns out in a round about way it IS possible to create an EFI entry using bcdedit and these are the steps I went through to add UEFI Shell located on a USB stick to the EFI entries. 
       
      Third party software is available that can create and edit UEFI entries from Windows with better support and more features. I'm just making this information available in case those options are unavailable. 
       
      DISCLAIMER - This is not a supported method. Use at your own risk. I recommend backing up your BCD/Firmware variables/settings beforehand.
       
      1) Copy {bootmgr} entry.
      C:\Windows\System32>bcdedit /copy {bootmgr} /d "UEFI Shell" The entry was successfully copied to {34e8383c-73a7-11e9-9cb0-94de8078a7b5}. 2) Edit the new entry using the new GUID bcdedit generated in the copy step.
        a) Set the device and path for UEFI shell on my USB stick.
      bcdedit /set {34e8383d-73a7-11e9-9cb0-94de8078a7b5} device partition=G: bcdedit /set {34e8383d-73a7-11e9-9cb0-94de8078a7b5} path \EFI\SHELL\SHELLX64.efi   b) Clean up some of the stuff that was copied from {bootmgr} (optional as far as I can tell, just makes things tidier in bcdedit)
      3) Put the new EFI entry first in boot order. (optional)
       
      After completing the steps above, here is what "bcdedit /enum firmware" shows:
       
      I shutdown my computer and when I turned my computer back on it booted up into UEFI Shell. After exiting the shell my PC went on to boot Windows.
      Here is the resulting dump using "bcfg boot dump -v" from that shell:
       
      You may notice that the shell shows as "Windows Boot Manager" in the bcdedit output. This I believe is because of the "WINDOWS" at the beginning of the option data that bcdedit added to the EFI Boot entry. I also believe this why bcdedit shows my Windows 8 installation as "Firmware Application" because it has no option data. I don't know how to remove this data using bcdedit nor do I know how the option data, that bcdedit adds, will affect other EFI applications.

      There might be a way to create the EFI entry without copying the Windows entry but if there is I'm unable to find any documentation on how one would do so. If you use the create command then it just puts it in the BCD and I'm unaware of a way to tell it to create it in EFI instead, other than by doing the above.
    • By cvad
      Small tool to download, compile and build the latest Clover X64 package.
       
       
       

      The script inside is editable.

       
      Enjoy...
       
      Many thanks to the comrade SunKi for help with creating the script.
       
       
       
       
       
      Best thanks - click "Rate File".
       
    • By blxkspell
      Hey!
      As I have 3 Monitors connected, my RX 570 gets arround 50°C while ideling/ web browsing etc. The problem is, that this temp is apparently just the threshold, when the fans start to spin. So the fans start spinning for a minute then they stop for a while again... This is very annoying for me as the rest of my hackintosh is nearly quiet (SSD, 120mm low RPM cpu fan, nearly silent PSU,...), especially when Im using the pc to revise for school. Does somebody know wether its possible to "change" the threshold till the fans start spinning? Like it would probably not be a problem for the gpu at all, if the temp rises to 55°C but therefore be soundless....
       
       
×