Slice Posted September 30, 2017 Share Posted September 30, 2017 I successfully installed macOS 10.11.6 and Windows 7 Pro SP1 in UEFI mode on the laptop. I know, there are detailed guides here and on osxlatitude.com but I was not agree with them and carefully check and test every step to tune my Mac. Hardware Intel® Core� i5-3320M CPU @ 2.60GHz, speedstep works with Clover default settings Chipset Intel 7 series, no patches needed Video: IntelHD4000 or NVS5200M switchable in BIOS, work in both cases LAN; Intel 82579LM, works with IntelMausiEthernet.kext v2.2.1 Audio: IDT 92HD93BXX, works with VoodooHDA 2.9.0. SDHC reader O2Micro; works with native AppleSDHC.kext with Clover Arbitrary properties. USB3.0 works natively if not disabled in DSDT PS2 keyboard and touchpad works with VoodooPS2. WiFi: Dell Intel WiFi was replaced by Dell DW1520, Broadcom BCM943224HMS. DeviceID=4353 LCD Screen 1366x768 BIOS A12. Initially was A02. Then I flashed A23 and found it is quite bad. The screen is full of artefacts. Flash A12 and all is OK. Not tested other versions. For some reason BIOS can switched from Intel to Nvidia by itself so I have to do my solution working independent on this state. WiFi It is not working OOB although it has DeviceID known to Apple. The reason is WhiteList in the driver. I set MacModel as MacBookPro10,1 while the WiFi will work on MacBookAir. I make a patch in Clover. As well a patch for channels. I deleted a kext Brcm4331 because it has the same DeviceID. Let kext Brcm4360 to work alone. VideoCards In Bios we can set Optimus = Enable/Disable If Enable then we have two videocards Intel first and Nvidia second. In this case additional SSDT-3.aml will switch off Nvidia. If Disable then we have only Nvidia card. It will work if Board-ID taken from iMac13,2. But here there is contradiction with WiFi with required Board-ID from MacBookAir. So I take MacModel as MacBookPro10,1 which is most close by CPU IvyBridge. Set BoardID like iMac13,2 to make Nvidia working. Patch BoardID in Brcm4360 to make WiFi working. Now I have Inject-> ->Intel=YES ->Nvidia=YES and SSDT-3.aml in ACPI\patched folder. This SSDT will switch off Nvidia if Intel card ON. For Intel graphics there is a patch against 8 apples at start. This Nvidia 5200 is Fermi and works in ElCapitan. Brightness No special kexts. The brightness controlled by keys F1,F2 and slider in Control Panel in both case Intel or Nvidia. Details here #72 DSDT and SSDT This is very long story and finally I have working sleep in both cases Intel or Nvidia. Sensors I use my HWSensors3 with FakeSMC 3.5.2. I got monitoring: CPU temperature GPU temperature GPU main frequency GPU shader frequency Battery state % full, time to charged or time to empty. Battery voltage dinamically. Battery amperage dynamically. I can see it changes on heavy games. HDD temperature. Audio I like VoodooHDA and have no problems with it. The sound is clear, loud, and switchable between internal speaker and headphone. Mic is working. Bluetooth Just tested with BTFirmwareUpdate.kext and it works in 10.11.6. I not needed it so switched off by wireless switch at right side. For 10.13.6 there is other kext BRCMInjector. Keyboard, Touchpad and Touchstick Post #14 I made my fork of the VoodooPS2 driver, take here sources and release version https://github.com/SergeySlice/VoodooPS2-for-ALPS My config, ACPI files and kexts are in attachment. 05.12.2017 EFI.7z EDITED: Better DSDT in the post #6. Sleep working even when AC inserted. EDITED 06.12.2018 Now I have HighSierra and this is my EFI folder. Note, HighSierra is possible only with Intel graphics (Optimus is enabled in BIOS) Welcome to discussion! EFI-E6430.7z BRCMInjector.kext.zip Latest EFI for Mojave here 10 Link to comment Share on other sites More sharing options...
AnaMathematica Posted September 30, 2017 Share Posted September 30, 2017 Hi I recently got my E6430 with i7-3740QM and osxlatitude helped a lot with dsdt and ssdt for sleep. It still is not going past 3.50Ghz in geekbench I saw another thread here that says it is impossible for all 4 cores to be working with such (3740QM) I tried turning off All-Cores in BIOS and yes it jumped to 3.7GHz finally but geekbench was so bad (6384) that it was not worth it, so I understand if that is not something you can help with. I do want to know if you have hdmi out working with the video I am wanting to do some work with group and projector but I am seeing that my hdmi and vga both do not work with the mac os x. They work of course with Windows if I boot with that hard drive but not with OS X. Did you get that working? Will your EFI folder work with mine if I swap and test or is there something I should change for it to work? I am still trying to learn the dsdt and ssdt meaning (what they each do) and what or how we edit them for custom application to each machine. Link to comment Share on other sites More sharing options...
Slice Posted October 1, 2017 Author Share Posted October 1, 2017 @AnaMathematica Welcome! I think you can test your laptop with my EFI. Be sure you can get back. I also can not make HDMI working. It works in Windows but macOS. About CPU I have a strange issue. I think it is DSDT bug. Test with AC inserted. Low frequency = 800 High = 2400 Test the same application but AC off. Only battery. Low frequency = 1200 High = 3300 Should be vice versa?! Link to comment Share on other sites More sharing options...
AnaMathematica Posted October 2, 2017 Share Posted October 2, 2017 For the TurboBoost to work correct I had to turn off TurboBoost in BIOS no one else said anything affirming this at osxlatitude but I read someone on another forum with a different situation and hardware approach this way, so I try because I was so frustrated to try anything and it worked! Here is that post from OsXLatitude I have no idea why that would be such but I ran many tests once I got Jake Lo's dsdt and ssdt files he made for my 3740QM since when I first put them in swapping ACPI folder and config the PowerGadget did not go past 2.4 or 3 GHz , and had strange issues similar to yours but not identical. Mine were Jake Lo's ACPI/config swap had 3 or more different GHz-Ceilings, depending on what stage of sleep and how entered sleep, such like Stage 1: Laptop first on from boot, 1.5GHz Stage 2: Laptop sleep from Energy Pane I chose 1 minute, then after wake, 3 GHz ceiling on PowerGadget Stage 3: Laptop sleep from Lid, then wake from lifting lid and pressing power button, then 1.6 GHz Stage 4: Laptop sleep from selecting sleep from Apple Menu, then wake, PowerGadget shows ceiling back at 3 GHz I am forgetting some details here when I did however turn off in first test, both SpeedStep and TurboBoost in BIOS, Laptop booted up in full? 3.5 GHz and showed no different ceilings in PowerGadget wether Lid or Powerbutton or other sleep-method. Maybe this might affect the results on your Laptop to try BIOS Turbo/Speed to off and see? Link to comment Share on other sites More sharing options...
Slice Posted October 3, 2017 Author Share Posted October 3, 2017 Thanks for the proposition. I will check. The difference between Stage 3 and 4 is _LID state.... Dell DSDT is nightmare! Link to comment Share on other sites More sharing options...
Slice Posted October 7, 2017 Author Share Posted October 7, 2017 For the TurboBoost to work correct I had to turn off TurboBoost in BIOS Maybe this might affect the results on your Laptop to try BIOS Turbo/Speed to off and see? No, in my case TurboBoost works as expected. If ON then speed up to 3100. If OFF then speed up to 2400. No side effect. I want to share my better DSDT. I corrected: 1. Wake with Intel graphics as main (Optimus=Enable) 2. Sleep/Wake with AC adapter inserted. 3. Corrected switch off Optimus. DSDT.aml.zip And I understand the problem with SpeedStep. It depends on Board-ID which I set as iMac to make Nvidia works. But speedstep of iMac is not good for MacBook. Link to comment Share on other sites More sharing options...
Slice Posted October 7, 2017 Author Share Posted October 7, 2017 I have no good Trackpad driver. Only VoodooPS2Mouse or VoodooPS2Trackpad by rehabman which works exactly the same. They have no scroll function. Link to comment Share on other sites More sharing options...
RehabMan Posted October 7, 2017 Share Posted October 7, 2017 I have no good Trackpad driver. Only VoodooPS2Mouse or VoodooPS2Trackpad by rehabman which works exactly the same. They have no scroll function. Two finger scrolling (and other features) are available with compatible Synaptics hardware. You probably don't have Synaptics. Search for PS2 kexts appropriate for your trackpad hardware. Link to comment Share on other sites More sharing options...
Jake Lo Posted October 7, 2017 Share Posted October 7, 2017 Use this one for Alps touchpad Link to comment Share on other sites More sharing options...
RehabMan Posted October 7, 2017 Share Posted October 7, 2017 Use this one for Alps touchpad That one is closed-source, violating the APSL. There is also some ALPS versions of my version of VoodooPS2Controller.kext floating around (I don't track it, no ALPS hardware here). Assuming one prefers open source, that is... Link to comment Share on other sites More sharing options...
Jake Lo Posted October 8, 2017 Share Posted October 8, 2017 it's not close source https://github.com/DrHurt/OS-X-ALPS-DRIVER/find/Release-6-WIP Link to comment Share on other sites More sharing options...
Slice Posted October 10, 2017 Author Share Posted October 10, 2017 it's not close source https://github.com/DrHurt/OS-X-ALPS-DRIVER/find/Release-6-WIP OK, I will check. I also have an VoodooPS2Touchpad driver working good with old ALPS in AbsoluteMode, with scrolling. But this driver is not working with new touchpad even I included appropriate ID. Link to comment Share on other sites More sharing options...
Slice Posted October 10, 2017 Author Share Posted October 10, 2017 It's a pity this driver also doesn't contain my ID https://github.com/DrHurt/OS-X-ALPS-DRIVER/blob/Release-6-WIP/VoodooPS2Trackpad/alps.cpp 73,3,64 So it will not work. Nontheless I will test. Link to comment Share on other sites More sharing options...
Slice Posted October 10, 2017 Author Share Posted October 10, 2017 Great! It works with two finger scrolling! VoodooPS2Controller.kext.zip This is sources diff that I made. diff.txt.zip Link to comment Share on other sites More sharing options...
Jake Lo Posted October 11, 2017 Share Posted October 11, 2017 Sorry, not sure if that has the latest changes by Dr.Hurt. This here is the last update posted Link to comment Share on other sites More sharing options...
Slice Posted October 12, 2017 Author Share Posted October 12, 2017 Sorry, not sure if that has the latest changes by Dr.Hurt. This here is the last update posted Thanks for the update information. Hope he will commit sources to github because osxl don't allow download to guests. This driver is really best! Link to comment Share on other sites More sharing options...
Slice Posted October 12, 2017 Author Share Posted October 12, 2017 Sorry, not sure if that has the latest changes by Dr.Hurt. This here is the last update posted I found no differencies with github sources. He seems already commit them My changes more 1. -Great thanks to Dense for helping with activating vanilla trackpad prefpane It was me who first investigate it. 2. ADBKeys I know diff -Nurpb /Users/sergey/Desktop/oldAlps/VoodooPS2Keyboard/ApplePS2ToADBMap.h /Users/sergey/Desktop/newAlps/VoodooPS2Keyboard/ApplePS2ToADBMap.h --- /Users/sergey/Desktop/oldAlps/VoodooPS2Keyboard/ApplePS2ToADBMap.h 2016-11-04 03:10:14.000000000 +0300 +++ /Users/sergey/Desktop/newAlps/VoodooPS2Keyboard/ApplePS2ToADBMap.h 2017-10-11 07:36:59.000000000 +0300 @@ -119,22 +119,22 @@ static const UInt8 PS2ToADBMapStock[ADB_ 0x55, // 51 Keypad 3 PageDn 0x52, // 52 Keypad 0 Insert 0x41, // 53 Keypad . Delete - 0x44, // 54 SysReq + 0x44, // 54 SysReq / Custom Calc 0x46, // 55 - 0x0a, // 56 Europe 2(ISO) + 0x0a, // 56 Europe 2(ISO) º\ª (Spanish) 0x67, // 57 F11 0x6f, // 58 F12 0x51, // 59 Keypad = - DEADKEY,// 5a - DEADKEY,// 5b + 0x4f, // 5a Custom WWW + 0x50, // 5b Custom My Documents 0x5f, // 5c Keyboard Int'l 6 (PC9800 Keypad , ) DEADKEY,// 5d DEADKEY,// 5e DEADKEY,// 5f - DEADKEY,// 60 - DEADKEY,// 61 - DEADKEY,// 62 - DEADKEY,// 63 + 0x3e, // 60 Right Ctrl + 0x3d, // 61 Right Alt + 0x4c, // 62 Keypad Enter + 0x4b, // 63 Keypad / //?? 0x69, // 64 F13 0x6b, // 65 F14 0x71, // 66 F15 @@ -143,26 +143,26 @@ static const UInt8 PS2ToADBMapStock[ADB_ 0x4f, // 69 F18 0x50, // 6a F19 0x5a, // 6b F20 - DEADKEY,// 6c F21 - DEADKEY,// 6d F22 - DEADKEY,// 6e F23 - DEADKEY,// 6f - 0x68, // 70 Keyboard Intl'2 (Japanese Katakana/Hiragana) - DEADKEY,// 71 - DEADKEY,// 72 - 0x5e, // 73 Keyboard Int'l 1 (Japanese Ro) + 0x73, // 6c Home + 0x77, // 6d End + 0x69, // 6e Print Scrn + 0x71, // 6f Pause + 0x37, // 70 Left Window + 0x36, // 71 Right Window + 0x6e, // 72 Applications + 0x34, // 73 Custom Play/Pause DEADKEY,// 74 DEADKEY,// 75 - DEADKEY,// 76 F24 , Keyboard Lang 5 (Japanese Zenkaku/Hankaku) - 0x68, // 77 Keyboard Lang 4 (Japanese Hiragana) - 0x68, // 78 Keyboard Lang 3 (Japanese Katakana) + 0x3f, // 76 Custom Stop + 0x40, // 77 Custom Prev Track + 0x42, // 78 Custom Next Track 0x68, // 79 Keyboard Int'l 4 (Japanese Henkan) - DEADKEY,// 7a + 0x4d, // 7a VidMirror 0x66, // 7b Keyboard Int'l 5 (Japanese Muhenkan) - DEADKEY,// 7c - 0x5d, // 7d Keyboard Int'l 3 (Japanese Yen) - 0x5f, // 7e Keypad , (Brazilian Keypad .) - DEADKEY,// 7f + 0x7f, // 7c + 0x48, // 7d Volume Up + 0x49, // 7e Volume Down + 0x4a, // 7f Volume Mute DEADKEY,// 80 DEADKEY,// 81 DEADKEY,// 82 3. URL to sources <key>Source Code</key> - <string>https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller</string> + <string>https://github.com/DrHurt/OS-X-ALPS-DRIVER</string> 4. Test keyboard echo diff -Nurpb /Users/sergey/Desktop/oldAlps/VoodooPS2Keyboard/VoodooPS2Keyboard.cpp /Users/sergey/Desktop/newAlps/VoodooPS2Keyboard/VoodooPS2Keyboard.cpp --- /Users/sergey/Desktop/oldAlps/VoodooPS2Keyboard/VoodooPS2Keyboard.cpp 2016-12-25 10:20:06.000000000 +0300 +++ /Users/sergey/Desktop/newAlps/VoodooPS2Keyboard/VoodooPS2Keyboard.cpp 2017-10-11 07:37:45.000000000 +0300 @@ -92,7 +92,8 @@ void* _org_rehabman_dontstrip_[] = // get some keyboard id information from IOHIDFamily/IOHIDKeyboard.h and Gestalt.h //#define APPLEPS2KEYBOARD_DEVICE_TYPE 205 // Generic ISO keyboard -#define APPLEPS2KEYBOARD_DEVICE_TYPE 3 // Unknown ANSI keyboard +//#define APPLEPS2KEYBOARD_DEVICE_TYPE 3 // Unknown ANSI keyboard +#define APPLEPS2KEYBOARD_DEVICE_TYPE 0x1B OSDefineMetaClassAndStructors(ApplePS2Keyboard, IOHIKeyboard); @@ -411,8 +412,11 @@ ApplePS2Keyboard* ApplePS2Keyboard::prob TPS2Request<2> request; request.commands[0].command = kPS2C_WriteDataPort; request.commands[0].inOrOut = kDP_TestKeyboardEcho; - request.commands[1].command = kPS2C_ReadDataPort; - request.commands[1].inOrOut = 0x00; +// request.commands[1].command = kPS2C_ReadDataPort; +// request.commands[1].inOrOut = 0x00; + request.commands[1].command = kPS2C_ReadDataPortAndCompare; + request.commands[1].inOrOut = kDP_TestKeyboardEcho; //Slice 0xEE + request.commandsCount = 2; assert(request.commandsCount <= countof(request.commands)); device->submitRequestAndBlock(&request); 5. Special multimedia keys @@ -1681,6 +1685,18 @@ bool ApplePS2Keyboard::dispatchKeyboardE keyCode = 0; } break; + case 0x130: keyCode = 0x7d; break; // E030 = volume up + case 0x12e: keyCode = 0x7e; break; // E02E = volume down + case 0x120: keyCode = 0x7f; break; // E020 = volume mute + + case 0x119: keyCode = 0x78; break; //E019 = next track + case 0x110: keyCode = 0x77; break; //E010 = prev track + case 0x124: keyCode = 0x76; break; //E024 = stop + case 0x122: keyCode = 0x73; break; //E022 = play/pause + + // case 0x21: keyCode = 0x54; break; //E021 = calculator + // case 0x16: keyCode = 0x55; break; //E016 = logout + case 0x10b: keyCode = 0x7a; break; //E04d = VideoMirror case 0x0153: // delete I don't know if the existing driver do this other way. 6. ALPS new ID diff -Nurpb /Users/sergey/Desktop/oldAlps/VoodooPS2Trackpad/alps.cpp /Users/sergey/Desktop/newAlps/VoodooPS2Trackpad/alps.cpp --- /Users/sergey/Desktop/oldAlps/VoodooPS2Trackpad/alps.cpp 2017-02-11 19:47:38.000000000 +0300 +++ /Users/sergey/Desktop/newAlps/VoodooPS2Trackpad/alps.cpp 2017-10-10 22:44:44.000000000 +0300 @@ -140,6 +140,7 @@ static const struct alps_model_info alps { { 0x62, 0x02, 0x14 }, 0x00, ALPS_PROTO_V2, 0xcf, 0xcf, ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, { { 0x73, 0x02, 0x50 }, 0x00, ALPS_PROTO_V2, 0xcf, 0xcf, ALPS_FOUR_BUTTONS }, + { { 0x73, 0x03, 0x64 }, 0x00, ALPS_PROTO_V2, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, /* Dell Vostro 1400 */ { { 0x52, 0x01, 0x14 }, 0x00, ALPS_PROTO_V2, 0xff, 0xff, ALPS_PASS | ALPS_DUALPOINT | ALPS_PS2_INTERLEAVED }, 7. Change boot to void as these procedures will not return a value diff -Nurpb /Users/sergey/Desktop/oldAlps/VoodooPS2Trackpad/alps.cpp /Users/sergey/Desktop/newAlps/VoodooPS2Trackpad/alps.cpp --- /Users/sergey/Desktop/oldAlps/VoodooPS2Trackpad/alps.cpp 2017-02-11 19:47:38.000000000 +0300 +++ /Users/sergey/Desktop/newAlps/VoodooPS2Trackpad/alps.cpp 2017-10-10 22:44:44.000000000 +0300 @@ -2410,7 +2411,7 @@ bool ALPS::alps_hw_init_ss4_v2() } -bool ALPS::ps2_command(unsigned char value, UInt8 command) +void ALPS::ps2_command(unsigned char value, UInt8 command) { TPS2Request<2> request; int cmdCount = 0; @@ -2424,12 +2425,12 @@ bool ALPS::ps2_command(unsigned char val _device->submitRequestAndBlock(&request); if (request.commandsCount != 2) { - return false; + return; } //return request.commandsCount = cmdCount; } -bool ALPS::ps2_command_short(UInt8 command) +void ALPS::ps2_command_short(UInt8 command) { TPS2Request<1> request; int cmdCount = 0; @@ -2441,7 +2442,7 @@ bool ALPS::ps2_command_short(UInt8 comma _device->submitRequestAndBlock(&request); if (request.commandsCount != 1) { - return false; + return; } //return request.commandsCount = cmdCount; } diff -Nurpb /Users/sergey/Desktop/oldAlps/VoodooPS2Trackpad/alps.h /Users/sergey/Desktop/newAlps/VoodooPS2Trackpad/alps.h --- /Users/sergey/Desktop/oldAlps/VoodooPS2Trackpad/alps.h 2017-02-11 19:40:32.000000000 +0300 +++ /Users/sergey/Desktop/newAlps/VoodooPS2Trackpad/alps.h 2017-10-10 22:44:44.000000000 +0300 @@ -445,9 +445,9 @@ protected: bool alps_hw_init_ss4_v2(); - bool ps2_command_short(UInt8 command); + void ps2_command_short(UInt8 command); - bool ps2_command(unsigned char value, UInt8 command); + void ps2_command(unsigned char value, UInt8 command); void set_protocol(); Link to comment Share on other sites More sharing options...
Slice Posted December 6, 2017 Author Share Posted December 6, 2017 The topic corrected with new full EFI folder including newest Clover, config, DSDT and kexts. 1 Link to comment Share on other sites More sharing options...
MoneyMiGHT Posted January 31, 2018 Share Posted January 31, 2018 I just want to say, thanks for sharing!It works like 99% good on my E6430 with fresh High SierraSadly, sleep is neither working with Battery nor with AC. And i got some Artefatcts while booting, but i dont worry about. If booted, everything is good! But all in all, thanks again for sharing your config!Best regards from germany! Link to comment Share on other sites More sharing options...
Slice Posted January 31, 2018 Author Share Posted January 31, 2018 Working sleep depends on DSDT. Did you get my DSDT? Link to comment Share on other sites More sharing options...
MoneyMiGHT Posted January 31, 2018 Share Posted January 31, 2018 Yes, i use your DSDT.I realisized, that if screen goes off, i cant wake it anymore, it just stays dark. (e.g. Sleepmode) and reboots after 15 min. Do i have to generate my own DSDT? I didnt do that in the past...is there a good tutorial?Thanks. Link to comment Share on other sites More sharing options...
bronxteck Posted February 1, 2018 Share Posted February 1, 2018 in terminal type in sudo pmset hibernatemode 0 that should hopefully fix your issue. slice your account is still active if you need to download from the site. Link to comment Share on other sites More sharing options...
Slice Posted February 1, 2018 Author Share Posted February 1, 2018 slice your account is still active if you need to download from the site. Thanks, I can. Others can not. Link to comment Share on other sites More sharing options...
MoneyMiGHT Posted February 1, 2018 Share Posted February 1, 2018 that should hopefully fix your issue. Thanks, but sadly it doesnt work Any other options? EDIT: i found out, that the laptop doesnt even shutdown properly, only reboot works... :/ Fixed: Clover ShutdownFix Link to comment Share on other sites More sharing options...
MoneyMiGHT Posted February 4, 2018 Share Posted February 4, 2018 Actual Result:Shutting down properly. Everything works except:- Hibernate/Standby - Battery calculated left time Any tips?Thanks in advance! Link to comment Share on other sites More sharing options...
Recommended Posts