Contribute
Register

Lenovo G500 10.9.1: Almost done, just a little bit of help needed...

Status
Not open for further replies.
Joined
Nov 26, 2013
Messages
134
Motherboard
Lenovo G500
CPU
i3-3120M 2.5GHz
Graphics
Intel HD 4000 Graphics
Mac
  1. iMac
[GUIDE!] Lenovo G500 10.9.1 - Stock Windows 8 Dual Boot using Clover

If you are looking for the guide, click here!


---------------------ORIGINAL POST-----------------------
Took a couple days to get it right, but I now have OS X 10.9.1 on my laptop dual-booting with the OEM Windows 8 install via the Clover bootloader on pure UEFI mode. This was my first try on another SKU of the same laptop with 10.8.4. On that one, I got everything except HDMI audio (which I haven't worked on a lot) and the card reader (not working under ML, haven't tested id patching on Mavs) working, using Chimera, single-booting, on BIOS mode of course. With this one (the one that's actually mine and I'll use) I found there can be a couple differences on the same model: Trackpad can be Synaptics or Elan (you can get inertia scrolling with the Synaptics one, but the Elan one has more gestures), and Wi-Fi can be BCM4313 or AR9425 (both unsupported by OS X, who cares, flash bios and swap it). If you use Clover, you can get USB working without -gux_defer_usb2 but it will still wake up instantly. You need it on Chameleon to get at least proper plugging-in working. Also, Mavericks/Clover (?) boosts my Geekbench 3 score to almost 4500 from 4450.
Ok, back to the topic:

The one priority thing I need to fix is sleep. Sometimes, sleep works fine, other times it will "reboot" (but you'll get some things back… as if passing through the boot sequence was part of waking up), other times it will "reboot" after a few minutes of waking up. I'm currently booting with -gux_defer_usb2 EHCIacquire=Yes as I did on my previous 10.8.4 install. Without -gux_defer_usb2 it will wake up instantly, and sleep seems to work fine if I remove (or keep) EHCIacquire=Yes, except it will still reboot spontaneously after a few minutes and there's an issue with the lid I'll detail. It will sleep and wake up properly if I keep the lid open, but if I close it after it sleeps, then open it back and press something so it wakes up, I'll get no backlight when it wakes up (and adjusting it won't do anything), so I'll have to sleep it and wake it up again but without closing the lid, and then I'll get the backlight back. Also, the battery stops charging and stays on trickle power (?) after you put it to sleep, and you'll have to unplug and plug the power adapter to get it to charge again. Everything is perfect if you disable the sleep timer and never put it to sleep manually either. So… any ideas?

Thanks a lot!
 
Took a couple days to get it right, but I now have OS X 10.9.1 on my laptop dual-booting with the OEM Windows 8 install via the Clover bootloader on pure UEFI mode. This was my first try on another SKU of the same laptop with 10.8.4. On that one, I got everything except HDMI audio (which I haven't worked on a lot) and the card reader (not working under ML, haven't tested id patching on Mavs) working, using Chimera, single-booting, on BIOS mode of course. With this one (the one that's actually mine and I'll use) I found there can be a couple differences on the same model: Trackpad can be Synaptics or Elan (you can get inertia scrolling with the Synaptics one, but the Elan one has more gestures), and Wi-Fi can be BCM4313 or AR9425 (both unsupported by OS X, who cares, flash bios and swap it). If you use Clover, you can get USB working without -gux_defer_usb2 but it will still wake up instantly. You need it on Chameleon to get at least proper plugging-in working. Also, Mavericks/Clover (?) boosts my Geekbench 3 score to almost 4500 from 4450.
Ok, back to the topic:

The one priority thing I need to fix is sleep. Sometimes, sleep works fine, other times it will "reboot" (but you'll get some things back… as if passing through the boot sequence was part of waking up), other times it will "reboot" after a few minutes of waking up. I'm currently booting with -gux_defer_usb2 EHCIacquire=Yes as I did on my previous 10.8.4 install. Without -gux_defer_usb2 it will wake up instantly, and sleep seems to work fine if I remove (or keep) EHCIacquire=Yes, except it will still reboot spontaneously after a few minutes and there's an issue with the lid I'll detail. It will sleep and wake up properly if I keep the lid open, but if I close it after it sleeps, then open it back and press something so it wakes up, I'll get no backlight when it wakes up (and adjusting it won't do anything), so I'll have to sleep it and wake it up again but without closing the lid, and then I'll get the backlight back. Also, the battery stops charging and stays on trickle power (?) after you put it to sleep, and you'll have to unplug and plug the power adapter to get it to charge again. Everything is perfect if you disable the sleep timer and never put it to sleep manually either. So… any ideas?

Thanks a lot!

Did you apply the _WAK DSDT fix? (works around an OS X bug new in 10.8.5 and 10.9.x)
See: https://github.com/RehabMan/Laptop-DSDT-Patch

What are you using for screen backlight control? You might consider ACPIBacklight: https://github.com/RehabMan/OS-X-ACPI-Backlight
 
I'm trying to apply the _WAK v2 patch, thought I had it already, but for some reason the file won't save after I add the patch. When I close it and open it back, there's no patch in there. No errors appear.
 
I'm trying to apply the _WAK v2 patch, thought I had it already, but for some reason the file won't save after I add the patch. When I close it and open it back, there's no patch in there. No errors appear.

Post your DSDT.
 
Here it is.
 

Attachments

  • dsdt-28-12-13.zip
    16.8 KB · Views: 260
Well, ACPIBacklight left me with only one brightness level. I haven't gotten MaciASL to show the modified file, but judging by byte filesizes, I think I patched it. Until now sleep has worked properly, let's see if it reboots by itself.
Edit: Yes, it rebooted.
 
Well, ACPIBacklight left me with only one brightness level.

There is often DSDT work to be done.

You might look at some of the ProBook related threads linked by the readme to discover more...
 
Alright, I got the values for a nice exponential brightness curve based on RW-Everything and some math, here's my (untested) patch:

Code:
into device label PNLF code_regex Name\s\(_BCL,\sPackage[^\}]*\}\) remove_matched;into device label PNLF code_regex Name\s\(XRGL,.*\)\n removeall_matched;
into device label PNLF code_regex Name\s\(XRGH,.*\)\n removeall_matched;
into device label PNLF code_regex Name\s\(KLVX,.*\)\n removeall_matched;
into device label PNLF code_regex . insert
begin
    // XRGL/XRGH: defines the valid range\n
    Name (XRGL, Zero)\n
    Name (XRGH, 976)\n
    // KLVX is initialization value for LEVX\n
    Name (KLVX, 0x03d003d0)\n
    // _BCL: returns list of valid brightness levels\n
    // first two entries describe ac/battery power levels\n
    Name (_BCL, Package()\n
    {\n
        976,\n
        70,\n
        0,\n
        2, 3, 5, 7,\n
        8, 9, 10, 11,\n
        12, 13, 14, 15,\n
        16, 17, 18, 19,\n
        20, 22, 24, 26,\n
        28, 31, 33, 36,\n
        39, 43, 46, 50,\n
        55, 59, 65, 70,\n
        76, 83, 90, 97,\n
        106, 115, 125, 135,\n
        147, 160, 173, 188,\n
        204, 222, 241, 262,\n
        284, 308, 335, 364,\n
        395, 429, 465, 505,\n
        549, 596, 647, 702,\n
        763, 828, 899, 976,\n
    })\n
end;
7 is actually the minimum value on Windows, but I found out it can go as low as 2, so I added those 3 values as quarter values. I also moved some values on the first lines one bit up or down to actually have a different one on each quarter value since some repeated.

The reason I haven't tested it is because I get two errors on my DSDT when compiling. I first apply the GFX0 to IGPU patch since the brightness one uses IGPU, then 12_Brightness.txt then the one I pasted above. I get "Invalid type ([Integer|String|Buffer|FieldUnit|Reference] found, Notify operator requires [Device|Processor|Thermal])" twice.
 

Attachments

  • DSDT 28-12-13 v2.aml.zip
    17.3 KB · Views: 194
Alright, I got the values for a nice exponential brightness curve based on RW-Everything and some math, here's my (untested) patch:

Code:
into device label PNLF code_regex Name\s\(_BCL,\sPackage[^\}]*\}\) remove_matched;into device label PNLF code_regex Name\s\(XRGL,.*\)\n removeall_matched;
into device label PNLF code_regex Name\s\(XRGH,.*\)\n removeall_matched;
into device label PNLF code_regex Name\s\(KLVX,.*\)\n removeall_matched;
into device label PNLF code_regex . insert
begin
    // XRGL/XRGH: defines the valid range\n
    Name (XRGL, Zero)\n
    Name (XRGH, 976)\n
    // KLVX is initialization value for LEVX\n
    Name (KLVX, 0x03d003d0)\n
    // _BCL: returns list of valid brightness levels\n
    // first two entries describe ac/battery power levels\n
    Name (_BCL, Package()\n
    {\n
        976,\n
        70,\n
        0,\n
        2, 3, 5, 7,\n
        8, 9, 10, 11,\n
        12, 13, 14, 15,\n
        16, 17, 18, 19,\n
        20, 22, 24, 26,\n
        28, 31, 33, 36,\n
        39, 43, 46, 50,\n
        55, 59, 65, 70,\n
        76, 83, 90, 97,\n
        106, 115, 125, 135,\n
        147, 160, 173, 188,\n
        204, 222, 241, 262,\n
        284, 308, 335, 364,\n
        395, 429, 465, 505,\n
        549, 596, 647, 702,\n
        763, 828, 899, 976,\n
    })\n
end;
7 is actually the minimum value on Windows, but I found out it can go as low as 2, so I added those 3 values as quarter values. I also moved some values on the first lines one bit up or down to actually have a different one on each quarter value since some repeated.

The reason I haven't tested it is because I get two errors on my DSDT when compiling. I first apply the GFX0 to IGPU patch since the brightness one uses IGPU, then 12_Brightness.txt then the one I pasted above. I get "Invalid type ([Integer|String|Buffer|FieldUnit|Reference] found, Notify operator requires [Device|Processor|Thermal])" twice.

If you apply only the first group of the "Rename GFX0 to IGPU" patch, it works correctly. Always a good idea to read the comments in a DSDT patch...

From there you can apply the ProBook "ACPI Backlight Control", then your custom data patch above. At that point, you should have a DSDT ready for testing.
 
Status
Not open for further replies.
Back
Top