Hello everyone.

The Mixed Reality Forums here are no longer being used or maintained.

There are a few other places we would like to direct you to for support, both from Microsoft and from the community.

The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.

For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.

If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.

And always feel free to hit us up on Twitter @MxdRealityDev.

HoloToolkit Unity Sharing in Azure

Trying to install the HoloToolkit Unity Sharing service in Azure following @nash post with no success so far.

Steps so far.

Azure Setup
1. Create Windows 10 VM
2. Setup Inbound Security rules on ports 20601 & 20602
3. Setup Inbound Security rules on ports 20601 & 20602
4. Get latest copy of HoloToolkit-Unity from https://github.com/Microsoft/HoloToolkit-Unity
5. Open Command Prompt as Admin (Start+X) navigate to directory $downloaded_path/HoloToolkit-Unity/External/HoloToolkit/Sharing/Server/
6. Install sharing service using the following command:
SharingService.exe -install

but get the following message

SharingService is installed.
StartService() failed, error: 5.

If I run this command instead

SharingService.exe -local

Then I get the same message when running the Unity HoloToolkit Sharing Service

Running Sharing Service locally. Enter 'q' to quit.
SharingService: ** Logging Session Began at 17:59:14, 6-2-2016
SharingService: ***********************************
SharingService: ****** Sharing Service OnStart ******
SharingService: ***********************************
SharingService: Server Info:
Build Version: 1.1.0.0
Schema Version: 15
SharingService: Listening for session list connections on port 20602 of all network devices of the local machine.
SharingService: Local IP addresses are:
SharingService: 10.0.0.4
SharingService: Created Session "Default" with ID 0 on port 20601

Could anyone advise what I could be doing wrong? Having Hololens Sharing sessions hosted on Azure would be great.

Thanks,
Alex

Answers

  • AlexDAlexD ✭✭✭

    Did you configure your VM with a public IP address? From the logs it looks like the machine only "sees" the 10.0.0.4 IP which is a private IP on the machine.

  • I'm seeing a similar issue.. Did you ever find the solution?

  • Giving full permissions to "NETWORK SERVICE" on the folder "..External/HoloToolkit/Sharing/Server/" fixed the error for me. http://stackoverflow.com/questions/4267051/error-5-access-denied-when-starting-windows-service

    But I still can't seem to access the sharing service from an external client.

  • After setting the firewall on the VM to allow ALL protocols on the port range it worked. It must be using UDP

  • i saw same error to install as a service with option "-install".

    StartService() failed, error: 5.

    but solved it.

    it need to change logon option from this account to local system account on the service property.

    Like this:

    for someone:D

  • I am able to get the service to install using @bschnurr's suggestion of adding full permissions to 'Network Service'. However, I can't get my local build to connect to the sharing service running on the VM machine. I decided to temporarily disable the firewall completely on the server and locally just to make sure it wasn't a firewall issue.

    I've enabled internetClient, internetClientServer, and PrivateNetworkClientServer just to be safe.

    I am using a static IP address for the VM machine.

    Taqtile

  • Nevermind, we had an additional server firewall to open up.

    We also discovered that if you don't open port 20600 it will crash. I have it set to load port 20602 but for some reason in the editor logs it shows it trying to access port 20600 regardless. Not sure why but it crashes Unity if you are connecting via the editor.

    Otherwise its working now. :D

    Taqtile

  • If I have install Sharing Service on a server, How can I see whether someone connected to it (i.e. Session started successfully) or not?

  • I checked by using remote desktop and connecting to our server that way. We just hosted a windows box

    Taqtile

  • edited March 2017

    Just make sure on Azure you open the firewall port of 20601,20602 and it will work just fine. Myself, we are using "Windows Server Nano 2016"

  • I've been setting this up over the last few days, here are all of the steps that I did. I'm sure some are not needed but it's worth listing all of them just in case anyone else is having quirks with this process.

    1. I set up a classic VM in Azure, added 20601 UPD, 20601 TCP, 20602 UDP, 20602 TCP to the endpoints. This can be done with an ARM VM as well but I don't have the steps to poke holes in the network security group for that.
    2. I installed the service in an admin CMD window with "sharingservice.exe -install" in a RDP session to the VM..
    3. "Network Service" was added full admin rights to the folder that the .exe is in.
    4. In the services panel, I set the service to run as a local account.
    5. While in the RDP session, I also had to add the same ports/protocols in the server's firewall settings.
    6. Make sure that BOTH Azure forwards your ports (adding enpoints in step 1) as well as the server firewall its-self to accept from the ports/protocols (server firewall rules step 5).

    My application uses the (whatever).cloudapp.net name as the "server address" and the port is 20602. Works like a charm! Really neat because we can anchor multiple devices AND have remote users in the same session.

  • @Zane said:
    I've been setting this up over the last few days, here are all of the steps that I did. I'm sure some are not needed but it's worth listing all of them just in case anyone else is having quirks with this process.

    1. I set up a classic VM in Azure, added 20601 UPD, 20601 TCP, 20602 UDP, 20602 TCP to the endpoints. This can be done with an ARM VM as well but I don't have the steps to poke holes in the network security group for that.
    2. I installed the service in an admin CMD window with "sharingservice.exe -install" in a RDP session to the VM..
    3. "Network Service" was added full admin rights to the folder that the .exe is in.
    4. In the services panel, I set the service to run as a local account.
    5. While in the RDP session, I also had to add the same ports/protocols in the server's firewall settings.
    6. Make sure that BOTH Azure forwards your ports (adding enpoints in step 1) as well as the server firewall its-self to accept from the ports/protocols (server firewall rules step 5).

    My application uses the (whatever).cloudapp.net name as the "server address" and the port is 20602. Works like a charm! Really neat because we can anchor multiple devices AND have remote users in the same session.

    Are you using Windows Server 2016 or other instance?

  • @Zane said:
    I've been setting this up over the last few days, here are all of the steps that I did. I'm sure some are not needed but it's worth listing all of them just in case anyone else is having quirks with this process.

    1. I set up a classic VM in Azure, added 20601 UPD, 20601 TCP, 20602 UDP, 20602 TCP to the endpoints. This can be done with an ARM VM as well but I don't have the steps to poke holes in the network security group for that.
    2. I installed the service in an admin CMD window with "sharingservice.exe -install" in a RDP session to the VM..
    3. "Network Service" was added full admin rights to the folder that the .exe is in.
    4. In the services panel, I set the service to run as a local account.
    5. While in the RDP session, I also had to add the same ports/protocols in the server's firewall settings.
    6. Make sure that BOTH Azure forwards your ports (adding enpoints in step 1) as well as the server firewall its-self to accept from the ports/protocols (server firewall rules step 5).

    My application uses the (whatever).cloudapp.net name as the "server address" and the port is 20602. Works like a charm! Really neat because we can anchor multiple devices AND have remote users in the same session.

    Did you set up a DNS for your VM? that's how you were able to point to (whatever).cloudapp.net, right?

Sign In or Register to comment.