Mac OS support

I read that catalina is no longer supported, will future versions of Mac OS be supported? have you decided to cease support for this operating system?

#2

Yes at the moment im not working on OSX.

It is "as is". It might work, or it might not, it depends on the device.

It will work in the future if apple adds back in support for 3rd party kexts

#3

Is there some way to test/eval compatibility with a device *before* an upgrade to Catalina?

[Wish there was some form of replacement approach that would work? System extensions?]

#4

You could install Catalina inside a VirtualBox VM on your macbook and test it that way. Its a bit technical so it might be difficult if you are unfamiliar with virtualbox but that is the only way to test it beforehand.

#5

From what I've just read up on about 10.15+ kexts, and skexts, Apple is very unlikely to reverse course and keep the status quo. A few minutes of Googling and reading acknowledge the PITA this causes, but laud the improved macOS security overall. It also looks like developers are finding ways around. It looks like Apple introduced a number of APIs to allow for System Extensions in 10.15+. While they appear to go a good way to re-establishing functionality, developers agree that more from Apple is needed to reach parity with 10.14 and kexts. Apple has had a better track record here.

I don't know exactly how you do the magic you do with VirtualHere, and I do understand the frustration in having to do so much redevelopment, but I really would hate to lose VirtualHere for macOS forever.

#6

Ive been encouraging my customers to log a bug at https://bugreporter.apple.com asking for this functionality to be kept in osx. If you have an apple developer account, it would be good if you could log something there as well. Thanks.

#7

I assume this affects both Client and Server. My personal use on OSX is for the VH client only. The server runs on a Pi.

I logged a bug, but I have little hope Apple will adapt.

#8

I'm still on Mojave, but I know the day is coming where I have to move to Catalina.

I suspect we could run a very small linux distro in VirtualBox and that would use the less CPU/Memory than a VM with Catalina or Windows?

#9

That would work. But i recommend windows as thats best. The Linux client is also good if you use a recent kernel like 4.9 or later

#10

Docker would be much easier than virtualbox (but I think it can't manage the USB in the same way as a vm). That is so much easier to use than virtualbox.

#11

I dont think docker is a true vm system and you need a real vm

#12

I'm trying to run Virtualhere client in. VirtualBox vm running Windows 10 under and OSX host (which is on a wifi network with vh server)

VH does not see the VirtualHere server. ANy ideas on the VirtualBox network to allow that?

My next question will be how to expose the USB device from VB to OSX. I know the reverse is supported....

#13

VH inside of virtual box can connect if I bypass the disovery/bonjour and specify the hub via ip address. Hopefully I just need to enable bonjour in WIndows 10 somehow.

Any ideas to expose the VH USB from inside the VM to the host OSX where my app lives?

#14

You are using a NAT network in virtualbox thats why bonjour doesnt work. You need to use host network instead so both the host and VM are on the network and have the same address range.

You cant pass the device from a VM back to the host.

#16

Sorry if I write badly but I don't know English I use google translator.
I wanted to report something that is perhaps useful, I use VirtulHare to network a smartcard,
I noticed that if I use Catalina as client and VitrulHare server on linux ADM64 (VirtualHare server 4.1) the program works !!
If instead I use the same smatcard but as a server I use rasbarry P3 with (Virtualhare 4.1.2) the program does not work :(
as a client I have always used virtulhare 5.0.4

#17

Thanks for letting me know antonio. If it works on amd64 and not on the pi it sounds like a kernel bug in raspbian.

#18

@antionoM

I thought Catalina didn't support kext's. That's surprising if it works.

Can you verify that you are runng MacOS v 10.15?

Are you able to install the client under 10.15 (perhaps previously installed kext's are allowed to run)?

#19

Catalina supports kexts but the kernel is broken regarding USB

#20

I can confirm Antonio's result. I was able to install the current version of Catalina under VirtualBox and then install/run/use VirtualHere 5.05 to operate a remote USB device!!!

To get VirtualBox Guest Additions to work, I did disable SIP, Gatekeeper, and whitelist VB5E2TV963, and change permissions on the /System/Library/Extensions/ per https://www.virtualbox.org/ticket/19047. This may have helped VirtualHere.

I hope this puts Michael back on a happy path for MacOS?

#21

Installed VH Client on a fresh install of Catalina (not a VM).

Only had to do the standard open unknown app in the finder ... and then enable the VH system extension in System Preferences:Security & Privacy:General

#22

Great! Thanks for letting me know

#23

Just wanted to chip in: I also got the VirtualHere client working on the latest Catalina (10.15.6) today, without any issues. Mark me as someone heavily invested/interested in continued MacOS support, and hopeful that USB3 capability could be added.

#24

Looks like the next major version, Big Sur, will remove kexts (and the current one is starting to display deprecation warnings when a kext is loaded).

The following is quite interesting and includes a mention that vmware worked around this. Does vh need more than a VM? Perhaps.

https ://news.ycombinator.com/item?id=22251076

Will this be an issue for vh?

Has vh used up their two developer program support tickets for the year?

#25

Thanks for the link, i read ycombinator every day, its a good website. I remember that link from a few months back. VMWare is different they only need server side kext to grab the usb device and redirect it. Whereas virtualhere needs server side and client side kexts.

There might be a work around vmware has found for the server side (I havent fully investigated that workaround but im not inclined to bother with a usb server on mac anymore anyway, if a customer need a usb server its better just using a linux (preferably) or windows). Linux is a really good USB server operating system.

But the client side is the problem. There is no way to write a USB Host Controller anymore. Apple removed that functionality. A USB Host Controller is what usb devices connect to internally inside the computer and operating system. They have left partial support in up to 10.15 but after that i dont know what they will do. I notice one of my competitors switched to using a PCI device emulation to do the USB passthrough on the client but that also will not work in 10.16 because a PCI root complex cannot be emulated. So it just hoping that apple adds support for USB Host Controllers like they used to allow. Apple has added a USBDriverKit api, but that sits on top of the USB Host Controller, and is no help for where virtualhere needs to operate in the USB stack.

#26

For me the big need on MacOS is the client. Linux server is exactly what I need.

Wonder if the niche need for client USB is enough for Apple to build this out. Lots of people use VM so that's a much more common need than USB proxy.

Any response from Apple on their developer program? Crickets?

#27

Yes logged many many tickets with apple, they wont say what they are doing. The bug is usually "closed duplicate" but they wont say the status of support in the future.

#28

Hm, I'm having a strange issue with Catalina server and Mojave client. Everything seems to work flawlessly, I can even get the individual devices to be connected and shared according to the client software. However, the devices aren't actually working on the client.

For example, I connect an iPhone. It works fine on server machine (appears in Finder / iTunes). On the client it says it's connected, but it doesn't appear anywhere on the actual Mac. I am curious where to find client logging to confirm the behavior. My system logs appear correct (I think):

Sep 21 17:04:12 Engines-Mac-mini vhusbdosx[958]: Found High speed device [05ac:12a8] "Apple Inc., iPhone" at address 341901312
Sep 21 17:04:12 Engines-Mac-mini vhusbdosx[958]: Unmanaging device 341901312 [05ac:12a8]
Sep 21 17:04:12 Engines-Mac-mini vhusbdosx[958]: Found High speed device [05ac:12a8] "Apple Inc., iPhone" at address 341901312
Sep 21 17:04:25 Engines-Mac-mini vhusbdosx[958]: Unmanaging device 341901312 [05ac:12a8]
Sep 21 17:04:25 Engines-Mac-mini vhusbdosx[958]: Error (0x38, 0x0000, 0x02c7) trying to add, remove USB device listener
Sep 21 17:04:26 Engines-Mac-mini vhusbdosx[958]: Found High speed device [05ac:12a8] "Apple Inc., iPhone" at address 341901312
Sep 21 17:04:26 Engines-Mac-mini vhusbdosx[958]: Device 341901312 [05ac:12a8] BOUND to connection 1

I have tried 2 different iPhones. I also tried the mouse (although I'm not sure if that is a valid test, to move a mouse around).

#29

Yes the osx client is "as-is" i.e no work is being done on it. So if it doesnt work its not going to

#30

Where can I find the client log to find out what is shows? I'm hoping this is possibly a problem I can still solve on my own, or perhaps at least learn more to be able to solve it a different way. At the moment I can't "downgrade" the server Mac, but at some point I am going to try. I could also upgrade the client Mac and see if Catalina <-> Catalina has more luck. Thanks.

#31

Also, just to be clear, the osx client is on the 10.14 machine, so if there is an issue with the client, it should be solvable, correct?

#32

No the osx version is not being worked on. Thats what this whole thread is about. So if its not working it wont work. iDevices have permission issues that prevent them from working anymore between osx/osx

#33

I'm not asking for any dev support here, I'm just asking for some information about how to get logs in case there is something I can do as a workaround on my end to make it work. Does the osx client not have logging?

That's really all I'm asking here is how I can find the client logs to see if I could potentially solve this for myself :) I understand that if I can't solve it, there will be no fix.

#34

No its not possible because apple has locked an iDevice to a mac machine. When you plug it into the server and try to use it remotely via virtualhere, osx will not allow that because its already connected initially to the server.

#35

Ive now added support for OSX Big Sur for the *virtualhere server*, not the client...

#36

Does this mean that you are going to support OSX again? What about OSX client?
I am using VirtualHere client on OSX Catalina for remote development on iOS devices. My iPhone is connected to a Windows server and I am able to debug Xcode apps on target without issues. I would love to upgrade from Catalina to Big Sur, though...
Thanks Michael for this awesome tool

#37

Yes it looks like apple is adding back in support, so it will be in there fully at some point again in the (near) future. They havent told me anymore than "Possible resolution in OSX 11"

#39

I need to be able to add the following usb configuration to the driver:

"0x05ac:0x12a8 skip-reset, skip-refresh, skip-setconfig"

Is this possible?

#40

What is your OS where the virtualhere server is running?

And what is your OS where the client is running?

IF your server is Linux it is possible if your server anything else it is not possible

#41

I had issues connecting my printer on Catalina.
However, when i plugged in my printer directly via USB to the Mac, it recognized it.
afterwards when using virtualhere and a linux server, my mac would recognise the printer(USB) as offline ....
but the printer app 'p-touch editor' could still print using the offline USB-printer.
somehow the printer was still reachable.

For what its worth ... just wanted to share.

#42

Client is running on Catalina, server running on windows but can run it on Linux if need be.

#43

Im not sure if this is going to work because iDevices need certain configuration set on enumeration which virtualhere already does (e.g see here https://www.virtualhere.com/quirks)

Anyway stop the server and edit the config.ini file

To skip the reset, add the line

onReset.05ac.12a8=

You can skip set config like this

onSetConfiguration.05ac.12a8=

But what does skip-refresh do? Refresh is not a USB command

Maybe they mean skip any enumeration after the first in which case you can try adding this to the server config.ini

onEnumeration.05ac.12a8=

You need to be using the Linux server, the other platforms dont support this granularity of control of USB

Not sure if that will help but give it a try

#44

@uzok

I have an update to this. Apple has just informed me that support for VirtualHere type software for USB passthrough (client -side) has been officially added to OSX 11!

However at the moment they have released no documentation about it so it may take another month or so for them to let people know how to use it :)

Im going to attempt to guess how to use it and see how far i get...

#45

Great news!!!
So there is a chance to have virtual here client working on OS X 11??
I you need someone to test it, I'm here!
Tnx

#46

OK thanks, ill let you know when its ready...

#47

Hey, Michael!

How does it go?
Counting the days till there are more good news from you!)
For it's a very burning issue for me

#48

When its ready i will notify this thread. Any further queries after this post, will be deleted. Sorry but you need to wait until i say its ready. It will be coming , its waiting on apple

#49

OK Finally! I have finished the OSX Client for Monterrey for Apple Silicon and Intel

Please go here to download

(Note I found out that it wont work on Bug Sur at the moment due to a permission issue with Apple. Im waiting on a fix for that, but Monterrey should work ok)

#50

Michael, thank you very much for doing this! I for one greatly appreciate it.

#51

Thank you, working via RDP has been painful all year.