There’s an ever-growing need for remote device use in the workplace, so tools that allow it are essential to maintaining a smooth workflow. This is challenging on macOS, which has limited capabilities to extend USB via Ethernet, especially if the USB peripheral in question is not a dongle or a storage device.
In this article, we’re going to have an in-depth look at the easiest and most convenient software method of sharing USB devices over any network. Additionally, we'll review the most common issues you can face while sharing USB through Ethernet, and ways to address them.
Note: This method can help you to extend USB over Ethernet in OSX of any version, and also in Windows (including Win 10), Linux (Ubuntu), and Android.
Direct connection → RDP connection → UDP connection → Tunnel Server connection.
In this way, you’ll be able to use any type of USB device, including the most latency-sensitive ones, over any distance without any noticeable lag, even if you don’t have a high-speed 100 Mbps network. But for the high-speed direct connection to work, both server and client machines must have a public IP address, be in the same network, and not hidden behind a NAT or some third-party firewall.
Invites allow you to share a device with other users without giving them your sign-in credentials. Since invites are granted on a per-device basis, you don’t have to worry about other hardware from your account being visible. USB over Ethernet Mac access to shared devices can be revoked at any time by clicking the “Delete” button next to it.
Your workplace may have a common FlexiHub account, and in this case, all hardware connected to your computer or the server will become visible and accessible by default. If you want to prevent other users of the same account from connecting to one of your devices, you can lock it. This is useful for data storage devices, since they tend to contain private data.
In some rare cases, after you’ve installed FlexiHub on High Sierra 10.13 version (or newer ones) and launched the app for the first time, you may see this message:
This situation mainly happens because FlexiHub is an advanced professional-grade app that contains multiple third-party kernel extensions (KEXTs). And all of those KEXTs must be manually approved by the machine’s user, or else they won’t be even downloaded, let alone installed or used.
To fix this minor nuisance once and for all, open your machine’s System Preferences and choose Security & Privacy. Now, at the very bottom of the General tab, find the message saying ‘System software from developer Electronic Team was block from loading.’ Click the Allow button next to this message, and the required FlexiHub’s kernel extensions will be automatically downloaded and install. You’ll be able to use the app whenever you need to extend a USB peripheral across your network or use some device attached to a remote PC with no error messages popping up.
In any case, it’s good to have the debug logs in hand, so you can check them and see what the problem is. To enable ten, open the Terminal and execute these commands:
sudo defaults write /Library/Preferences/us.electronic.flexihub.plist daemon_log_level 4
sudo defaults write /Library/Preferences/us.electronic.flexihub.plist eveusb_log_level 4
sudo defaults write /Library/Preferences/us.electronic.flexihub.plist eveusb_log_trace_urb 1
sudo launchctl unload -w /Library/LaunchDaemons/us.electronic.flexihub.daemon.plist
sudo launchctl load -w /Library/LaunchDaemons/us.electronic.flexihub.daemon.plist