psmoveservice / PSMoveService

A background service that communicates with the psmove and stores pose and button data.
Apache License 2.0
590 stars 148 forks source link

PS Move controller appears to connect but LED doesn't turn solid so it can't reconnect automatically. #87

Closed NyanBlade closed 8 years ago

NyanBlade commented 8 years ago

When pairing the controller it goes through to the screen where I can see the controller and calibrate the magnetometer and test the rumble but the LED on the controller stays solid and I can't reconnect it by pressing the PS button. I have the ASUS BT-400 and have tried multiple controllers.

zelmon64 commented 8 years ago

Have you tried the older method described here? It may be slightly more reliable to pair using the older tools. The integrated pairing in the new calibration software may still have some bugs.

NyanBlade commented 8 years ago

I have just tried that tool, it seems to pair again but the LED keeps blinking.

zelmon64 commented 8 years ago

At what rate is it blinking? I think the low battery rate and the connecting rate are the same so if it's connected with a low battery it's hard to tell what's going on. I think only the charging rate is slower.

Just to verify, you tried running psmovepair.exe with the PSMove controller connected. Then stopped it, disconnected the usb cable and ran psmove-pair-win.exe while repeatedly pressing he PS button until you saw verifying successful connection CRE.CRE.CRE.CRE.CRE. !!!! Successfully connected...?

NyanBlade commented 8 years ago

Yeah just did it again, this is what I keep getting

==== Looking for Bluetooth radios ====

(0) 5c:f3:70:75:7e:7d #####-##

Using the only available Bluetooth radio. Making radio accept incoming connections. Making radio discoverable.

==== Connecting new controllers ====

No Bluetooth devices found. No Bluetooth devices found. No Bluetooth devices found. No Bluetooth devices found. No Bluetooth devices found. Device: (0) 00:06:f7:a6:0e:2c CoD: 0x00002508, CON: 1, REM: 0, AUTH: 0

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 0, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x00000002] Failed to open registry key: The system cannot find the file specified.

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

Device: (0) 00:06:f7:a6:0e:2c Motion Controller CoD: 0x00002508, CON: 1, REM: 1, AUTH: 0

device #0: Move Motion Controller detected radioInfo.address: 5cf370757e7d deviceInfo.address: 0006f7a60e2c sSubkey: SYSTEM\CurrentControlSet\Services\HidBth\Parameters\Devices\5cf370757e7d0006f7a60e2c [ERROR 0x000000ea] Failed to get registry value: More data is available. Set VirtuallyCabled: 1

and then it keeps repeating this and the led keeps blinking

zelmon64 commented 8 years ago

Are you sure it's not just a low battery? The PSMove definitely doesn't reconnect if you turn it off (by holding the PS button for > 10s) an back on? The log seems to connect okay but the errors are a little suspect. Do you grant it admin access when you run psmove-pair-win.exe?

There's a reset button on the back of the PSMove. Have you tried pressing that then going through the connection process again?

When the PSMove is properly connect, the button presses can be observed in the same way other controllers can (in Control Panel\Hardware and Sound\Devices and Printers then viewing the Game controller settings). Have you tried that to verify if it is connected?

NyanBlade commented 8 years ago

Just reset the controllers, the first managed to pair successfully and the led stayed solid for a few seconds but then it started blinking again, it is connected now and I can turn it off and on and it will reconnect so suppose I have to deal with it blinking, couldn't get the second one to pair.

zelmon64 commented 8 years ago

That definitely sounds like a low battery on your first controller.

For the second did you separately run psmovepair.exe when it was connected via USB and the other controller was disconnected? psmovepair.exe only needs to be run once per controller to set the bt mac address. Then psmove-pair-win.exe can pair both controllers.

NyanBlade commented 8 years ago

I've paired both controllers now, when using the psmove config tool there is a lot of lag when testing the controllers and now the ps eye won't work in the tracker tools anymore so I can't set up the tracking.

zelmon64 commented 8 years ago

Gosh that sounds odd. Have you tried restarting your PC in case anything is still running in the background that shouldn't be?

NyanBlade commented 8 years ago

Restarted, the controller is still laggy and now the test tracker feed shows a black screen

zelmon64 commented 8 years ago

Can you shine a light at the PSEye? It could be possible that the gain/exposure setting is too low so that it appears black.

For the controller, is there anything physically in-between the controller and bt adapter? Are there any other radio sources that could be interfering (like additional bt adapters or wireless peripherals or wifi adapters)? Is it possible to have the bt adapter positioned slightly away from your PC on a short extension like what comes with the Steam Controller or some Logitech devices?

NyanBlade commented 8 years ago

Tried flashing a light, no difference, the red led isn't turning on on the ps eye. When I go back it says no trackers controllers and the buttons disappear

zelmon64 commented 8 years ago

Is PSMoveService.exe running with admin rights? That should turn on the red LED on the PSEye before you run PSMoveConfigTool.exe

NyanBlade commented 8 years ago

Yes, i'm running it with admin rights, the red led is not turning on when I start it up.

zelmon64 commented 8 years ago

Recheck the current driver the PSEye is using in the Device Manager. Sometimes it could latch onto a different one if they weren't all deleted when uninstalling or it may not be recognised correctly and needs to be unpluged and re-plugged into the usb port

NyanBlade commented 8 years ago

The PSEye is definitely using the cleye drivers, it works in their test software. The tracker settings now just says No trackers controllers.

zelmon64 commented 8 years ago

Shudders - I'd highly recommend switching to libusb-win32 (via libusbK) but CL-Eye should work. Are you using the latest version of PSMoveService (alpha4.2)? What happens if you run test_camera.exe (without PSMoveService running)?

NyanBlade commented 8 years ago

Running test_camera.exe without psmoveservice shows the camera but only at around 1fps.

zelmon64 commented 8 years ago

1fps oh my! Could you please post what it says in the cmd window?

NyanBlade commented 8 years ago

I am using libusbK now and the camera works! I have managed to get the first controller working, it is paired and I can see it in steamvr, now the pseye is in the wrong place and the psmove positional tracking isn't working very well, the orientation works fine.

zelmon64 commented 8 years ago

The positioning is down to the calibration. First make sure the magenta and cyan masks are working correctly. Remember to switch back to magenta because the calibration doesn't currently work with any other colours and isn't set to switch it to magenta automatically.

libusbk will probably not work once you restart your PC. If that happens just replace it with libusb-win32 and it should be fine.

NyanBlade commented 8 years ago

The masks are fine, i've tried the calibration multiple time now but the controller is in the wrong place and the positional tracking doesn't seem to be working properly.

zelmon64 commented 8 years ago

Are you trying the mat or HMD method?

NyanBlade commented 8 years ago

Both

zelmon64 commented 8 years ago

How does it move with respect to where is shows the PSEye to be?

Can you please remind me what HMD you're using? It might be some sort of co-registration problem. What did you set as the height in the SteamVR setup?

NyanBlade commented 8 years ago

Rift CV1, the height is fine, the calibration was a bit better now but still wasn't in the same position as the physical controller. It moves roughly in the right directions.

zelmon64 commented 8 years ago

Yeah that sounds like co-registration. I'm a bit hazy on how the two virtual spaces are co-registered. I use VRidge and my controllers are usually somewhere below the floor. I haven't bothered with it yet because VRidge doesn't have good positional tracking yet.

I'm surprised that the HMD calibration method doesn't completely work though. I thought that was the point.

There's probably a configuration file where you could manually adjust the offset to align them better. The files are in $user-name-here$\AppData\Roaming\PSMoveService.

toto5100 commented 8 years ago

For me the Calibration mat method works much better, and if you want an offset, then you could move the hmd a little when it calibrates it.

NyanBlade commented 8 years ago

Will try the mat method again later, the move controller shut off so I assume the battery died. Charging it now. Still having trouble with getting the second controller to show up.

NyanBlade commented 8 years ago

You are right about the camera, libusbk didn't work upon restart. Now all I see is a green feed. I have added another camera and that is now also showing a green feed.

zelmon64 commented 8 years ago

Did switching to libusb-win32 solve it? For the second PSEye you will also have to first install libusbK then replace it with libusb-win32. When using multiple PSEyes bandwidth can also become an issue: see #85 which I think is resolved in this post.

NyanBlade commented 8 years ago

Hi, cameras and move controllers are working well now! Performance is decent and positional tracking is acceptable. Need to figure out how to use it with Tiltbrush, only the right controller is for painting, the left needs me to use the trackpad :P

NyanBlade commented 8 years ago

And Job Simulator crashed after a few minutes :(

zelmon64 commented 8 years ago

That's good to hear (read) that it's all working now (I don't think PSMoveService should be the cause of games crashing - hopefully not anyway). Yeah, the trackpad isn't currently supported but there are a few ideas on how to work it in. If you can't wait you could try using the FreePIE method which is currently able to emulate the trackpads. It might be possible to use one controller through PSMoveService (ie. the right one) and the other through FreePIE but I haven't tried to. Perhaps use this script for the left controller.

edit I just tried to combine the PSMove controllers with an emulated Hydra and it seemed to work. four controllers

HipsterSloth commented 8 years ago

@NyanBlade Sounds like this particular issue of the controller re connection is solved. I'm going to close this issue, but feel free to chatting in this issue. It'll just get moved to the "closed issue" tab. @zelmon64 Thanks again for the support! As for button mapping, you can now re-map buttons on the psmove controller to steam vr buttons in the steamVr settings file. See instructions here. Since there is no thumbstick option yet there is no trackpad option (besides track pad click), but once I get PSNavi and DualShock4 support finished we could support mapping a thumbstick to the trackpad.

NyanBlade commented 8 years ago

@zelmon64 Thanks for all your help :) do you know of any way to get the menus for the left controller working in tiltbrush without using any other software. I don't really need the trackpad I just want to be able to see all the menus to change the brush etc.

zelmon64 commented 8 years ago

@NyanBlade You're very welcome =). Unfortunately I don't have tiltbrush so I'm not really sure how the menus work. Like HipsterSloth said, there will soon be trackpad support so hopefully you won't have long to wait.

@HipsterSloth Thanks for the kudos. I did see that you had included button re-mapping but didn't know it already included the trackpad click. Since you mentioned the other controllers, what are your thoughts on the new controller Sony has revealed? Do you think they've created it so that there aren't as many bt connections needed? I suppose it's too bulky to have one in each hand.

NyanBlade commented 8 years ago

Hi, a new issue, i've moved the cameras around and am getting this error:

[2016-07-02 21:48:01.606191]: main - Starting PSMoveService Config file name: "C:\Users#####\AppData\Roaming\PSMoveService\ControllerManagerConfig.json" [2016-07-02 21:48:01.613182]: bluetooth_get_host_address - Found a bluetooth radio [2016-07-02 21:48:01.616184]: bluetooth_get_host_address - Retrieved radio info Config file name: "C:\Users#####\AppData\Roaming\PSMoveService\TrackerManagerConfig.json" [2016-07-02 21:48:01.632209]: PS3EyeTracker::open - Opening PS3EyeTracker(USB\VID_1415&PID_2000\10\0, camera_index=0) CLEyeGetCameraCount() found 0 devices. libusb: error [init_device] device '.\USB#VID_1415&PID_2000&MI_01#7&32329B5A&0&0001' is no longer connected! ps3eye::PS3EYECam::getDevices() found 2 devices. Config file name: "C:\Users#####\AppData\Roaming\PSMoveService\PS3EyeTrackerConfig_ps3eye_b3_p7.json" Config file name: "C:\Users#####\AppData\Roaming\PSMoveService\PS3EyeTrackerConfig_ps3eye_b3_p7.json" Config file name: "C:\Users#####\AppData\Roaming\PSMoveService\PS3EyeTrackerConfig_ps3eye_b3_p7.json" [2016-07-02 21:48:02.082359]: SharedMemory::initialize() - Allocating shared memory: tracker_view_0 [2016-07-02 21:48:02.099292]: EXCEPTION - PSMoveService - boost::interprocess::intermodule_singleton initialization failed Config file name: "C:\Users#####\AppData\Roaming\PSMoveService\ControllerManagerConfig.json" [2016-07-02 21:48:02.127310]: SharedMemory::dispose - Failed to free shared memory: tracker_view_0 [2016-07-02 21:48:02.137317]: ClientConnection::stop - Stopping client connection id 0

I have deleted .psmoveapi and PSMoveService in %appdata% and have tried the SteamVR_UninstallDriver but have no luck, any suggestions?