Jump to content

[Guide] 10.10 On the Surface Pro 3


LonelyTV
 Share

341 posts in this topic

Recommended Posts

@eminarcissus

I think that the hardwareconfig does not get loaded correctly on yours, did you do all steps I described ? also concerning HPET and IPIC in CLOVER

the audio pathmap should be refactored as:

http://vladichimescu.me/consultant/SurfacePro3/project/dump_surfacePro3/Surface_Pro_3/Surface_Pro_3-codec_0-Realtek_ALC288-verbit.txt

Hi vladichimescu, thanks for the code support,

I did all your steps and sucessfully loaded the AppleHDA288. OSX can find the device. headphone jack also switch correctly. There is sound from the sound effect in System Preferences.

 

However, as soon as I start to play a song, the voice break down in 10s. It happens everywhere in Itunes, web musics and VLC. then there are no more sound until I restart. 10s of music limitation....

Any idea why this happens?

 

ps:

- I have checked my dump which is the same as yours.

- In dsdt, I add the DTGP method, and inject layout 3 in HDEF.

- In CLOVER, I have fix DTGP, HPET, IPIC, SBUS. even with ForceHPET, it is the same. Anything else missing here?

  • Like 1
Link to comment
Share on other sites

Hi vladichimescu, thanks for the code support,

I did all your steps and sucessfully loaded the AppleHDA288. OSX can find the device. headphone jack also switch correctly. There is sound from the sound effect in System Preferences.

 

However, as soon as I start to play a song, the voice break down in 10s. It happens everywhere in Itunes, web musics and VLC. then there are no more sound until I restart. 10s of music limitation....

Any idea why this happens?

 

ps:

- I have checked my dump which is the same as yours.

- In dsdt, I add the DTGP method, and inject layout 3 in HDEF.

- In CLOVER, I have fix DTGP, HPET, IPIC, SBUS. even with ForceHPET, it is the same. Anything else missing here?

 I have done the same steps,  my headphone jack works well , but the speakers of sp3 often don't work .

I don't know what to do next.

 

by the way ,does your touch pad and touch screen work?

Link to comment
Share on other sites

@eminarcissus

I think that the hardwareconfig does not get loaded correctly on yours, did you do all steps I described ? also concerning HPET and IPIC in CLOVER

the audio pathmap should be refactored as:

http://vladichimescu.me/consultant/SurfacePro3/project/dump_surfacePro3/Surface_Pro_3/Surface_Pro_3-codec_0-Realtek_ALC288-verbit.txt

Yes, I have all clover dsdt fixes included, after reboot I can see Intel HD Audio in system information, but just have no audio device.

Also noticed you have said that works with the dock, does it only works with dock or native sound works either?

Link to comment
Share on other sites

 

Hi  dadudo2000
If you have problems patching the kext - did you try my 10.10 Type Cover kext from the 10.9 thread ? For me it is working, without patching the kext..
Just unzip and install it with a tool like Kext Drop.

 

gkarg

 

Hi M8

 

Thanks for your reply and kext.....But unfortunately it is not working.......Unzipped and installed with both kext drop and kext utility no luck...... It is driving me nuts... I have everything else working and very happy with it... I have kexts auto injecting and running on 10.10.2...... I honestly don't know what elseto do... It is the only think remaining for an almost perfect hackbook...... ;-)

 

At this stage not sure what to do anymore....

Link to comment
Share on other sites

Hi All,

 

Firstly thanks to everyone that has contributed to this guide, particularly LonelyTV for getting it started. Fantastic work and thank-you :)

 

Just a question - I have facetime working ok but the internal Surface Pro 3 microphone doesn't work correctly (it's ok though if I plug in a headset with a built in mic).

 

The sound settings suggest that the mic can 'hear' sounds but can't send them to the user on the other end.

 

Is this working for other users?

 

Thanks

Adam

Link to comment
Share on other sites

Hi M8

 

Thanks for your reply and kext.....But unfortunately it is not working.......Unzipped and installed with both kext drop and kext utility no luck...... It is driving me nuts... I have everything else working and very happy with it... I have kexts auto injecting and running on 10.10.2...... I honestly don't know what elseto do... It is the only think remaining for an almost perfect hackbook...... ;-)

 

At this stage not sure what to do anymore....

Hi,

 

For the Type Cover 3 kext - do you use the Clover boot arg kext-dev-mode=1 ?

 

If you are using the alternate way of patching directly the "IOUSBFamily.kext". Can you please post the content of "Info.plist" from your "IOUSBHIDDriver.kext" (the one you have to modify in the first post of this thread) ?

 

Thanks

Gkarg

Link to comment
Share on other sites

Hi 

 

Will try that .... Is it within osx with a sudo command or config.plist for clover? I am sensing we are getting closer....

 

Hi

 

could you please redownload the TypeCover3.kext from my post in this thread ? I have removed / fixed some infos - perhaps this helps. I also tested, that for me keyboard and trackpad works without any modification to the original USB kext - just by putting the TypeCover3.kext under my Clover EFI partition under EFI/CLOVER/kexts/10.10

 

So please copy the TypeCover3.kext to your Clover EFI partition under EFI/CLOVER/kexts/10.10 directory and check with Context menu "Information" on the TypeCover3.kext, that you have my new 2.1.1 Version. Please also be sure to use 10.10.2 as your OS X version.

 

You have to boot with the Clover boot option (by selecting your Mac OS X partition and pressing the space bar) "without caches and with injected keys", so that Clover is injecting this kexts from this location.

 

For the "kext-dev-mode=1"

 

first you should check, if this boot arg is already active (if you already use the config.plist from post 1 in this thread)  - just boot your system and go to the Clover "Options" menu on the Clover Boot screen.

 

There you will find the submenu "Set OS version if not:" - is this set to 10.10.10 ? If not - please change it to 10.10.10

 

Next please go to the submenu "Boot Args" and check/change the boot args temporary (with Return/Cursor keys) - it will only be used for the current boot.  If "kext-dev-mode=1" is missing - just add "at the end of the argument list.

 

To add it permanently -  you have to edit your Clover config.plist after mounting your EFI partition:

 

just add at the end of you Arguments "kext-dev-mode=1" and save your change (these is my configuration - so it can differ from yours - just add it to the end of the line):

...
<dict>
<key>Arguments</key>
<string>-f npci=0x2000 darkwake=0 dart=0 kext-dev-mode=1</string> 
..

So if it still not works for you - just edit directly the "IOUSBHIDDriver.kext"  "Info.plist", like written in the 1st post - it is not so complicated. And just post your Info.plist here - I will check it - and if it is ok - you can deploy the modified kext.  

 

gkarg

Link to comment
Share on other sites

Hi again

 

So... I checked and the arguments are already there.... SInce I copied the files in the original thread they were there by default.... So the argument is not the problem although I am suspecting there might be something with the bootloader.... The only options I customised are to force injecting kexts... Will in due time set a timer a well...

 

Now re the other option I have attached the customised IOUSBFamiley.kext for you to check and also pasted the info.plist code down here....

 

Thanks again for your help and patience..... :-)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>BuildMachineOSBuild</key>
	<string>14C99</string>
	<key>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleExecutable</key>
	<string>IOUSBHIDDriver</string>
	<key>CFBundleGetInfoString</key>
	<string>705.4.0, Copyright © 2000-2014 Apple Inc. All rights reserved.</string>
	<key>CFBundleIdentifier</key>
	<string>com.apple.iokit.IOUSBHIDDriver</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>I/O Kit Driver for USB HID Devices</string>
	<key>CFBundlePackageType</key>
	<string>KEXT</string>
	<key>CFBundleShortVersionString</key>
	<string>705.4.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>705.4.0</string>
	<key>DTCompiler</key>
	<string>com.apple.compilers.llvm.clang.1_0</string>
	<key>DTPlatformBuild</key>
	<string>6D97u</string>
	<key>DTPlatformVersion</key>
	<string>GM</string>
	<key>DTSDKBuild</key>
	<string>14C75a</string>
	<key>DTSDKName</key>
	<string>macosx10.10internal</string>
	<key>DTXcode</key>
	<string>0630</string>
	<key>DTXcodeBuild</key>
	<string>6D97u</string>
	<key>IOKitPersonalities</key>
	<dict>
		<key>Generic Keyboard</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.iokit.IOUSBHIDDriver</string>
			<key>HIDDefaultBehavior</key>
			<string></string>
			<key>IOClass</key>
			<string>IOUSBHIDDriver</string>
			<key>IOProviderClass</key>
			<string>IOUSBInterface</string>
			<key>bInterfaceClass</key>
			<integer>3</integer>
			<key>bInterfaceProtocol</key>
			<integer>1</integer>
			<key>bInterfaceSubClass</key>
			<integer>1</integer>
		</dict>
		<key>Generic Keyboard</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.iokit.IOUSBHIDDriver</string>
			<key>HIDDefaultBehavior</key>
			<string></string>
			<key>IOClass</key>
			<string>IOUSBHIDDriver</string>
			<key>IOProviderClass</key>
			<string>IOUSBInterface</string>
			<key>bInterfaceClass</key>
			<integer>3</integer>
			<key>bInterfaceProtocol</key>
			<integer>0</integer>
			<key>bInterfaceSubClass</key>
			<integer>3</integer>
		</dict>
	</dict>
	<key>OSBundleCompatibleVersion</key>
	<string>1.8</string>
	<key>OSBundleLibraries</key>
	<dict>
		<key>com.apple.iokit.IOHIDFamily</key>
		<string>1.6</string>
		<key>com.apple.iokit.IOUSBFamily</key>
		<string>4.1.5</string>
		<key>com.apple.kpi.bsd</key>
		<string>10.4.2</string>
		<key>com.apple.kpi.iokit</key>
		<string>10.4.2</string>
		<key>com.apple.kpi.libkern</key>
		<string>10.4.2</string>
		<key>com.apple.kpi.mach</key>
		<string>10.4.2</string>
	</dict>
	<key>OSBundleRequired</key>
	<string>Console</string>
</dict>
</plist>

IOUSBFamily.kext.zip

Link to comment
Share on other sites

Hi dadudo2000

 

ok - looks good. So i have updated my last post - did you try the updated infos and kext ?

What I would suggest - if nothing works - just put your modified IOUSBFamily.kext also in the EFI/CLOVER/kexts/10.10 directory and boot with injected kexts - the advantage is - you can edit the plist there directly with TextWrangler or other editors on the EFI partition (it is fat formatted - therefore no permission problem) - and if it's not working - you can delete it from there.

 

You are using Surface 3 with Surface Type Cover 3 - correct ? so in System Profiler (under USB) you get the following info ?

 

Surface Type Cover:

Product-ID: 0x07dc

Vendor-ID: 0x045e  (Microsoft Corporation)

 

 

gkarg

Link to comment
Share on other sites

i M8

 

Thanks again for your reply.

 

Tried everything...... But no luck..

 

Re-downloaded your kext, checked version, all is correct but no Touch cover.

Copied both of the kexts to the EFI partition under the relevant directory, booted and chose the option you gave me and still nothing.

 

I am using a Touch Cover 3 on SUrface pro 3 and the system profiler is returning this info:

 

Surface Type Cover:

 

  Product ID: 0x07dc

  Vendor ID: 0x045e  (Microsoft Corporation)

  Version: 2.07

  Serial Number: 014759243854

  Speed: Up to 12 Mb/sec

  Manufacturer: Microsoft

  Location ID: 0x14300000 / 21

  Current Available (mA): 500

  Current Required (mA): 100

  Built-In: Yes

 

I am so totally lost.... I may reformat everything and start from scratch but I have done this many times.... :-/

Link to comment
Share on other sites

Hi Ok - can you please install both kext's via Kext's Drop? Perhaps your kext's are not injected via Clover. Reformat won't help. Gkarg

Unfortunately the TypeCover3.kext does not work here either :-/ Tried Clover inject, and installed in system, ... Any change it still works for you due modified system HID driver? Otherwise, what else could it be? newer GenericUSBXHCI?

 

Update: Editing the IOUSBFamily works for me, so I guess there must be some subtile detail wrong in the codeless kext, ... to match properly / reliable.

Link to comment
Share on other sites

Hi again...

 

FINALLY... it is working.... and it is awesome....

 

I tried to install your kext and it did not work, afterwards I tried the corrected one I sent you and boom..... It worked ....!!!!!! 

 

Wow amazing.....

 

So since your kext did not work if you need any testing from my end to check why I'll be more than happy to assist...... 

 

Wow I still cannot believe it ... And the touchpad works great as well....!!!!

Link to comment
Share on other sites

Hi ppage & dadudo2000
Thanks for your feedback - great, that at least the direct modification works. It would be better, if the Touchpad would be dedected as a multitouch device - and not as a pointing device - but bettet than nothing. It is still strange, why the codeless kext is only working for me. if you have time, you could try to investigate this, to help others.

Which version of Clover do you use ? I'm using 3168
Which version of the GenericUSBXHCI.kext do you use ? I'm using 1.2.8d7

Which version of the IOUSBFamily.kext do you use ? I'm using 710.4.14
When The TypeCover3.kext was used - did you boot with or without a attached USB Keyboard / Mouse ? I'm booting without any attached usb device.

 

Could you please also try the following from the directory, where you downloaded the TypeCover3.kext and post me your console output. This will force the loading of the .kext and give some debug infos.

sudo cp -R TypeCover3.kext /tmp
sudo kextutil -v /tmp/TypeCover3.kext

Many thanks
Gkarg

Link to comment
Share on other sites

Hi M8

 

Thanks again

 

This is what I got from the debug:

 

Defaulting to kernel file '/System/Library/Kernels/kernel'

Diagnostics for /tmp/TypeCover3.kext:

Warnings: 

    Personality CFBundleIdentifier names a kext that doesn't declare an executable: 

        'Generic Keyboard' -> 'com.mykext.TypeCover3'

 

Code Signing Failure: not code signed

Warnings: 

    Personality CFBundleIdentifier names a kext that doesn't declare an executable: 

        'Generic Keyboard' -> 'com.mykext.TypeCover3'

 

/tmp/TypeCover3.kext appears to be loadable (not including linkage for on-disk libraries).

kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/tmp/TypeCover3.kext"

Loading /tmp/TypeCover3.kext.

/tmp/TypeCover3.kext successfully loaded (or already loaded).

 

Hope it helps....

Link to comment
Share on other sites

@eminarcissus

 

sorry for not answering promptly but I'll sold my Surface Pro 3 and had no time other than work.

 

the best thing to do is ask Mirone because he's the daddy of hackintosh sound, for a new pathmap based on my system info dump and fixed verbs available on my website:

http://vladichimescu.me/consultant/SurfacePro3/project/dump_surfacePro3/Surface_Pro_3/Surface_Pro_3-codec_0-Realtek_ALC288-verbit.txt

 

just use his resources [pathmap and layout] with my clover dsdt edit to make it update proof.

other than that, if he will not do it, fixing things shouldn't be hard as you have the fixed verbs - just read a applehda patching tutorial

if no one will do it, I'll check it up when I'm getting some free time [not in near future] I'll fix it

Link to comment
Share on other sites

@eminarcissus

 

sorry for not answering promptly but I'll sold my Surface Pro 3 and had no time other than work.

 

the best thing to do is ask Mirone because he's the daddy of hackintosh sound, for a new pathmap based on my system info dump and fixed verbs available on my website:

http://vladichimescu.me/consultant/SurfacePro3/project/dump_surfacePro3/Surface_Pro_3/Surface_Pro_3-codec_0-Realtek_ALC288-verbit.txt

 

just use his resources [pathmap and layout] with my clover dsdt edit to make it update proof.

other than that, if he will not do it, fixing things shouldn't be hard as you have the fixed verbs - just read a applehda patching tutorial

if no one will do it, I'll check it up when I'm getting some free time [not in near future] I'll fix it

 

Thanks a lot!

 

I check your applehda288.kext and just found the pathmap of mic is incorrect,I update it but the problem is still exist.(the native speaker of SP3 crashes after OS X start several minutes but the headphone always works )

Then I learn how to patch applehda and  start to  do that.

 

When I use your config data(six group include Modem Line at Ext &Line Out at Ext), nothing improved;

I download Mirone's AppleHDA for ALC288,just found his data is same as yours.

 

After several times failures, I decided to drop the data of  Modem Line at Ext &Line Out at Ext. I re-dump the codec just save 4 Groups Verbs. Now, the headphone and native speaker works well , Mic at Int works but Mic at Ext don't work(I never use it).

 

It seems that there are some small problems of HDA after sleep and wake, I think these are Apple's problem.

 

Attach my kext:AppleHDA288.kext.zip

(@eminarcissus)

Link to comment
Share on other sites

kext.zip

 

Here is my kext files, I prefer to install them into S\L\E dir.

 

config.plist.zipDSDT+SSDT(aml).zip

 

My clover config and patched DSDT&SSDT ,for those who just want to use Yosemite on surface pro 3.

 

I manage to use less clover configs and third-party's drivers or patched drivers.

 

 

DSDT+SSDT(DSL file).zip

Here is my DSDT and SSDT-5 (DSL file). I use Maciasl to patch them.But  it is not perfect and hope someone can help me.

There are some problems of battery, and I have no time to fix them.

 

BTW,if somebody is good at AppleHDA, please help me to fix the bug of my kext.

Link to comment
Share on other sites

attachicon.gifkext.zip

 

Here is my kext files, I prefer to install them into S\L\E dir.

 

attachicon.gifconfig.plist.zipattachicon.gifDSDT+SSDT(aml).zip

 

My clover config and patched DSDT&SSDT ,for those who just want to use Yosemite on surface pro 3.

 

I manage to use less clover configs and third-party's drivers or patched drivers.

 

 

attachicon.gifDSDT+SSDT(DSL file).zip

Here is my DSDT and SSDT-5 (DSL file). I use Maciasl to patch them.But  it is not perfect and hope someone can help me.

There are some problems of battery, and I have no time to fix them.

 

BTW,if somebody is good at AppleHDA, please help me to fix the bug of my kext.

 

It finally fix my audio! I tried to modifed from dump but can not continue at some point... Sorry that I couldn't help with DSDT neither...

I really appreciate your contribution, thanks a lot for the fantastic work ! :)

 

Just curious about which sp3 model you have, i5 or i7?

And is there any easy way to adjust the screen brightness?

Link to comment
Share on other sites

attachicon.gifkext.zip

 

Here is my kext files, I prefer to install them into S\L\E dir.

 

attachicon.gifconfig.plist.zipattachicon.gifDSDT+SSDT(aml).zip

 

My clover config and patched DSDT&SSDT ,for those who just want to use Yosemite on surface pro 3.

 

I manage to use less clover configs and third-party's drivers or patched drivers.

 

 

attachicon.gifDSDT+SSDT(DSL file).zip

Here is my DSDT and SSDT-5 (DSL file). I use Maciasl to patch them.But  it is not perfect and hope someone can help me.

There are some problems of battery, and I have no time to fix them.

 

BTW,if somebody is good at AppleHDA, please help me to fix the bug of my kext.

 

How to I use these files to update my surface so that the audio works? Do I use Clover Configurator? 

Link to comment
Share on other sites

How to I use these files to update my surface so that the audio works? Do I use Clover Configurator? 

 

Clover Configurator is not necessary!

Put these files into current position.

You may need kext wizard or other tools.

It finally fix my audio! I tried to modifed from dump but can not continue at some point... Sorry that I couldn't help with DSDT neither...

I really appreciate your contribution, thanks a lot for the fantastic work ! :)

 

Just curious about which sp3 model you have, i5 or i7?

And is there any easy way to adjust the screen brightness?

 

Does your audio works well? That's great!

But I think there are still some bugs to fix.

 

My sp3 model :i5 256GB.

 

I'm learning how to fix screen brightness . It always "forget" the level after reboot.

 

Now it' can be adjusted by FN+DEL/BACKSPACE,or you can set up it in system.

Link to comment
Share on other sites

How to I use these files to update my surface so that the audio works? Do I use Clover Configurator?

 

A new AppleHDA I patched ,if you don't want to use AppleHDA288.kext or use my DSDT/config.plist, you can try this one, I want your feedback. Thanks!

 

(Sorry for my poor English)

AppleHDA.kext.zip

 

 

3-29 update:

I change some values,it seems works better.

 

Correction To Get Sound After Waking From Sleep:

Read with attention the two guides below 

1 - EAPD-Codec-Commander, 

2 - EAPD/Jack Sense Fix.(I use itEAPDFix.kext.zip)

 

AppleHDA.kext.zip

 

How-to:

 

(1.remove AppleHDA288.kext if you have installed it)

2.Install into S/L/E(kext wizard or kext unity),fix permission.

3.use my clover config.plist and dsdt.(or add them to yours.)

	<key>Devices</key>
	<dict>
		<key>Audio</key>
		<dict>
			<key>AFGLowPowerState</key>
			<true/>
		</dict>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>HDA ALC2xx</string>
				<key>Find</key>
				<data>
				hAjsEA==
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				AAAAAA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>AD1984-ALC288</string>
				<key>Find</key>
				<data>
				hBnUEQ==
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				iALsEA==
				</data>
			</dict>
		</array>
	</dict> 
Link to comment
Share on other sites

Clover Configurator is not necessary!

Put these files into current position.

You may need kext wizard or other tools.

 

Does your audio works well? That's great!

But I think there are still some bugs to fix.

 

My sp3 model :i5 256GB.

 

I'm learning how to fix screen brightness . It always "forget" the level after reboot.

 

Now it' can be adjusted by FN+DEL/BACKSPACE,or you can set up it in system.

Thanks for the Function Key! It works well for adjusting the brightness :P

To save the level in NVRAM after reboot, you have to check "Install RC script" during Clover installation.

 

I fixed some syntax error for the DSDT and SSDT-2,3,4 DSDT+SSDT.zip based on your dsdt. However, SSDT-5 is really weird, even one fix it in .dsl, the compiled .aml is still wrong...

 

It's true that audio still has some bug, like after the sleep or logout, it wouldn't work any more.

Link to comment
Share on other sites

 Share

×
×
  • Create New...