Jump to content

Asus uX303LN Yosemite, screen brightness


procrastination
 Share

46 posts in this topic

Recommended Posts

Hi,

 

I recently installed Yosemite on my brand new Asus UX303ln.

After reading much, failing miserably so many times, I finally managed to get it working quite well with Clover Bootloader, a few kexts and a patch DSDT+SSDT.
However, I cannot seem to get two things :

- Screen Brightness controll, although I applied RehabMan haswell brightness patch. I got a slider in system preferences, but it does not change the screen brightness.

- I didn't managed to disable the Nvidia 860M optimus chip after trying the pinned method (I might try again later, this is a far less annoying issue).

Here are my patched DSDT and SSDT (SSDT7 is renamed SSDT in clover folder), config.plist and ioreg.

 

DSDT.txtSSDT7.txtconfig.txtioreg.txt

 

I might precise if other ux303 users stumble upon this post that the touchpad is only recognized as a single touch one without any scrolling or multitouch gesture. This is due to the touchpad being a focaltouch one. It is thus unsupported by the elantech driver.

Link to comment
Share on other sites

Hi,

 

I recently installed Yosemite on my brand new Asus UX303ln.

After reading much, failing miserably so many times, I finally managed to get it working quite well with Clover Bootloader, a few kexts and a patch DSDT+SSDT.

However, I cannot seem to get two things :

- Screen Brightness controll, although I applied RehabMan haswell brightness patch. I got a slider in system preferences, but it does not change the screen brightness.

- I didn't managed to disable the Nvidia 860M optimus chip after trying the pinned method (I might try again later, this is a far less annoying issue).

These two are related. In many cases, nvidia must be disabled before the brightness registers can be manipulated from ACPI.

Link to comment
Share on other sites

I now have managed to disable the Nvidia chip, but still no luck with the brightness setting.

I also seem to have a problem with the USB ports which are not working after a sleep+wakeup any longer.

Download patchmatic: https://github.com/RehabMan/OS-X-MaciASL-patchmatic.

Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

 

In terminal,

rm -Rf ~/Downloads/RehabMan
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract
Post contents of Downloads/RehabMan directory (as ZIP).

 

Also, post a copy of ioreg: Use the IORegistryExplorer v2.1

Link to comment
Share on other sites

Here you go.

 

I originally extracted DSDT and SSDT table from ubuntu and used "iasl -da" from ubuntu too.

 

attachicon.gifRehabMan.zipattachicon.gifioreg_output.zip

You forgot to drop OEM SSDTs. You cannot provide patched SSDTs without dropping the corresponding OEM tables. One way is to use config.plist/ACPI/SSDT/DropOem=true.

Link to comment
Share on other sites

I just discovered that the brightness slider is actually brought up by the addPNLF Clover DSDT fix, not by the patch I applied.

You should not use that option if you intend to implement backlight control.

Link to comment
Share on other sites

Enable in Clover config.plist under ACPI-->DSDT-->Fixes --> FixRegions_10000000 (YES) and NewWay_80000000 (YES)

And DropOEM (YES)

 

Then you need to download "ssdtprgen.sh", available on pikeralphas Github, generate your SSDT.aml

 

and put this (Attached) DSDT.aml and SSDT.aml (ssdtprgen) into Clover/ACPI/patched/ folder :-)

 

 

Cheers :-)

DSDT.zip

Link to comment
Share on other sites

Enable in Clover config.plist under ACPI-->DSDT-->Fixes --> FixRegions_10000000 (YES) and NewWay_80000000 (YES)

And DropOEM (YES)

Note: DropOEM will do nothing, as it is spelled correctly 'DropOem'.

...

and put this (Attached) DSDT.aml and SSDT.aml (ssdtprgen) into Clover/ACPI/patched/ folder :-)

Note: Merging a bunch of SSDTs into DSDT is not necessary and a classic "bad idea"...

Link to comment
Share on other sites

I got it working : I just had to clean up my mess.

I used my dsdt.aml, the associated ssdt.aml (renamed ssdt-1.aml), generated a ssdt for my processor and checked the "Drop OEM" option under clover configurator.

 

I will post all those files tonight for ux303ln users.

 

I still have to change my wifi card and beg for the elan kext developer to include fochaltech touchpad support and I will have a fully working hack book air.

Link to comment
Share on other sites

And yet... it turns out it's not all OK yet. I realised this got the 4400 HD  lose QE/CI. I re-added some of the SSDT file back, got QE/CI working but lost sleeping : I now have a reboot on wakeup. Il will have to narrow down on which precise table I need to get a fully functionning graphic card and dump the rest.
 

Link to comment
Share on other sites

And yet... it turns out it's not all OK yet. I realised this got the 4400 HD  lose QE/CI. I re-added some of the SSDT file back, got QE/CI working but lost sleeping : I now have a reboot on wakeup. Il will have to narrow down on which precise table I need to get a fully functionning graphic card and dump the rest.

You have to be very careful with DropOem. When you drop all tables, you may eliminate one that is needed. So be sure to review all of them, and only drop the ones that aren't necessary. Also, keep in mind that renames must be "balanced". If you do a rename (eg. GFX0->IGPU) in one file, you must do the rename in all that have references to the same object.

 

Before I even attempt an install, I spend a bit of time just going over the OEM DSDT/SSDTs...

Link to comment
Share on other sites

Yes, I am starting to get that little by little. I feel a little blind though. I may know how to code in C/C++ but ACPI is still a big mystery.

On another note, you have developped a branch of VoodooPS2 controller. Might it be possible to adapt it to a focaltech touchpad in order to get multitouch support by importing the linux driver ? (I mean I am willing to try that myself, but I'd rather get your opinion before trying anything useless).

Link to comment
Share on other sites

Yes, I am starting to get that little by little. I feel a little blind though. I may know how to code in C/C++ but ACPI is still a big mystery.

Reading the ACPI spec can be helpful. The rest is just "school of hard knocks"...

 

On another note, you have developped a branch of VoodooPS2 controller. Might it be possible to adapt it to a focaltech touchpad in order to get multitouch support by importing the linux driver ? (I mean I am willing to try that myself, but I'd rather get your opinion before trying anything useless).

You could adapt it if you can find or reverse engineer the focaltech ps2 protocol.

Link to comment
Share on other sites

Getting there, slowly.

The sleep problem was caused by the SSDT generated by "ssdtprgen.sh". Instead of going to sleep, the computer went directly in hibernation. Setting :

pmset -a hibernatemode 0

didn't change that behavior. I ditched this SSDT, stopped dropping OEM SSDT tables and everything is working BUT... the sleep mode. Having a USB device plugged in causes an instant wakeup, as shown in system logs :

Nov 27 08:04:34 pc52 kernel[0]: The USB device USB3.0 Hub (Port 1 of Hub at 0x15000000) may have caused a wake by issuing a remote wakeup (3)
Nov 27 08:05:32 MacBook-Air kernel[0]: The USB device USB3.0 Hub (Port 1 of Hub at 0x15000000) may have caused a wake by issuing a remote wakeup (3)

I guess my DSDT needs another patch (in _WAK method ?) but I have no clue which one.

Link to comment
Share on other sites

I have settled on a configuration which is working pretty well. You will find my config.plist and patched DSDT/SDST zipped as an attachment.

 

CLOVER.zip

I am using the latest clover boot loader with the following drivers installed :

CsmVideoDxe-64.efi

FSInject-64.efi

HFSPlus-64.efi

NTFS.efi

OsxAptioFix2Drv-64.efi

OsxFatBinaryDrv-64.efi

PartitionDxe-64.efi

 

I had to install those kexts :

FakeSMC.kext

ACPIBacklight.kext

AsusNBFnKeys.kext

VoodooHDA.kext

AppleHDADisabler.kext

VoodooPS2Controller.kext
ACPIBatteryManager.kext

VoodooPS2Controller.kext

 

The trick to get sleep working is to enable CSM in the bios (in boot options) and to enable hibernation using :

 sudo pmset -a hibernatemode 29

While hibernating works without enabling CSM, the screen is then heavily distorted when waking up and needs closing/waiting/opening the lid to get it back. Enabling CSM avoids that.

 

 

As always, I am opened to any suggestion to improve this. Right now, I think it might be useful to other Asus UX303LN users in this state.

And now, let's try to get this touchpad working with multitouch ! (Wish me luck, I have no idea where I'm going with that)

 

Link to comment
Share on other sites

You have the same screen distortion, like on the osx install?

 

It's fixable for hibernate wake really easy...

This can be done with dsdt, in the pnlf section... Vblank or any other small screen reset would fix this... Rehab have already a very similar patch in pnlf section that is just commented out...

I can look on that later too, if I have time and will be at home...

 

Cheers :-)

Link to comment
Share on other sites

Hi,

 

I'm a UX303LA user, so near you but without Optimus ;). I've got previously an UX32LN, so I know :P.

 

I'm at the same state as you (for Focaltech) but hey, perhaps we will have some good news on that (I cannot promise, but a famous developper will have a look on the topic).

 

Just an information for DSDT. There is an error in last ASUS DSDT, that causes issue with BatteryManager (when your battery is fully charged and on power, OSX says you that you're on battery...). A small adjustment need to be done inside FSBT method, I document it here (https://github.com/Ramalama2/UX303LN/issues/1)

 

I did also a small text to explain all my mods. If it can help, no issue to share it here (but sorry for my defective english!).

 

For Hibernation, when you enable CMS, your screen will be OK, but normally, no backlight change possible anymore (at least for me) after wake. But I didn't dig inside last Ramalama response (PNLF DSDT change) that is promising :).

 

For USB, I dig inside this issue with UX32LN (that is very close in DSDT point of view). Same issue. I stopped (because I'd got work on Elantech kext with ElymDinesh) and to wait, just disable USB3 in Bios. With only USB2 activated, it's OK (will look at that later).

 

And, you can also easily patch your bios with PMPatch for PowerManagement, it works well ;). But be carefull with Bios flashing (I can give you the right link if you want to go).

Link to comment
Share on other sites

 Share

×
×
  • Create New...