Jump to content

MacOsX on the Surface Pro 3


LonelyTV
 Share

195 posts in this topic

Recommended Posts

VoodooHDA version 2.8.7 does not work for me. after installing it says No Voodoo HDA devices detected. 

 

Update; sound does work. Since I am booting with injected kext, installing the driver in mac os was not enough. I needed also to copy the VoodooHDA kext kext file into the kext folder from EFI 
 

 

Link to comment
Share on other sites

I find extremely unusual that the surface pro cover is detected by Yosemite system report but not functioning . Could be just that since we are loading the system with injected kexts the appropriate existent extension will not load? 

In which case what could be the existent extension responsible for enabling the type cover ? 

 

 

post-1477304-0-02630300-1423596789_thumb.jpg

Link to comment
Share on other sites

I find extremely unusual that the surface pro cover is detected by Yosemite system report but not functioning . Could be just that since we are loading the system with injected kexts the appropriate existent extension will not load? 

In which case what could be the existent extension responsible for enabling the type cover ? 

The type cover is not fully detected. If it was detected, the HID Manager would load HIDPointing and HIDKeyboard devices against the physical trackpad and keyboard. In contrast, the Dell Venue's tablet extension is detected and HID devices are attached but the trackpad still doesn't work - that would be an example of a device that is detected but not working.

 

I have a feeling that there is a USB 3.0 issue on the Surface causing the port to be switched off. Has anyone tried with the USB 3.0 controller switched off in the BIOS?

Link to comment
Share on other sites

i just did, enable all, disable all, enable doc port ... no changes 

 

forgot to mention; with the type cover off surface, the system report does not generate any info. Sooner it is connected , it will appear in the system report. 

 

I want to use my tablet on mac so bad ... type cover and wi fi is all I am missing. Our internal emails are set up to work on Mac only (outside VPN) ... I am even willing to pay some money to get this working :-) 

Link to comment
Share on other sites

i just did, enable all, disable all, enable doc port ... no changes 

 

forgot to mention; with the type cover off surface, the system report does not generate any info. Sooner it is connected , it will appear in the system report. 

 

I want to use my tablet on mac so bad ... type cover and wi fi is all I am missing. Our internal emails are set up to work on Mac only (outside VPN) ... I am even willing to pay some money to get this working :-) 

Unlikely that anyone will ever get the WiFi to work. Apple's internal wifi classes are private and no one has the source to them. It's the whole reason no one has really successfully ported WiFi drivers from Linux (iwidarwin was slightly successful but it took them a long time to get support working for cards that were already old tech). You're stuck to using USB Wifi on the surface unfortunately. 

 

For the type cover, I'm convinced that it's a USB 3.0 issue considering the Pro 3's type cover works on the Surface Pro 2.

 

For anyone running Mavericks on the Surface Pro 3, you could try this and forward the output to me (not possible on Yosemite as USB Logging has been discontinued, this looks promising but doesn't work for me: http://www.insanelymac.com/forum/topic/304381-iousbfamily-anv-built-for-yosemite/):

 

  • Get the USB Debug kit corresponding to your system version from the link on the right at https://developer.apple.com/hardwaredrivers/ (You will need a developer account)
  • Install the contents of the .dmg and restart your system
  • Navigate to ~/DevTools/Hardware and start USBProber.app
  • Go to the logging tab and click 'start', it should say it couldn't find KLog.kext, allow it to install it and restart again
  • Navigate back to ~/Devtools/Hardware and load USBProber.app again
  • Navigate to the logging tab again and disconnect the type cover
  • Start the logging, wait a couple of seconds and connect the type cover. Note the time you plug it in
  • Press a button on the keyboard (a normal one such as space) and again note the time you press it
  • Move the trackpad and again note the time you press it
  • Save the output and post it here along with the three times I mentioned above

Hopefully this will give us an idea on why it is not working.

 

I also want to know something else? Does the keyboard on the type cover work in Clover? Go to Clover Preferences and enable the mouse in the GUI, does the trackpad work in Clover as well? If yes, this is good news and it probably means that there is a USB 3 issue going on.

Link to comment
Share on other sites

 

I also want to know something else? Does the keyboard on the type cover work in Clover? Go to Clover Preferences and enable the mouse in the GUI, does the trackpad work in Clover as well? If yes, this is good news and it probably means that there is a USB 3 issue going on.

 

The Type cover and mouse is working in clover.  

Link to comment
Share on other sites

The Type cover and mouse is working in clover.  

That's great, I have the same issue on the Dell. It means that the generic HID mouse and keyboard drivers should work and we don't need any special drivers. It's more than likely an issue with USB 3.0. I will need the output of USB Prober on 10.9 to figure out what the issue is though.

Link to comment
Share on other sites

 

For anyone running Mavericks on the Surface Pro 3, you could try this and forward the output to me (not possible on Yosemite as USB Logging has been discontinued, this looks promising but doesn't work for me: http://www.insanelymac.com/forum/topic/304381-iousbfamily-anv-built-for-yosemite/):

 

Hi Alex

Since I have Yosemite - i tried your linked project and was able to build it.

I had to do the following to get it to work:

 

1. put the following code everywhere, where the errors occurred for not declared functions:

#define AbsoluteTime_to_scalar(x) (*(uint64_t *)(x))

#define SUB_ABSOLUTETIME(t1, t2) (AbsoluteTime_to_scalar(t1) -= AbsoluteTime_to_scalar(t2))

2. remove two Header includes, which where not found 

3. remove the code signing error, by opening the project package content project.pbxproj with a Text Editor and remove all lines containing "Andy"

 

So what can i now do with the build objects to help getting the type cover working ?

 

I have now all .kext - also KLog.kext and also was able to build USBProber - do I really need to install all build kext (AppleUSB* and IOUSB*) or only KLog.kext ?

 

Thanks

gkarg

Link to comment
Share on other sites

Hi Alex

Since I have Yosemite - i tried your linked project and was able to build it.

I had to do the following to get it to work:

 

1. put the following code everywhere, where the errors occurred for not declared functions:

#define AbsoluteTime_to_scalar(x) (*(uint64_t *)(x))

#define SUB_ABSOLUTETIME(t1, t2) (AbsoluteTime_to_scalar(t1) -= AbsoluteTime_to_scalar(t2))

2. remove two Header includes, which where not found 

3. remove the code signing error, by opening the project package content project.pbxproj with a Text Editor and remove all lines containing "Andy"

 

So what can i now do with the build objects to help getting the type cover working ?

 

I have now all .kext - also KLog.kext and also was able to build USBProber - do I really need to install all build kext (AppleUSB* and IOUSB*) or only KLog.kext ?

 

Thanks

gkarg

There is already a built kext inside Build/Deployment. You need to use IOUSBFamily.kext and the USBProber.app from there. Thing is that the logging doesn't work on it.

Link to comment
Share on other sites

Hello Alex,

After deploying the delivered IOUSBFamily.kext via Kext drop, my macmini 10.10.2 was not able to start anymore - boot exception with this kext. I had to boot in recovery mode to copy back the original one, to be able to boot again.

So I cannot recommened it.

gkarg

Link to comment
Share on other sites

Hello Alex,

After deploying the delivered IOUSBFamily.kext via Kext drop, my macmini 10.10.2 was not able to start anymore - boot exception with this kext. I had to boot in recovery mode to copy back the original one, to be able to boot again.

So I cannot recommened it.

gkarg

I'm not sure why you'd install the kext on a real Mac. The kext works on a hackintosh with some problems but it shouldn't be installed on a proper Mac.

Link to comment
Share on other sites

I'm not sure why you'd install the kext on a real Mac. The kext works on a hackintosh with some problems but it shouldn't be installed on a proper Mac.

 

Ok, just wanted to test USBProbe - didn't know, that it will Crash the whole system.

Thanks 

Gkarg

Link to comment
Share on other sites

or you could send me the kext file and I could test it on my hackintosh surface pro 3 ? 

 

I am volunteering my surface for any kinds of testing to get this working. Getting the type cover working is probably the biggest milestone obtaining the much needed portability. Wifi is not a big of an issue since a USB wifi stick could do it. 

Link to comment
Share on other sites

As mentioned before, it will only work for someone running Mavericks (or older)

Hi Alex

I needed some time to install Mavericks just for the tests.

Attached at this Link https://www.dropbox.com/l/JIS1uPqO0fdavaDXNLXiUr are the logs with log level 3 & 6

 

I created a seperate log for each test case / log level.

 

Connect TypeCover

Disconnect TypeCover

Space pressed

Trackpad moved

 

Hope this helps

 

Gkarg

Link to comment
Share on other sites

Gkarg, thanks for taking time in getting the logs generated. Hopefully Alex is able to get something meaningful out of it.

Does anyone know if we boot from microsd on sp3?

Hi wen1

Yes, it would be great, if we could get the Type Cover working.

For the microSD card - yes, you can boot from it, just press power + volume down, when the Surface Pro 3 is powered off. I know it, because i always used a microsd card to install os x.

 

Gkarg

Link to comment
Share on other sites

Hi Alex

I needed some time to install Mavericks just for the tests.

Attached at this Link https://www.dropbox.com/l/JIS1uPqO0fdavaDXNLXiUr are the logs with log level 3 & 6

 

I created a seperate log for each test case / log level.

 

Connect TypeCover

Disconnect TypeCover

Space pressed

Trackpad moved

 

Hope this helps

 

Gkarg

Thanks for uploading the logs. I don't really see anything out of the ordinary but this is the first time I've been able to glimpse at USB Prober output (I only have Yosemite installations). Can you upload some logs of pressing keys on a USB keyboard/ moving a USB mouse so I can compare to a working device?

Link to comment
Share on other sites

Hi Alex

I already had the idea to provide you also with additional logs, from my working USB keyboard / mouse. But the problem was, that only at Log Level 7 i got logs from my working equipment - and at this loglevel i get constant output from all usb devices without doing anything. So it will be hard to find the correct logs in the output. But i will try my best and collect the logs - expect them to be attached in about 1 hour.

Gkarg

 

Edited: Attached are the Logs from

1. Log: TypeCover at Log Level 7 - i pressed the space key about 20 times in a row - have done nothing else

2. Log: External Apple USB Keyboard with integrated Hub at Log Level 7 - i pressed the space key about 20 times in a row - have done nothing else

 

Edited: Updated the Attachment and attached also the other Infos like IO Registry, USB Bus Probe, USB Port Status - also recreated the two Logs SpacePressed for Typecover & External Apple USB Keyboard - to be sure, that they match these files (removed all non needed USB devices for the test - like Bluetooth / WLAN dongle)

 

as you can see in the IO Registry - the TypeCover is attached to the USB 2.0 Simulation hub:

 

Root <class IORegistryEntry>

128: XHCI Root Hub SS Simulation@14 <class IOUSBRootHubDevice>

3: USB3.0 Card Reader@15400000 <class IOUSBDevice>

129: XHCI Root Hub USB 2.0 Simulation@14 <class IOUSBRootHubDevice>

1: Microsoft LifeCam Front@14700000 <class IOUSBDevice>

2: Microsoft LifeCam Rear@14800000 <class IOUSBDevice>

4: Keyboard Hub@14100000 <class IOUSBHubDevice> -> my Apple USB keyboard integrated USB 2.0 Hub

6: Apple Keyboard@14120000 <class IOUSBDevice> -> my Apple USB keyboard itself

11: Mad Catz R.A.T.7 Mouse@14130000 <class IOUSBDevice> -> my USB mouse

18: Surface Type Cover@14300000 <class IOUSBDevice>

 

Edited: As an additional Info - I also tested the behaviour of the Type Cover 3 keyboard lightning while typing.

With activated keyboard lightning: after the first key press the keyboard light switches off after 1 second and activates automatically again after the switch off - about 1/4 second delay. No difference, if i hit the key 1 or 3 times - the keyboard light switches always after 1 second off. Perhaps this helps with the debug log analysis.

SpacePressed_L7.zip

Link to comment
Share on other sites

Hi Alex

I already had the idea to provide you also with additional logs, from my working USB keyboard / mouse. But the problem was, that only at Log Level 7 i got logs from my working equipment - and at this loglevel i get constant output from all usb devices without doing anything. So it will be hard to find the correct logs in the output. But i will try my best and collect the logs - expect them to be attached in about 1 hour.

Gkarg

 

Edited: Attached are the Logs from

1. Log: TypeCover at Log Level 7 - i pressed the space key about 20 times in a row - have done nothing else

2. Log: External Apple USB Keyboard with integrated Hub at Log Level 7 - i pressed the space key about 20 times in a row - have done nothing else

 

Edited: Updated the Attachment and attached also the other Infos like IO Registry, USB Bus Probe, USB Port Status - also recreated the two Logs SpacePressed for Typecover & External Apple USB Keyboard - to be sure, that they match these files (removed all non needed USB devices for the test - like Bluetooth / WLAN dongle)

 

as you can see in the IO Registry - the TypeCover is attached to the USB 2.0 Simulation hub:

 

Root <class IORegistryEntry>

128: XHCI Root Hub SS Simulation@14 <class IOUSBRootHubDevice>

3: USB3.0 Card Reader@15400000 <class IOUSBDevice>

129: XHCI Root Hub USB 2.0 Simulation@14 <class IOUSBRootHubDevice>

1: Microsoft LifeCam Front@14700000 <class IOUSBDevice>

2: Microsoft LifeCam Rear@14800000 <class IOUSBDevice>

4: Keyboard Hub@14100000 <class IOUSBHubDevice> -> my Apple USB keyboard integrated USB 2.0 Hub

6: Apple Keyboard@14120000 <class IOUSBDevice> -> my Apple USB keyboard itself

11: Mad Catz R.A.T.7 Mouse@14130000 <class IOUSBDevice> -> my USB mouse

18: Surface Type Cover@14300000 <class IOUSBDevice>

 

Edited: As an additional Info - I also tested the behaviour of the Type Cover 3 keyboard lightning while typing.

With activated keyboard lightning: after the first key press the keyboard light switches off after 1 second and activates automatically again after the switch off - about 1/4 second delay. No difference, if i hit the key 1 or 3 times - the keyboard light switches always after 1 second off. Perhaps this helps with the debug log analysis.

 

I've looked through all the logs and compared but I really can't see anything that would seem wrong. I'm afraid I've probably hit my barrier in terms of knowledge about the OS X kernel with regards to this issue. We might have to ask someone who is more knowledgable about the USB spec and IOUSBFamily in general.

 

i hate extraordinary much the fact that still after so much time there isn't a hack for the type cover!   :(

 

by contrary on Linux Ubuntu everything seems so easy to configure... 

 

was just reading this thread 

 

http://winaero.com/blog/how-to-install-linux-on-surface-pro-3

 

how much of it can we translate into Mac Os ?

None of it. Clover bootloader detects the keyboard and trackpad on the touch cover which means that a generic HID driver (as is implemented in all OSs) will drive it. We have reason to suspect that it is a USB 3.0 issue as the Surface Pro 3's Touch cover works fine on the Surface Pro 2 (which doesn't seem to have USB 3.0 ports where the touch cover connects).

Link to comment
Share on other sites

 Share

×
×
  • Create New...