OpenCore-Legacy-Patcher icon indicating copy to clipboard operation
OpenCore-Legacy-Patcher copied to clipboard

Universal Control: Advanced option available after patch but linked device not available

Open x43x61x69 opened this issue 2 years ago • 30 comments

Machine Model

Other/Non-Applicable

Application Version

Latest Release

Application Variant

TUI (Text User Interface)

Have you verified whether this issue has been opened before? If no, your issue will be closed

true

Have you verified whether this issue is covered in our guide? ie. Troubleshooting and Legacy Acceleration pages

true

Have you already verified this is a patcher bug and not a macOS bug on our discord servers?

true

Is this issue with a 3rd party application?

false

What versions of macOS are you seeing the problem on?

macOS 12, Monterey

Where does this issue happen?

Within macOS (After Logging in)

What is the Issue?

  • OCLP 0.4.2 description said it should unlock Universal Control on Monterey native Macs.
  • I installed OCLP on MacBookAir7,2, which did enabled the "Advanced" option in Display.
  • However, there's no "linked" devices listed on the MacBook Air nor on the M1 Max MacBook Pro nearby. Mirrored display (via AirPlay works, tho).

What steps have you taken to troubleshoot this?

No response

x43x61x69 avatar Feb 07 '22 06:02 x43x61x69

AFAIK you need 12.3beta to use UC.

Ausdauersportler avatar Feb 07 '22 07:02 Ausdauersportler

AFAIK you need 12.3beta to use UC.

Both device were on 12.3 beta. I did test UC with the same M1 Max MacBook Pro with another Mac Pro and an iPad and it worked.

x43x61x69 avatar Feb 07 '22 07:02 x43x61x69

I have the same issue with MacBookAir7,1 12.3 beta, 0.4.2

Z1mDMan avatar Feb 07 '22 14:02 Z1mDMan

Have you verified this with iPadOS devices? Even on non-blacklisted models, no models appear for myself . Looking online, others have reported great success between iPad and Mac, but Mac to Mac seems hit or miss for others as well

khronokernel avatar Feb 07 '22 17:02 khronokernel

I have luck with MacBookAir5,1 Mac Mini 6,1 iPad Pro 2018 11” model. I have also been able to use M1 MacBookAir with all these. Only one I’m having issues with (besides an old white MacBook 5,2 and not expecting that one to work) is the MacBookAir 7,1 All the ones that work, work between all the others. I can use trackpad/mouse/keyboard on any of them to move between the others.

Z1mDMan avatar Feb 07 '22 23:02 Z1mDMan

Same issue with a MacBookPro11,4 and an iPad11,3 (iPad Air 3rd gen). Both on the latest betas (macOS 12.3 & iPadOS 15.4) with OCLP 0.4.2 installed.

loongchh avatar Feb 08 '22 04:02 loongchh

Same issue here. OCLP 0.4.2 installed to MacBookPro12,1 (13 inch MacBook Pro 2015), but does not link to neither iPad Pro 11 inch 2nd gen nor MacBookPro16,1 (16 inch MacBook Pro 2019). All system runs macOS 12.3 beta and iPadOS 15.4 beta.

410-dev avatar Feb 09 '22 08:02 410-dev

I first raised this in discord … hopefully it’s being looked at…..

Still not working on beta 2 with latest nightly build of OCLP on 12,1 MBP.

Sent from my iPhone

On 9 Feb 2022, at 08:04, 410 @.***> wrote:

 Same issue here. OCLP 0.4.2 installed to MacBookPro12,1, but does not link to neither iPad Pro 11 inch 2nd gen nor 16 inch MacBook Pro 2019. All system runs macOS 12.3 beta and iPadOS 15.4 beta.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

steverae68 avatar Feb 09 '22 09:02 steverae68

FWIW this is working for me between a MacBookPro11,3 (Haswell) and an iPad Pro 5th generation.

steverice avatar Feb 09 '22 10:02 steverice

It also works perfectly for me on my iMac 13,1. The issue seems to be with devices that are officially supported in Monterey so not fully supported by OCLP.

Some examples are MBP 12,1 - MBA 7,2.

Any device that is not officially supported in Monterey out of the box and is patched with OCLP seems to work without issue.

The current list of devices which are supported natively in Monterey but blocked for UC are below.

// iMac16,1 iMac16,2 // iPad5,1 iPad5,2 iPad5,3 iPad5,4 iPad6,11 iPad6,12 // MacBookAir7,1 MacBookAir7,2 // MacBookPro11,4 MacBookPro11,5 MacBookPro12,1.

Sent from my iPhone

On 9 Feb 2022, at 10:28, Steve Rice @.***> wrote:

 FWIW this is working for me between a MacBookPro11,3 (Haswell) and an iPad Pro 5th generation.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

steverae68 avatar Feb 09 '22 12:02 steverae68

Verify this build:

  • https://github.com/dortania/OpenCore-Legacy-Patcher/suites/5237436189/artifacts/160998712

Note you will need to be signed into Github to download, otherwise 404

khronokernel avatar Feb 09 '22 16:02 khronokernel

Just tested this build on my MBP 12,1

No luck I’m afraid

Get the tick boxes but no option for keyboard and mouse - only mirror or extend :(

This is tested with both iMac 13,1 and M1 iPad Pro

On 9 Feb 2022, at 08:22, Mykola Grymalyuk @.***> wrote:

Verify this build:

https://github.com/dortania/OpenCore-Legacy-Patcher/suites/5237436189/artifacts/160998712 https://github.com/dortania/OpenCore-Legacy-Patcher/suites/5237436189/artifacts/160998712 Note you will need to be signed into Github to download, otherwise 404

— Reply to this email directly, view it on GitHub https://github.com/dortania/OpenCore-Legacy-Patcher/issues/948#issuecomment-1033942976, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEHO3PP5J5VR7MBP4HHI3HDU2KIEPANCNFSM5NWSG23A. You are receiving this because you are subscribed to this thread.

steverae68 avatar Feb 09 '22 18:02 steverae68

Quite a shame, I can't use Universal Control at all even on my MacBookPro18,3 and an iPad6,7 so debugging is extra difficult. Hopefully Beta 2 will resolve that.

I suppose you can monitor console to figure out why it's having troubles. Perhaps it'll give some insight as to who's throwing a tantrum. Additionally you can see if it's patching the binary correctly:

  • Grab Hex Fiend
  • Open /System/Library/CoreServices/UniversalControl.app/Contents/MacOS/UniversalControl and see if NacBoookPro is there
    • Note there's 2 slices in the binary, first reference of the models will be the Intel slice and what gets loaded into cs_validate_page

Note that UniversalControl.app is only launched when signed into iCloud, and we do our patching in memory on launch: Screen Shot 2022-02-09 at 11 49 14 AM

khronokernel avatar Feb 09 '22 18:02 khronokernel

I’m running latest beta 2… no luck :(

Sent from my iPhone

On 9 Feb 2022, at 18:50, Mykola Grymalyuk @.***> wrote:

 Quite a shame, I can't use Universal Control at all even on my MacBookPro18,3 and an iPad6,7 so debugging is extra difficult. Hopefully Beta 2 will resolve that.

I suppose you can monitor console to figure out why it's having troubles. Perhaps it'll give some insight as to who's throwing a tantrum. Additionally you can see if it's patching the binary correctly:

Grab Hex Fiend Open /System/Library/CoreServices/UniversalControl.app/Contents/MacOS/UniversalControl and see if NacBoookPro is there Note there's 2 slices in the binary, first reference of the models will be the Intel slice and what gets loaded into cs_validate_page Note that UniversalControl.app is only launched when signed into iCloud, and we do our patching in memory on launch:

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

steverae68 avatar Feb 09 '22 21:02 steverae68

Quite a shame, I can't use Universal Control at all even on my MacBookPro18,3 and an iPad6,7 so debugging is extra difficult. Hopefully Beta 2 will resolve that.

I suppose you can monitor console to figure out why it's having troubles. Perhaps it'll give some insight as to who's throwing a tantrum. Additionally you can see if it's patching the binary correctly:

  • Grab Hex Fiend

  • Open /System/Library/CoreServices/UniversalControl.app/Contents/MacOS/UniversalControl and see if NacBoookPro is there

    • Note there's 2 slices in the binary, first reference of the models will be the Intel slice and what gets loaded into cs_validate_page

Note that UniversalControl.app is only launched when signed into iCloud, and we do our patching in memory on launch: !

Hi, thanks for helping. Re: 2, I did see the NacBooks when inspecting the binary (on MacBookPro11,4).

Screen Shot 2022-02-10 at 7 54 05

loongchh avatar Feb 09 '22 22:02 loongchh

I wonder if its possible to change the reference to MacBookPro12,1 in this file to something else to make the OS not block it.... ? although I believe this is what the patcher does ... obviously there must be other constraints that cause this not to work ...

steverae68 avatar Feb 09 '22 23:02 steverae68

As a "alternative" solution, you can spoof a different Mac:

  • Level: Moderate
  • Model: Macmin8,1 (or any other model that's not blacklisted)
  • Allow Native Spoofs: True

Only warning is that iCloud will require you to resign in as it will think you have a different Mac (even though serials remain untouched).

I would only recommend this if you must have Universal Control. You have a native model, generally best to play to its strengths while Apple keeps them alive


Screen Shot 2022-02-09 at 5 03 43 PM

khronokernel avatar Feb 10 '22 00:02 khronokernel

This method works very well after two restarts.

I used this method on my MacBookPro12,1 to link with MacBookPro16,1.

I used OC SMBIOS Setting to set the model to MacBookPro16,1.

After setting, building, and installing it, I restarted my device. I logged in again and synced with Apple ID, but the linking option does not appear. I restarted my device again, and it fully works.

Thank you for the alternative solution!

410-dev avatar Feb 10 '22 08:02 410-dev

As a "alternative" solution, you can spoof a different Mac:

  • Level: Moderate
  • Model: Macmin8,1 (or any other model that's not blacklisted)
  • Allow Native Spoofs: True

Only warning is that iCloud will require you to resign in as it will think you have a different Mac (even though serials remain untouched).

I would only recommend this if you must have Universal Control. You have a native model, generally best to play to its strengths while Apple keeps them alive

Screen Shot 2022-02-09 at 5 03 43 PM

It might be able to make it work, but could also break other things and make the system even more unstable.

But if this can indeed fix the problem, that means something were not patched to make it fully working.

x43x61x69 avatar Feb 10 '22 10:02 x43x61x69

Verify this build:

  • https://github.com/dortania/OpenCore-Legacy-Patcher/suites/5237436189/artifacts/160998712

Note you will need to be signed into Github to download, otherwise 404

Tried this build and no change. I will try the alternative method mentioned on my MBA7,1 and report back.

Z1mDMan avatar Feb 10 '22 13:02 Z1mDMan

Tried the alternative method using MacBookAir8,1 for my MacBookAir7,1 and even after logging into iCloud and rebooting I still don't have the option to use UC. I will try another reboot, maybe it takes a few?

Z1mDMan avatar Feb 10 '22 14:02 Z1mDMan

I tried the alternative method spoofing MBA8,1 and MacMini8,1 on the MBA7,1 and I still don't have the UC option from other Macs (that work with other Macs and iPad Pro) I have everything showing in Display settings that I would expect to see however it's not talking.

Z1mDMan avatar Feb 10 '22 14:02 Z1mDMan

So after staring at console stream for too many hours, found the culprit:

Screen Shot 2022-02-10 at 9 48 57 AM

Both sides check for the model identifier, thus meaning we need to patch the outgoing model. Realistically this is very difficult to do with simple bin-patching in userspace, and can only be resolved efficiently via spoofing. I'll research more however doubt there will be a clean solution for this outside of OS wide model override from OpenCore

khronokernel avatar Feb 10 '22 17:02 khronokernel

I tried this on my MBP 12,1 ad could not get it to work, I did not completely reinstall everything from scratch however, just patched the current install and restarted…. However, the system info still shows as 12,1 MacBook Pro, not 13,1 I choose in the OCLP patcher……

Sent from my iPhone

On 10 Feb 2022, at 08:33, 410 @.***> wrote:

 This method works very well after two restarts.

I used this method on my MacBookPro12,1 to link with MacBookPro16,1.

I used OC SMBIOS Setting to set the model to MacBookPro16,1.

After setting, building, and installing it, I restarted my device. I logged in again and synced with Apple ID, but the linking option does not appear. I restarted my device again, and it fully works.

Thank you for the alternative solution!

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.

steverae68 avatar Feb 10 '22 17:02 steverae68

However, the system info still shows as 12,1 MacBook Pro, not 13,1 I choose in the OCLP patcher……

Read the instructions provided carefully. You must do moderate spoof and have "Allow native spoofs" toggled

khronokernel avatar Feb 10 '22 17:02 khronokernel

So after staring at console stream for too many hours, found the culprit:

Screen Shot 2022-02-10 at 9 48 57 AM

Both sides check for the model identifier, thus meaning we need to patch the outgoing model. Realistically this is very difficult to do with simple bin-patching in userspace, and can only be resolved efficiently via spoofing. I'll research more however doubt there will be a clean solution for this outside of OS wide model override from OpenCore

Thank you khronokernel! This at least gives us a smoking gun and possible fix in the future. Appreciate all the hard work you devs do! Willing to test things whenever for you.

Z1mDMan avatar Feb 10 '22 17:02 Z1mDMan

Appreciate all the hard work you devs do! Willing to test things whenever for you.

Thank you! Your words are very much appreciated, feel like I sink too much time into this project haha. Though will still research more and comment here whether there's any new developments.

One alternative solution to this is to just patch UniversalControl on all machines using it, however this limits Universal Control solely to Intel Macs as that's all OpenCore/FeatureUnlock can support. If there's interest for this, I can implement though I assume for the majority the appeal is the iPad to Mac connection.

khronokernel avatar Feb 10 '22 17:02 khronokernel

I would be interested in at least a toggle for this. Thanks again!

Z1mDMan avatar Feb 10 '22 17:02 Z1mDMan

Great News guys - Having spoofed my MBP12,1 to a 13,1 MBP - UC is now working for me again.

It took several reboots before it kicked in but here is the proof

So thank you for all the time taken on this - I certainly do appreciate it and hope that by confirming what has already been mentioned in the thread, we can work towards a more permanent solution.

Any logs or captures you require from me, happy to help.

On 10 Feb 2022, at 09:24, Z1mDMan @.***> wrote:

I would be interested in at least a toggle for this. Thanks again!

— Reply to this email directly, view it on GitHub https://github.com/dortania/OpenCore-Legacy-Patcher/issues/948#issuecomment-1035199815, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEHO3PKCCSBEPFRX2SINWJTU2PYDHANCNFSM5NWSG23A. You are receiving this because you are subscribed to this thread.

steverae68 avatar Feb 10 '22 23:02 steverae68

Spoofing my MacBookPro11,4 as MacBookPro13,1 resulted in UC working but killed HDMI output both directly from MacBook as well as through a Belkin Thunderbolt2 breakout box that has an HDMI output. Spoofing as MacBookPro14,1 resulted in UC and HDMI working but only when plugged directly to the MacBook. None of the breakout box's outputs seem to be working (checked USB, HDMI and Ethernet). Led me to believe that the TB2 output was disabled. However, plugging a firewire audio interface with an Apple TB to FW adapter did work fine so idk 🤷‍♀️

kaii-zen avatar Feb 18 '22 15:02 kaii-zen