Contribute
Register

Lenovo Twist S230U, battery/audio

Status
Not open for further replies.
Joined
Jul 15, 2012
Messages
34
Motherboard
Lenovo Twist S230U
CPU
Core i5 3317U
Graphics
HD4000
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
Okay, removed the DSDT, restarted, ran MaciASL, ran the two patches, and no sound. What does the IRQ fix accomplish?

Anyways, the DSDT and patched kext that work for me are attached since none of the MultiBeast ones are for my audio card. I have an ALC269VC (8086:1e20). Thanks again.

Edit: Also for the battery, after installing the kext and running the patch on your repository it properly shows charging state (plugged in or not), but always shows 0%. Also attached my current DSDT. I do see some variables > 8 bits under the embedded controller sections.
 

Attachments

  • AppleHDA-2.6.0f1-ALC3202.zip
    1.2 MB · Views: 148
  • DSDT.aml
    59.4 KB · Views: 238
Power Management for Sandy Bridge/Ivy Bridge/Haswell Laptops

Okay, removed the DSDT, restarted, ran MaciASL, ran the two patches, and no sound. What does the IRQ fix accomplish?

Make sure you followed the instructions carefully. Your AppleHDA uses layout-id 1. Did you change the layout-id in the "Audio Layout 12" patch from 12 to 1 before applying it?

Note: Off-topic posts moved here... Context:

DSDT patches you need for AppleHDA: https://github.com/RehabMan/Laptop-DSDT-Patch
Apply: "Audio Layout 12" (change layout-id from 12 to the layout-id used by the patched AppleHDA)
Apply: "IRQ Fix"


Edit: Also for the battery, after installing the kext and running the patch on your repository it properly shows charging state (plugged in or not), but always shows 0%.

Which patch?

FYI: Both of these questions are off-topic. I will move to a separate thread.
 
Wow changing the ID in HDEF of my DSDT worked... I had tried that much earlier with no luck, but I also hadn't applied the IRQ fix... is that why it worked this time?

Secondly, the patch I applied was the 4.30 Lenovo Twist patch for the battery.

Thanks for moving this post!
 
Wow changing the ID in HDEF of my DSDT worked... I had tried that much earlier with no luck, but I also hadn't applied the IRQ fix... is that why it worked this time?

The layout-id injection in _DSM must match the AppleHDA and you must have the "IRQ Fix" patch.

Secondly, the patch I applied was the 4.30 Lenovo Twist patch for the battery.

Thanks for moving this post!

For this DSDT, you also need "Fix Mutex with non-zero SyncLevel"
 
Still showing 0% after applying the mutex fix and resetting.

And heck, I figure I might as well ask while I'm at it.. you mentioned the brightness keys working and everything. I can manually adjust the brightness but I can't use the keys. Used the debug driver RehabMan-Voodoo-2014-0523 for the keyboard and realized that my media keys past the F3 keys don't provide any key code.
 
Still showing 0% after applying the mutex fix and resetting.

Install the debug version of ACPIBatteryManager.kext to determine what DSDT method is failing. Look in system.log.

Also post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html

And heck, I figure I might as well ask while I'm at it.. you mentioned the brightness keys working and everything. I can manually adjust the brightness but I can't use the keys. Used the debug driver RehabMan-Voodoo-2014-0523 for the keyboard and realized that my media keys past the F3 keys don't provide any key code.

First of all, correct brightness:
HD3000/HD4000 Brightness Fix:
DSDT Patches from here: https://github.com/RehabMan/Laptop-DSDT-Patch

Apply:
"Rename GFX0 to IGPU"
"Brightness Fix (HD3000/HD4000)"
- rename patch must be done first and to all DSDT/SSDT that contain references to GFX0 that you're including in your final SSDT set
- Brightness patch must be done to the DSDT or SSDT that contains the definition for Device GFX0 (search for 'Device (GFX0)'
- Place DSDT and SSDT (if necessary) into a place where the bootloader will load them. For Clover, EFI/CLOVER/ACPI/patched (DSDT.aml, SSDT-x.aml where 'x' is a number). For Chameleon, /Extra/ssdt.aml, /Exra/ssdt-1.aml, /Extra/ssdt-2.aml, etc.

Install: https://github.com/RehabMan/OS-X-ACPI-Backlight

---

Keyboard mapping depends on which keyboard driver you're using which primarily depends on which trackpad is in the laptop. What is the manufacturer of your trackpad? I'm assuming Synaptics since you mention using my driver...

Since your keys don't generate PS2 code, they are probably handled via ACPI.

You need to determine which EC queries are generated by the keys, then patch DSDT to make them do something different...

So..

For brightness keys, you'll need to instrument your EC query methods.

See here: https://github.com/RehabMan/OS-X-ACPI-Debug
Apply:
"Add DSDT Debug Methods"
"Instrument EC Queries"

Don't forget to install the ACPIDebug.kext.

Then monitor system.log as you press your various special function keys (brightness and others).
 
For the battery I installed debug driver then ran:

cat /var/log/system.log | grep Battery > ~/batterylog.txt

Here is the result. Will edit this with updates from the other tasks. Thank you so much again.

Edit1: The GFX0->IGPU applies no changes
The Brightness Fix for HD3000/4000 creates 2 errors: 16799, 6084, Object does not exist (\_SB.PCI0.IGPU.BAR1) and 16855, 6085, Object not found or not accessible from scope (^^PCI0.IGPU._DOS)

However the VID to IGPU does apply changes and removes one of the errors leaving only: 16799, 6084, Object does not exist (\_SB.PCI0.IGPU.BAR1)

Also impressed with the 42 post a day average since your join Month assuming you joined in the end of May 2012.
 

Attachments

  • batterylog.txt
    15.3 KB · Views: 293
For the battery I installed debug driver then ran:

cat /var/log/system.log | grep Battery > ~/batterylog.txt

Here is the result. Will edit this with updates from the other tasks. Thank you so much again.

_BIF is failing.
Code:
May 29 19:08:01 localhost kernel[0]: AppleSmartBatteryManager::getBatteryBIF: evaluateObject error 0xe00002bc

Post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html

Note: Apply "Fix Mutex with non-zero SyncLevel" twice. There is a MaciASL bug affecting things here. Not all instances are changed first pass...

Edit1: The GFX0->IGPU applies no changes
The Brightness Fix for HD3000/4000 creates 2 errors: 16799, 6084, Object does not exist (\_SB.PCI0.IGPU.BAR1) and 16855, 6085, Object not found or not accessible from scope (^^PCI0.IGPU._DOS)

However the VID to IGPU does apply changes and removes one of the errors leaving only: 16799, 6084, Object does not exist (\_SB.PCI0.IGPU.BAR1)

Yours is named VID, not GFX0. GFX0 patch is not applicable. VID is notoriously tricky to rename automatically. You may have to do some parts manually.

Post DSDT.

Edit: Found your DSDT above. Applied VID rename. Applied brightness patch. Result: No error. Conclusion: You're doing something wrong.
 
Conclusion was correct. Since I had first done the GFX0 then HD3000 then VID, it didn't compile. Reopened and fixed as you showed. Changed all Mutex's and searched through to make sure (I think).

Attached IOReg and new DSDT.

Edit: Percent seems like it's working now! New battery log attached.

Edit2: Brightness is all working, keys and All! Must have been the Mutex's that weren't detected.
 

Attachments

  • Eric’s MacBook Pro.zip
    407.2 KB · Views: 105
  • DSDT.aml
    60.2 KB · Views: 249
  • batterylog.txt.zip
    6.2 KB · Views: 102
Conclusion was correct. Since I had first done the GFX0 then HD3000 then VID, it didn't compile. Reopened and fixed as you showed. Changed all Mutex's and searched through to make sure (I think).

Attached IOReg and new DSDT.

Edit: Percent seems like it's working now! New battery log attached.

Edit2: Brightness is all working, keys and All! Must have been the Mutex's that weren't detected.

Yes...
 
Status
Not open for further replies.
Back
Top