Mohamed Khairy Posted February 21, 2014 Share Posted February 21, 2014 Install Windows, install RW Everything, stare at your screen forever trying to understand what register shows fan speed... so what is next ? Link to comment Share on other sites More sharing options...
TimeWalker75a Posted February 21, 2014 Author Share Posted February 21, 2014 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. 1 Link to comment Share on other sites More sharing options...
Mohamed Khairy Posted February 21, 2014 Share Posted February 21, 2014 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 More sharing options...
TimeWalker75a Posted February 21, 2014 Author Share Posted February 21, 2014 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. 1 Link to comment Share on other sites More sharing options...
Mohamed Khairy Posted February 21, 2014 Share Posted February 21, 2014 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 More sharing options...
TimeWalker75a Posted February 21, 2014 Author Share Posted February 21, 2014 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. 1 Link to comment Share on other sites More sharing options...
Mohamed Khairy Posted February 21, 2014 Share Posted February 21, 2014 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 More sharing options...
TimeWalker75a Posted February 21, 2014 Author Share Posted February 21, 2014 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. 1 Link to comment Share on other sites More sharing options...
Mohamed Khairy Posted February 21, 2014 Share Posted February 21, 2014 hhhhhhh dont understand this stuff if Florin9doi have time hope to see on this things Link to comment Share on other sites More sharing options...
onastvar Posted February 22, 2014 Share Posted February 22, 2014 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 More sharing options...
Zprood Posted February 22, 2014 Share Posted February 22, 2014 I think i find a easy way to find the registers under windows. First, install windows then install AIDA64, then run it, like below: you can see the sensors like the screen then right click from bottom bar, choose sensors dump--Embedded xxxx. then you can have this: 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. 1 Link to comment Share on other sites More sharing options...
TimeWalker75a Posted February 22, 2014 Author Share Posted February 22, 2014 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! 1 Link to comment Share on other sites More sharing options...
TimeWalker75a Posted February 22, 2014 Author Share Posted February 22, 2014 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 More sharing options...
Zprood Posted February 22, 2014 Share Posted February 22, 2014 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 More sharing options...
onastvar Posted February 22, 2014 Share Posted February 22, 2014 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 More sharing options...
TimeWalker75a Posted February 22, 2014 Author Share Posted February 22, 2014 I'm at 2608 right now with no visible issues... Link to comment Share on other sites More sharing options...
onastvar Posted February 22, 2014 Share Posted February 22, 2014 Still no luck booting with "Clover_rev2609.7z" please see boot logs... Link to comment Share on other sites More sharing options...
TimeWalker75a Posted February 22, 2014 Author Share Posted February 22, 2014 Try this in your /patched folder SSDT-4.aml.zip Link to comment Share on other sites More sharing options...
onastvar Posted February 22, 2014 Share Posted February 22, 2014 Thanks for sending SSDT file, I appreciate it very much!Added SSDT-4.aml to /patched folder I get same boot messages as in previous screenshots. Link to comment Share on other sites More sharing options...
TimeWalker75a Posted February 22, 2014 Author Share Posted February 22, 2014 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 More sharing options...
onastvar Posted February 23, 2014 Share Posted February 23, 2014 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 Link to comment Share on other sites More sharing options...
Zprood Posted February 23, 2014 Share Posted February 23, 2014 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 More sharing options...
onastvar Posted February 24, 2014 Share Posted February 24, 2014 As suggest, u can use chameleon bootloader install firstly Hi Zprood, do you know how to create USB chameleon bootloader? I've tried following this guide w/o luck of booting at all. Link to comment Share on other sites More sharing options...
TimeWalker75a Posted February 25, 2014 Author Share Posted February 25, 2014 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: 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 More sharing options...
Zprood Posted February 25, 2014 Share Posted February 25, 2014 well done TW, already apply to my 14R, all work like charm, thank you. Link to comment Share on other sites More sharing options...
Recommended Posts