NI mate + Kinect v2 issues on Windows 10


#1

Hi everyone.

First, i’m new here and i used “reply” because i couldn’t find a way to create a new topic. Please let me know if there is one.

My problem is :
I recently bought via ebay a modded xbox one sensor with adapter included (see the product here : http://r.ebay.com/1ZGeqM ).

It works perfectly fine with the tools from the SDK Kinect for Windows v2.0 (configuration checker ok and kinect studio working well).

My sensor is visible in Ni-mate setup tab. But it can’t start. It stays a while on “starting” state then switch to “stopped”. Below is the log :

11:18:29: Starting input 1: Kinect for Windows 2
11:18:29: Input 1: Creating QApplication
11:18:29: Input 1: Using shared memory for data
11:18:29: Input 1: Feed transmission is enabled
11:18:29: Input 1: OpenNI2 sensor
11:18:29: Input 1: initting websockets
11:18:29: Input 1: connecting straight to: localhost:22223
11:18:29: Input 1: websocket connectingstate
11:18:29: Input 1: No websocket available yet, so sending message at a later time
11:18:29: Input 1: waiting for response
11:18:33: Input 1: websocket unconnectedstate
11:18:33: Input 1: client closed
11:18:50: Input 1: No sensor start command received. Timeout.
11:18:50: Input 1 quit normally.

The sensor is plugged into a USB 3 port. I’m running W10 Pro 64Bits on an Acer laptop with i7-6500U Intel CPU @ 2.5GHz and with 8Go RAM.

I tried different ways to set things up on my PC :

  • with / without SDK
  • with / without version 1.0.19 of UsbDk Runtimes Libraries

I’ve done the special way to boot accordingly to the unsigned drivers.

I’m totally lost and see no way out to a solution.

I hope there will be someone here who faced the same situation and found a solution.

Thank you for reading me and by advance thanks for your replies.

Xavier.


Kinect v2 issues on Windows 10
#2

The unsigned driver mode is not required for Kinect 2 drivers.

The Kinect 2 sensors have two options on Windows: Microsoft SDK and libfreenect2. The latter uses the UsbDk runtime, while the former doesn’t require it. You can change which one is used by changing the libfreenect2 settings in NI mate’s preferences. The difference between the two is that MS SDK has face tracking while libfreenect2 allows multiple Kinects.

It’s good you included the log as that seems to show the real problem:

11:18:33: Input 1: websocket unconnectedstate
11:18:33: Input 1: client closed
11:18:50: Input 1: No sensor start command received. Timeout.

This seems to say the problem is in opening a websocket connection to the sensor program, not with the sensor device itself. This is the first time I’ve seen this issue, so I’m not sure what the reason for this is. To isolate a potential hardware problem first (since you’re using a custom Kinect), let’s make sure the sensor works:

  • In NI mate’s preferences, disable libfreenect2 to use the MS SDK, then close NI mate
  • Open the command prompt (Windows key + R, type cmd, hit enter)
  • cd “C:/Program Files/Delicode/Delicode NI mate 2/Delicode_Sensor_K4W” (change accordingly if you installed NI mate elsewhere)
  • Delicode_Sensor_K4W.exe sensor_test > “C:/Users/yourusername/Desktop/out.txt” 2>&1 (replace “yourusername” with your Windows user account)
  • Include out.txt in your response

Now, the websocket issue: This could be some network issue, perhaps with how the localhost address is resolved, or perhaps it’s a firewall or antivirus problem. What NI mate is doing is set up a websocket server in localhost, and then the sensor program connects to it. Do you perhaps have multiple network interfaces on your computer? At some point in testing I think we saw a similar problem with VirtualBox network adapters.


#3

@Bcx: I’ve moved this in a new topic.


#4

Hi Jesse. First, thanks a lot for your quick answer.

I tried the cmd thing, here is the result :

C:\Program Files\Delicode\Delicode NI mate 2\Delicode_Sensor_K4W>Delicode_Sensor_K4W.exe sensor_test
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_client_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_1_server_method
qt.network.ssl: QSslSocket: cannot resolve TLSv1_2_server_method
qt.network.ssl: QSslSocket: cannot resolve SSL_select_next_proto
qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
qt.network.ssl: QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
Creating QApplication
Sensor test started for 200 frames:

Using websocket for data
Feed transmission is disabled
K4W sensor
Sensor started
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: closing websocket
shutting down sensor

I also tried to ping to “localhost” and “127.0.0.1”, again here is the result :

C:\Program Files\Delicode\Delicode NI mate 2\Delicode_Sensor_K4W>ping localhost

Envoi d’une requête ‘ping’ sur MDEPORT10 [::1] avec 32 octets de données :
Réponse de ::1 : temps<1ms
Réponse de ::1 : temps<1ms
Réponse de ::1 : temps<1ms
Réponse de ::1 : temps<1ms

Statistiques Ping pour ::1:
Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 0ms, Maximum = 0ms, Moyenne = 0ms

C:\Program Files\Delicode\Delicode NI mate 2\Delicode_Sensor_K4W>ping 127.0.0.1

Envoi d’une requête ‘Ping’ 127.0.0.1 avec 32 octets de données :
Réponse de 127.0.0.1 : octets=32 temps<1ms TTL=128
Réponse de 127.0.0.1 : octets=32 temps<1ms TTL=128
Réponse de 127.0.0.1 : octets=32 temps<1ms TTL=128
Réponse de 127.0.0.1 : octets=32 temps<1ms TTL=128

Statistiques Ping pour 127.0.0.1:
Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 0ms, Maximum = 0ms, Moyenne = 0ms

Then after all this, I launched Ni-mate to see what’s happening. No change (not surprising since i haven’t changed anything) which means that the software try to launch the sensor and finally fails. Here is the log output (after first launch):

18:53:23: Qt WebEngine ICU data not found at D:/Qt57/5.7/msvc2013_64/resources. Trying parent directory…
18:53:23: Qt WebEngine ICU data not found at D:/Qt57/5.7/msvc2013_64. Trying application directory…
18:53:23: Installed Qt WebEngine locales directory not found at location D:/Qt57/5.7/msvc2013_64/translations\qtwebengine_locales. Trying application directory…
18:53:23: Qt WebEngine resources not found at D:/Qt57/5.7/msvc2013_64/resources. Trying parent directory…
18:53:23: Qt WebEngine resources not found at D:/Qt57/5.7/msvc2013_64. Trying application directory…
18:53:23: device status is 1
18:53:23: family 2
18:53:23: Spout server 1.1 initialized in DX11 mode.
18:53:23: Spout server 1.2 initialized in DX11 mode.
18:53:23: Starting input 1: Kinect for Windows 2
18:53:23: QOpenGLWidget: Already initialized, setting the format has no effect
18:53:23: Input 1: Creating QApplication
18:53:23: Input 1: Using shared memory for data
18:53:23: Input 1: Feed transmission is enabled
18:53:23: Input 1: K4W sensor
18:53:23: Input 1: initting websockets
18:53:23: Input 1: connecting straight to: localhost:22223
18:53:23: Input 1: websocket connectingstate
18:53:23: Input 1: No websocket available yet, so sending message at a later time
18:53:23: Input 1: waiting for response
18:53:25: device status is 5
18:53:25: family 2
18:53:27: Input 1: websocket unconnectedstate
18:53:27: Input 1: client closed
18:53:44: Input 1: No sensor start command received. Timeout.
18:53:44: Input 1 quit normally.

and here is the log output after a second launch :

19:37:51: Starting input 1: Kinect for Windows 2
19:37:51: Input 1: Creating QApplication
19:37:52: Input 1: Using shared memory for data
19:37:52: Input 1: Feed transmission is enabled
19:37:52: Input 1: K4W sensor
19:37:52: Input 1: initting websockets
19:37:52: Input 1: connecting straight to: localhost:22223
19:37:52: Input 1: websocket connectingstate
19:37:52: Input 1: No websocket available yet, so sending message at a later time
19:37:52: Input 1: waiting for response
19:37:56: Input 1: websocket unconnectedstate
19:37:56: Input 1: client closed
19:38:13: Input 1: No sensor start command received. Timeout.
19:38:13: Input 1 quit normally.

Additionnaly, i forgot to mention that i use Ni-mate 2.14 and the Kinect sensor is a model 1520.

I also re-tried the tools from the SDK (Kinect Configuration Verifier and Kinect Studio) and both works well.

I hope that with all those informations you will be able to find an answer.

Thanks again for your consideration about this situation.

Xavier.


#5

The sensor test shows the sensor works fine and this problem is related to the connection between NI mate and the sensor program.

  • Do you have multiple network adapters? Maybe post a screenshot showing the Windows “Network Connections” window.
  • Does this happen without the Windows / other firewalls?
  • Do you have an antivirus that could influence this?

#6

Hi,

Following your advice I have setted up my firewall to accept network usage for Delicode_NI_mate.exe and Delicode_Sensor_K4W.exe and …

IT WORKS FINE !!!

So Jesse, a very very big thank you for your help. It was precise, fast and helpful.

THANKS A LOT !!!