Jump to content

[Guide] SurfacePro 1 & 2 Osx-Android-Windows multiboot


JahStories
 Share

2,617 posts in this topic

Recommended Posts

are you sure???? 

:(  i'm checking now...

 

i'm sure its worse!

 

I didn't knew it was a old kext from snow leopard and that's shutting down powermanagment...

 

but i don't know how to patch the dsdt properly, i've seen your post but i'm not so techy with dsdts... :(

 

if you can help us patching it i think everyone me first will be greatful... :angel_not:


btw thanks to you and osxlander that found the original working dsdt from an "old" post and tested it founding the kernel panic issue (usbfix by clover) and everyone else that's contributing somehow.

 

we are making good steps forward :thumbsup_anim: :thumbsup_anim: :thumbsup_anim:

 

i Love this Community !! <3

 

after this battery fix we just need a working driver for wifi (probablyneverbutwhoknows) and we have fixed all the major issues on both surfacepro 1 and 2!!!

 

NICE

 

@osxlander

weird it works for me...

btw hope someone figures out how to fix proper battery... so we can have it native and with power managment. :/

  • Like 1
Link to comment
Share on other sites

@Jah

 

Here's a screen shot of what you asked...

 

Wait, can't figure out how to upload a pic!  LOL...hold on
 
Last login: Sun Feb  9 18:51:16 on console

Todds-MacBook-Air:~ toddswire$ pmset -g assertions

2/9/2014, 6:53:47 PM EST

Assertion status system-wide:

   BackgroundTask                 0

   PreventDiskIdle                0

   ApplePushServiceTask           0

   UserIsActive                   0

   PreventUserIdleDisplaySleep    0

   InteractivePushServiceTask     0

   PreventSystemSleep             0

   ExternalMedia                  0

   PreventUserIdleSystemSleep     0

   NetworkClientActive            0

Kernel Assertions: 0x4=USB

   id=500  level=255 0x4=USB mod=2/9/2014, 6:28 PM description=XHC1 owner=GenericUSBXHCI

Todds-MacBook-Air:~ toddswire$

 

Link to comment
Share on other sites

but i don't know how to patch the dsdt properly, i've seen your post but i'm not so techy with dsdts... :(

 

if you can help us patching it i think everyone me first will be greatful... :angel_not:

Your DSDT is pretty simple for DSDT battery patch, so I went ahead and did it:

#Maintained by: RehabMan for: Laptop Patches
#battery_Surface-Pro-v1.txt

# created by RehabMan 2014-01-09

# works for:
#  Microsoft Surface Pro v1

into method label B1B2 remove_entry;
into definitionblock code_regex . insert
begin
Method (B1B2, 2, NotSerialized) { Return(Or(Arg0, ShiftLeft(Arg1, 8))) }\n
end;

# 16-bit registers

# not battery related (not accessed from DSDT, but likely related to fan speeds)
into device label EC0 code_regex F0RM,\s+16, replace_matched begin RM00,8,RM01,8, end;
into device label EC0 code_regex F1RM,\s+16, replace_matched begin RM10,8,RM11,8, end;

# battery related
into device label EC0 code_regex B0VL,\s+16, replace_matched begin VL00,8,VL01,8, end;
into device label EC0 code_regex B0CR,\s+16, replace_matched begin CR00,8,CR01,8, end;
into device label EC0 code_regex B0RC,\s+16, replace_matched begin RC00,8,RC01,8, end;
into device label EC0 code_regex B0FC,\s+16, replace_matched begin FC00,8,FC01,8, end;
into device label EC0 code_regex B0CC,\s+16, replace_matched begin CC00,8,CC01,8, end;
into device label EC0 code_regex B0DC,\s+16, replace_matched begin DC00,8,DC01,8, end;
into device label EC0 code_regex B0DV,\s+16, replace_matched begin DV00,8,DV01,8, end;
into device label EC0 code_regex B0MD,\s+16, replace_matched begin MD00,8,MD01,8, end;

into device label EC0 code_regex B1VL,\s+16, replace_matched begin VL10,8,VL11,8, end;
into device label EC0 code_regex B1CR,\s+16, replace_matched begin CR10,8,CR11,8, end;
into device label EC0 code_regex B1RC,\s+16, replace_matched begin RC10,8,RC11,8, end;
into device label EC0 code_regex B1FC,\s+16, replace_matched begin FC10,8,FC11,8, end;
into device label EC0 code_regex B1CC,\s+16, replace_matched begin CC10,8,CC11,8, end;
into device label EC0 code_regex B1DC,\s+16, replace_matched begin DC10,8,DC11,8, end;
into device label EC0 code_regex B1DV,\s+16, replace_matched begin DV10,8,DV11,8, end;
into device label EC0 code_regex B1MD,\s+16, replace_matched begin MD10,8,MD11,8, end;

# 16-bit methods

into_all method parent_label EC0 code_regex \(B0MD, replace_matched begin (B1B2(MD00,MD01), end;
into_all method parent_label EC0 code_regex \(B1MD, replace_matched begin (B1B2(MD10,MD11), end;
into_all method parent_label EC0 code_regex \(B0DC, replace_matched begin (B1B2(DC00,DC01), end;
into_all method parent_label EC0 code_regex \(B1DC, replace_matched begin (B1B2(DC10,DC11), end;
into_all method parent_label EC0 code_regex \(B0FC, replace_matched begin (B1B2(FC00,FC01), end;
into_all method parent_label EC0 code_regex \(B1FC, replace_matched begin (B1B2(FC10,FC11), end;
into_all method parent_label EC0 code_regex \(B0DV, replace_matched begin (B1B2(DV00,DV01), end;
into_all method parent_label EC0 code_regex \(B1DV, replace_matched begin (B1B2(DV10,DV11), end;
into_all method parent_label EC0 code_regex \(B0CR, replace_matched begin (B1B2(CR00,CR01), end;
into_all method parent_label EC0 code_regex \(B1CR, replace_matched begin (B1B2(CR10,CR11), end;
into_all method parent_label EC0 code_regex \(B0RC, replace_matched begin (B1B2(RC00,RC01), end;
into_all method parent_label EC0 code_regex \(B1RC, replace_matched begin (B1B2(RC10,RC11), end;
into_all method parent_label EC0 code_regex \(B0VL, replace_matched begin (B1B2(VL00,VL01), end;
into_all method parent_label EC0 code_regex \(B1VL, replace_matched begin (B1B2(VL10,VL11), end;

into_all method parent_label BAT0 code_regex \^\^LPCB.EC0.B0FC, replace_matched begin B1B2(^^LPCB.EC0.FC00,^^LPCB.EC0.FC01), end;
into_all method parent_label BAT0 code_regex \(\^\^LPCB.EC0.B0CC, replace_matched begin (B1B2(^^LPCB.EC0.CC00,^^LPCB.EC0.CC01), end;
into_all method parent_label BAT0 code_regex \(\^\^LPCB.EC0.B0RC, replace_matched begin (B1B2(^^LPCB.EC0.RC00,^^LPCB.EC0.RC01), end;
Please try it...
  • Like 1
Link to comment
Share on other sites

tomorrow i'll post a correct v0.3 patch with working nullethernet and powermanagment 

sorry i posted it too early without testing...

Doesn't everyone have to apply their own NullEthernet patch anyway in order to customize the MAC address?

Link to comment
Share on other sites

(surface2osx)

Still looking for a solution for the slowness of the SSD/controller. After some troubleshooting the problem is when I first read/write in folders.

 

Exemple 1:

If I browse a folder I've not been in yet, it will take a few sec to show the files (folder will be empty for 5-10 sec then the files finally appear)

 

Exemple 2:

If I do a dd of let's say 1024 blocks, the 1st time it will take 22 sec.    The 2nd time it will take 0.8 sec.

 

Any idea?

Link to comment
Share on other sites

I've aways used the ssdt you've provided.

I'm not sure how critical it is, but don't forget to randomize the MAC. And, if the DSDT provided by JahStories has RMNE in it, you'll need to remove it for the SSDT to become active.

Link to comment
Share on other sites

This is interesting because I did not have this problem on my Surface Pro 1 until I installed the latest v0.3 dsdt and power sleep handling kexts. I know you are on Surface Pro 2 but this seems odd that I have this problem now. Going to finder, go computers and click on Mac OS and nothing....blank. Then I close finder open again an bam, all the files and folders listed.

Link to comment
Share on other sites

(surface2osx)

Still looking for a solution for the slowness of the SSD/controller. After some troubleshooting the problem is when I first read/write in folders.

 

Exemple 1:

If I browse a folder I've not been in yet, it will take a few sec to show the files (folder will be empty for 5-10 sec then the files finally appear)

 

Exemple 2:

If I do a dd of let's say 1024 blocks, the 1st time it will take 22 sec.    The 2nd time it will take 0.8 sec.

 

Any idea?

Sounds like the delay is waiting for the HDD to spin up.

 

Maybe experiment with option in SysPrefs->Energy Saver->"Put hard disk to sleep when possible"

 

Of course, it is an SSD, so not sure why it would take long to come out of sleep...

Link to comment
Share on other sites

@Jah.

 

When you wake up (lol) can you take a look at what Rehabman is saying with regards to dsdt and ssdt files as well as randomizing the MAC address? Also not sure if you had the same timing/delay opening folders as with cs4602 but on Surface Pro 1 like I did after installing your most recent dsdt, config etc. thanks.

Sounds like the delay is waiting for the HDD to spin up.

 

Maybe experiment with option in SysPrefs->Energy Saver->"Put hard disk to sleep when possible"

 

Of course, it is an SSD, so not sure why it would take long to come out of sleep...

So just checked and on first boot, no sleep initiated and the hard drive sleep unchecked, it took 27 seconds for my "Mac OS" drive to display the contents.  Definitely sounds like a common problem and definitely related to the power management / sleep functions.

Link to comment
Share on other sites

GoodMorning everyone :D

 

i've noticed just now that applying the v0.3 patch... kills dual screen support :(

and since this it's going to be called v0.2.5 :(

 

@rehabman

I haven't got any problem using the embedded mac address, it works for me... 

so i'm sharing it...

 

@osxlander

which ssdt?

i suggest you to use the one in the file package, its optimized for the surface pro and enables speedstep.

 

p.s. 

i had that delay problem but now it seems gone, please if it's still a issue for you write it in the buglist :/

 

P.P.S.

i'm updating the main post...

Link to comment
Share on other sites

UPDATE

V0.3 UPDATE (Backlight & Sleep)

Link v0.3+ patched extra kext

How to install:

  • Use KextDrop (provided) to install acpibacklight and appleintelframebuffercapri.kext
  • Replace the provided dsdt.aml to efi/clover/acpi/patched
  • Copy the config.plist to efi/clover
  • Open CloverConfigurator and create an smbios with correct serial for MacBookAir5,2
  • Save & Reboot.

Vanilla kext have to be kextdropped only if you tried the old wrong v0.3 patches with voodoobattery, remember to remove it kexts too voodoobattery.kext!

Link to comment
Share on other sites

no dual screen support if installed

Since you're using 0x01660004 ig-platform-id, you need to patch the capri framebuffer to enable an additional HDMI connector.

 

Try this patch:

sudo perl -pi -e 's|\x04\x00\x00\x81.{107}\x04\x00\x66\x01.{108}|\x08\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x66\x01\x01\x02\x04\x02\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x20\x10\x07\x00\x00\x10\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x03\x00\x00\x02\x00\x00\x00\x30\x02\x00\x00\x02\x05\x00\x00\x00\x04\x00\x00\x07\x01\x00\x00\x03\x04\x00\x00\x00\x04\x00\x00\x07\x01\x00\x00\x04\x06\x00\x00\x00\x08\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00|' ~/Desktop/AppleIntelFramebufferCapri.kext/Contents/MacOS/AppleIntelFramebufferCapri
I don't know if you already have a patch to capri. If so, the patch above probably won't work, you'll have to customize it.
  • Like 1
Link to comment
Share on other sites

UPDATE

V0.2.5 UPDATE (Backlight & Sleep)[no dual screen support if installed]

Link v0.2.5

How to install:

  • Use KextDrop (provided) to install acpibacklight
  • Replace the provided dsdt.aml to efi/clover/acpi/patched
  • Copy the config.plist to efi/clover
  • Open CloverConfigurator and create an correct serial for MacBookAir5,2
  • Save & Reboot.

Vanilla kext have to be kextdropped only if you tried the old wrong v0.3 patches with voodoobattery, remember to remove it kexts too voodoobattery.kext!

 

Hey Jah. So did all this and now cannot boot unless I inject kexts and no cache. When I did that my computer was up for 10 minutes and was playing around and bam....shutdown. Anyone in config you changed that might cause this?

Link to comment
Share on other sites

 Share

×
×
  • Create New...