tranceceiver Posted February 21, 2015 Share Posted February 21, 2015 Update after adding a IOGEAR USB bluetooth and an ultra usb mini stick , i was able to get it working and connected on the internet. However I have done the mistake to upgrade to Yosemite 10.10.2 beta and this had actually screwed up the entire system. It clearly screwed up the graphic driver removing all accelerators and it became hellish slow . So i ended up reinstalling Yosemite 10.10.1 again! For the USB dongle I was using the universal RALINK panel + kext .... working wonderfully but the bluetooth seems a bit weird . It doesn't seem to be working properly. While it says the Bluetooth Pan os not connected, it seems however is capable of scanning devices and pair them for a few couples of seconds. I am wondering id there is any good kext driver for IOGEAR out-there? overall i have gotten the mobility desired , my only purchase will be the Microsoft bluetooth type cover adaptor making use of type cover Link to comment Share on other sites More sharing options...
alex.daoud Posted February 21, 2015 Share Posted February 21, 2015 You could have used FakePCIID on 10.10.2 for graphics. Link to comment Share on other sites More sharing options...
Macs' Posted February 22, 2015 Share Posted February 22, 2015 I am using the Kensington 4 Mini USB and it is rock solid as well as showing up in the top bar. Got it from Amazon for $16.97 Link to comment Share on other sites More sharing options...
tranceceiver Posted February 22, 2015 Share Posted February 22, 2015 You could have used FakePCIID on 10.10.2 for graphics. thanks for the tip! Link to comment Share on other sites More sharing options...
gkarg Posted February 22, 2015 Share Posted February 22, 2015 Higreat news - got the Type Cover 3 working on the Surface Pro 3 (both keyboard / trackpad):it took me time to read to all the docs and postings - since I'm a newbie to this (hackintosh and usb drivers) - but now it works.First - what was the problem ? The Type Cover Keyboard has standard value for bInterfaceClass = 3, but non standard values for bInterfaceSubClass = 0 and bInterfaceProtocol = 3 - therefore the IOUSBHIDDriver never matched (expects bInterfaceClass = 3, bInterfaceSubClass = 1. bInterfaceProtocol = 1)So how to fix that:first make a backup of /System/Library/Extensions/IOUSBFamily.kext so you can copy it back if neededthen open terminalin terminal type:"cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBHIDDriver.kext/Contents/"in terminal type:"sudo vi Info.plist"then duplicate the <key>Generic Keyboard</key> section and replace the integer values of bInterfaceProtocol with 0 and bInterfaceSubClass with 3 - so that it looks like the following section (the section in bold is the copy / pasted and modified section):<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>in terminal type:"sudo diskutil repairpermissions /" and let it finish.in terminal type:"sudo touch /System/Library/Extensions" and waited while it finished reindexing the extensions.now reboot and the keyboard and trackpad are working ;-)So good luck !The best way to apply this permanently is to build a codeless kext. Anybody with Xcode and a developer account is welcome to create it ! EDIT: i have now created the coddles kext - just take a look only posting on the next pagegkarg 1 Link to comment Share on other sites More sharing options...
alex.daoud Posted February 22, 2015 Share Posted February 22, 2015 Great work! Seems strange to me that that was the solution considering if you plugged it into the Surface Pro 2, it worked. Edit: Can you provide a copy of the IOReg with working type cover please? Link to comment Share on other sites More sharing options...
gkarg Posted February 22, 2015 Share Posted February 22, 2015 Can you provide a copy of the IOReg with working type cover please? Hi Alex yes - here it is. Gkarg SurfacePro3_with_working_TypeCover3.zip Link to comment Share on other sites More sharing options...
wen1 Posted February 22, 2015 Share Posted February 22, 2015 Hi great news - got the Type Cover 3 working on the Surface Pro 3 (both keyboard / trackpad): it took me time to read to all the docs and postings - since I'm a newbie to this (hackintosh and usb drivers) - but now it works. First - what was the problem ? The Type Cover Keyboard has standard value for bInterfaceClass = 3, but non standard values for bInterfaceSubClass = 0 and bInterfaceProtocol = 3 - therefore the IOUSBHIDDriver never matched (expects bInterfaceClass = 3, bInterfaceSubClass = 1. bInterfaceProtocol = 1) So how to fix that: first make a backup of /System/Library/Extensions/IOUSBFamily.kext so you can copy it back if needed then open terminal in terminal type: "cd /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBHIDDriver.kext/Contents/" in terminal type: "sudo vi Info.plist" then duplicate the <key>Generic Keyboard</key> section and replace the integer values of bInterfaceProtocol with 0 and bInterfaceSubClass with 3 - so that it looks like the following section (the section in bold is the copy / pasted and modified section): <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> in terminal type: "sudo diskutil repairpermissions /" and let it finish. in terminal type: "sudo touch /System/Library/Extensions" and waited while it finished reindexing the extensions. now reboot and the keyboard and trackpad are working ;-) So good luck ! The best way to apply this permanently is to build a codeless kext. Anybody with Xcode and a developer account is welcome to create it ! gkarg Thats great news gkarg. Trying it now on my SP3 Thanks Edit: works like a charm. Thanks Link to comment Share on other sites More sharing options...
Macs' Posted February 23, 2015 Share Posted February 23, 2015 works great here too, thanks. Now its just a matter of the touchscreen and we are good. Link to comment Share on other sites More sharing options...
tranceceiver Posted February 23, 2015 Share Posted February 23, 2015 Extraordinary work ... Well done gkark ! on aside, for those like me with less programming skills I wasn't able to edit the IOUSBFamily.kext in the Terminal and VIM. Instead of editing the plist i was using textmate editor. http://macromates.com After installing the textmate editor in to the application folder , right mouse click on to the IOUSBFamily.kext , click on to "show package contents" go to folder PlugIns then again right mouse click on to IOUSBHIDDriver.kext "show package contents" and open the info.plist with textmate editor. Duplicating the lines and changing the values as suggested by gkarg is a piece of cake using textmate . Someone should upload the IOUSBFamily.kext on this forums data base. Link to comment Share on other sites More sharing options...
gkarg Posted February 23, 2015 Share Posted February 23, 2015 Someone should upload the IOUSBFamily.kext on this forums data base. Hi tranceiver Someone needs to create a codeless ketx just as an driver for the TypeCover3. This kext will only contain the plist to match the TypeCover3 (vendor/modell) and override the IOUSBFamily.kext, but will not contain any code. The benefit is, that the IOUSBFamily.kext stays, like it is - so a update won't breake it. I didn't have any time more, to begin with that, after spending much time on finding the problem / solution. But I can look also in this, if nobody else provides this kext. Gkarg Link to comment Share on other sites More sharing options...
alex.daoud Posted February 23, 2015 Share Posted February 23, 2015 I'm not sure if that's possible. It might be if you use AnV's Yosemite IOUSBFamily source. It certainly won't be a codeless kext at the very least. Link to comment Share on other sites More sharing options...
gkarg Posted February 23, 2015 Share Posted February 23, 2015 I'm not sure if that's possible. It might be if you use AnV's Yosemite IOUSBFamily source. It certainly won't be a codeless kext at the very least. Hi Alex yes - that would surely work. Gkarg Link to comment Share on other sites More sharing options...
gkarg Posted February 23, 2015 Share Posted February 23, 2015 Hinow the next big step for a working Type Cover 3 on the Surface 3. A working TypeCover 3 kext !I have created the codeless kext (if you don't want to modify the IOUSBFamily.kext) for the TypeCover3 kext, which is attached to this post. Now it is also using the vendor / model id for correct matching.The kext contains only a Info.plist for matching the device - nothing more - no binaries. <?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>CFBundleGetInfoString</key> <string>2.2.0, Type Cover 3 Driver for Surface Pro 3.</string> <key>CFBundleIdentifier</key> <string>com.mykext.TypeCover3</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>I/O Kit Driver for Type Cover 3 USB HID Devices</string> <key>CFBundlePackageType</key> <string>KEXT</string> <key>CFBundleShortVersionString</key> <string>2.2.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>2.2.0</string> <key>NSHumanReadableCopyright</key> <string>Copyright © 2015 gkarg. All rights reserved.</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>0</integer> <key>bInterfaceSubClass</key> <integer>3</integer> <key>ProductID</key> <integer>2012</integer> <key>VendorID</key> <integer>1118</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> So you can install it with Kext Drop or your preferred tool.You have to enable "kext-dev-mode=1" in the Clover Boot Options to enable the loading of unsigned kext in general - if you like to use it - since I don't have a Apple Developer account to sign it - (if you have one - just create a Xcode project for a driver an delete everything in it - and overwrite it with the posted Info.plist)Or stick with the solution posted before by editing the IOUSBFamily.kext (which kann be overwritten by an update and needs to be edited again in this case). gkarg TypeCover3.kext.zip 1 Link to comment Share on other sites More sharing options...
tranceceiver Posted February 25, 2015 Share Posted February 25, 2015 I am wondering what other tweaks have you guys done or found working on surface pro 3 with Yosemite so far i got; - out of the box video driver with accelerator. Capable to play HDD videos, good refresh and high resolution. - Voodoo sound. Not great quality but acceptable. Everything works. - Type cover with mouse pad. Fully working. - Battery plugin. Working well , showing fully the charge and time left. - wireless with mini stick using Radmin software. Perfect working. anything else? I am still booting with injected kexts using clover boot which is a bit annoying but super fast. Yosemite is working incredible faster with no lags and identicaly to my 2011 late imac. Link to comment Share on other sites More sharing options...
Felas Posted February 25, 2015 Share Posted February 25, 2015 Hi all. I was just scrolling through this thread as I am planning to setup OS X on my sp 3 (i5/128gb) as well this evening. I'm not an expert here but if I got it right, the problem with WiFi/BT is that no one knows the interface (or there is no interface) between WiFi driver/kext and the operating system. However, USB WiFi sticks are working perfectly fine. Can't we just somehow tell OS X that the internal WiFi device is something like an external USB WiFi stick? Sorry if this is a stupid suggestion but I have never done anything closer to hardware than .net and java. If I can help somehow just let me know . Edit: Did anybody experience a blue screen with small text on it instead of clover? Link to comment Share on other sites More sharing options...
LonelyTV Posted February 26, 2015 Author Share Posted February 26, 2015 I've created a new guide on how to install Yosemite on the Surface Pro 3. If anyone has issues with installs and such direct questions there so we can get it all on one place and help other users. http://www.insanelymac.com/forum/topic/304796-guide-1010-on-the-surface-pro-3/ Hi all. I was just scrolling through this thread as I am planning to setup OS X on my sp 3 (i5/128gb) as well this evening. I'm not an expert here but if I got it right, the problem with WiFi/BT is that no one knows the interface (or there is no interface) between WiFi driver/kext and the operating system. However, USB WiFi sticks are working perfectly fine. Can't we just somehow tell OS X that the internal WiFi device is something like an external USB WiFi stick? Sorry if this is a stupid suggestion but I have never done anything closer to hardware than .net and java. If I can help somehow just let me know . Edit: Did anybody experience a blue screen with small text on it instead of clover? Sadly it's the lack of drivers that is holding back WiFi and Bluetooth from working. And, if I recall correctly it's not easy to write them to get it to work. So for now the hardware is deemed "incompatible" until someone figures it out. and what kind of Blue Screen? Did it ask you for a drive key? if so you might need to turn off Bitlocker on your Windows drive. Link to comment Share on other sites More sharing options...
tranceceiver Posted February 26, 2015 Share Posted February 26, 2015 the folks from Marvell should totally consider writing drivers for all the platforms if they expect to have over 500 million devices using their chip set by the end of 2017 as advertised....they have opened now the market to linux users. Link to comment Share on other sites More sharing options...
alex.daoud Posted February 26, 2015 Share Posted February 26, 2015 the folks from Marvell should totally consider writing drivers for all the platforms if they expect to have over 500 million devices using their chip set by the end of 2017 as advertised....they have opened now the market to linux users. Why would they bother writing drivers for this chip if Apple doesn't use it any of their devices? Are you willing to cough up quite a bit of money to fund Marvell's engineering team to write drivers for a platform that requires no official support? I don't see why they should be obliged to write drivers for us. We know the risks of what will and won't work when we install OS X on unsupported devices. It's quite frankly a miracle that OS X even runs on non-Apple hardware without much tinkering in the system. There is a lot that Apple could do to prevent us or at the very least make it harder so I think we should count ourselves lucky. As mentioned before, someone has to be up to the task to porting the drivers from Linux to OS X. Making proper Airport drivers will be very difficult because of the closed source nature of IO802.11 (or whatever the class is called). Ethernet drivers are more open source from what I understand so if anyone is going to port the drivers, it will have to behave a lot like the ralink USB ones. Link to comment Share on other sites More sharing options...
tranceceiver Posted February 26, 2015 Share Posted February 26, 2015 according to the readings I've done online , it seems apple has already used Marvell chipset in their first gen. Iphones. They are injecting very cheap products on the market with a highest quality price comparing. I was readong on wiki here; http://en.wikipedia.org/wiki/Marvell_Technology_Group We know apple loves to create affordable devices packed with best technology, so I will assume they might explore again buying chipsets from Marvell? Link to comment Share on other sites More sharing options...
ccarrieta Posted February 26, 2015 Share Posted February 26, 2015 will this work with any surface pro 3 variant (i3/i5/i7) Link to comment Share on other sites More sharing options...
LonelyTV Posted February 26, 2015 Author Share Posted February 26, 2015 will this work with any surface pro 3 variant (i3/i5/i7) Yes, it will. Link to comment Share on other sites More sharing options...
ccarrieta Posted February 28, 2015 Share Posted February 28, 2015 hey guys need some help... I was able to install yosemite and I have the type cover working however I am not able to boot without the USB. When I install clover on the OSX partition i don't get an EFI partition, the only EFI partition I can find is the SYSTEM partition from windows 8. Link to comment Share on other sites More sharing options...
gkarg Posted February 28, 2015 Share Posted February 28, 2015 hey guys need some help... I was able to install yosemite and I have the type cover working however I am not able to boot without the USB. When I install clover on the OSX partition i don't get an EFI partition, the only EFI partition I can find is the SYSTEM partition from windows 8.Hidid you try: Open Clover Configurator to mount the EFI partition ( Extra > Mount EFI ) or you can manually mount the EFI partion with "sudo mount -t msdos /dev/disk0s2 /mnt/boot" - where disk0s2 should be replaced by your EFI partition disk number and /mnt/boot needs to be replaced by the mount path you like to use - don't forget to create this with - for my example - "sudo mkdir /mnt/boot"). If you don't know your EFI partition disk number, just execute "diskutil list" - it is the one named "EFI SYSTEM" the you need to cd to your mounted EFI path (for my example "cd /mnt/boot") and execute the following tasks with sudo sudo mv EFI/Microsoft/Boot/bootmgfw.efi EFI/Microsoft/Boot/bootmgfw-orig.efi sudo cp EFI/CLOVER/Cloverx64.efi EFI/Microsoft/Boot/bootmgfw.efi or just follow a good guide like: http://www.insanelymac.com/forum/topic/287737-how-toclover-on-efi-partitionadd-to-bios/ gkarg Link to comment Share on other sites More sharing options...
ccarrieta Posted March 1, 2015 Share Posted March 1, 2015 does it matter that I did not do a complete wipe of the windows drive ? I just partitioned the C: drive to C and D and installed OS X on D without touching the windows stuff... Link to comment Share on other sites More sharing options...
Recommended Posts