Jump to content

Eye-Tracking not working: SRanipal requires to update firmware and fails


Recommended Posts

Hello all,

I am desperate: Since Monday our eye tracking is not working anymore. As you can see in the attached Tobii-Logfile, SRanipal requires to update the firmware of the eye tracking camera. This fails and is immediately retried, resulting in an endless loop of failed firmware updates. Unfortunately this firmware update is required and prevents the regular functioning. Also the EyeChip-device is always ejected and recognized again during this process. The HTC-Vive headset and ts cameras are working fine.

I tried already many things:

  • Several SRanipal-Versions: 1.0.2.0 and 1.3.0.9
  • Several USB-PCIe cards: Mainboard: Asmedia, Inateck KTU3FR-4P (Fresco Chip), Inateck KT4004 (Fresco Chip)
  • Several USB drivers: Microsoft 10.0.18362.693, Fresco 3.6.8.0, Fresco 3.8.35514.0
  • Several USB-Cables

Is there a way to update the firmware manually?
Is there a way to disable the firmware update?

Any help is appreciated.

Thank you,

 Flo

 

Tobii-VR4U2P2.zip SteamVR-2020-10-09-PM_04_44_35.zip ViveSR_Log.zip

Link to comment
Share on other sites

@fvfrfr Thanks for sharing logs, we'll take a look.

In the meantime, would it be possible to try with another PC? Also, here are some steps to try disabling updates.

 

Steps to Disable Vive Pro Eye Tracking (SRanipal runtime) auto updates
- Navigate to "SR_Config" folder
    %userprofile%\AppData\LocalLow\HTC Corporation\SR_Config
- Open "SRanipalConfig.ini" with a text editor
- Change Auto Update value from 1 to 0
    EanbleRuntimeAutoUpdate=0
    EanbleFirmwareAutoUpdate=0

- Save Changes

Link to comment
Share on other sites

@Corvus Thank you for your help and the suggested properties.

At the moment I do not have any other PC to try.

Unfortunately SR_Runtime tries to update the firmware even if I disable it with the "EanbleFirmwareAutoUpdate=0" property.

However, when I looked again in the SR_Runtime.log, I recognized, that the firmware version was printed there during startup until 2020-10-05 13:34:25:

[SR_Runtime] [2020-10-05 13:34:25] [LOG] [HW INFO] HMD firmware version : 1.88.0-8106667

But from then on the firmware was always empty:

[SR_Runtime] [2020-10-05 13:37:56] [LOG] [HW INFO] HMD firmware version : 

This is also exactly the time when the eye tracking stopped working and the problems began.

It seems as the firmware update is triggered by a missing firmware instead of an update. I have attached the Tobii-logfile for that timeframe as well. 

There you can see that it also tries to update the firmware the first time between these two timepoints:

2020-10-05 13:34:34.390 [D] [VRU02-5A94PAX02255] [ThreadID=3dc4] device.cpp(4413): "Successfully executed and built response to timesync request with transaction ID 1" in function "process_timesyncs"
2020-10-05 13:34:34.390 [D] [VRU02-5A94PAX02255] [ThreadID=1fd0] device.cpp(5180): "Sending 64 bytes of data to timesync client 6" in function "device_serialize_and_send_timesync_responses"
2020-10-05 13:34:34.391 [I] [VRU02-5A94PAX02255] [ThreadID=3dc4] device.cpp(3192): "Command client 7 finished handshake, connection now valid (paired up with subscription client 7)" in function "command_handler_device"
2020-10-05 13:34:34.391 [D] [VRU02-5A94PAX02255] [ThreadID=3dc4] device.cpp(4456): "Successfully executed and built response to request with transaction ID 1 and op PRP_OPERATION_ENUM_COMMAND_RESPONSE" in function "device_process_commands"
2020-10-05 13:34:34.391 [D] [VRU02-5A94PAX02255] [ThreadID=29a8] device.cpp(5248): "Sending 508 bytes of data to client 7" in function "device_serialize_and_send_command_responses"
2020-10-05 13:34:34.392 [D] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(552): "Timesync client 7 context successfully created" in function "server_on_client_connected"
2020-10-05 13:34:34.392 [D] [VRU02-5A94PAX02255] [ThreadID=8a8] device.cpp(4294): "Received 52 bytes of data from client 7" in function "device_deserialize_incoming_data_timesync"
2020-10-05 13:34:34.392 [D] [VRU02-5A94PAX02255] [ThreadID=8a8] device.cpp(4358): "Received request with transaction ID 1 and op PRP_OPERATION_ENUM_COMMAND_REQUEST from client 7" in function "device_deserialize_incoming_data_timesync"
2020-10-05 13:34:34.392 [E] [PLATMOD] [ThreadID=3dc4] tracker_usb_ttp.cpp(1873): error "TRACKER_ERROR_OPERATION_FAILED" (00000007) in function "tracker_usb_ttp_t::timestamp_get"
2020-10-05 13:34:34.392 [E] [PLATMOD] [ThreadID=3dc4] platmod_castor_commands.cpp(805): ERROR "Tracker error TRACKER_ERROR_OPERATION_FAILED when getting timestamp" in function "platmod_command_timestamp_get"
2020-10-05 13:34:34.392 [D] [VRU02-5A94PAX02255] [ThreadID=3dc4] device.cpp(4413): "Successfully executed and built response to timesync request with transaction ID 1" in function "process_timesyncs"
2020-10-05 13:34:34.392 [D] [VRU02-5A94PAX02255] [ThreadID=1fd0] device.cpp(5180): "Sending 64 bytes of data to timesync client 7" in function "device_serialize_and_send_timesync_responses"
2020-10-05 13:34:34.397 [I] [GENERAL] [ThreadID=1234] module.cpp(188): "Device 'VRU02-5A94PAX02255' removed" in function "module_on_device_changed_handler"
2020-10-05 13:34:34.397 [I] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(682): "Command client 7 with matching subscription client 7 both now queued for destruction" in function "destroy_command_handle"
2020-10-05 13:34:34.397 [I] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(682): "Command client 6 with matching subscription client 6 both now queued for destruction" in function "destroy_command_handle"
2020-10-05 13:34:34.397 [I] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(682): "Command client 0 with matching subscription client 0 both now queued for destruction" in function "destroy_command_handle"
2020-10-05 13:34:34.398 [D] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(736): "Timesync client 7 now queued for destruction" in function "destroy_timesync_handle"
2020-10-05 13:34:34.398 [D] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(736): "Timesync client 6 now queued for destruction" in function "destroy_timesync_handle"
2020-10-05 13:34:34.398 [D] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(736): "Timesync client 0 now queued for destruction" in function "destroy_timesync_handle"
2020-10-05 13:34:34.414 [I] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(1041): "Server shut down" in function "server_shutdown"
2020-10-05 13:34:34.679 [I] [PLATMOD] [ThreadID=3944] usb_manager.c(311): [INFO] "Device ID: 52 Message: FW upgrade device mode init done" in function "log_event"
2020-10-05 13:34:34.679 [I] [PLATMOD] [ThreadID=3944] usb_manager.c(311): [INFO] "Device ID: 52 Message: Trying to download new image" in function "log_event"
2020-10-05 13:34:34.679 [I] [PLATMOD] [ThreadID=3944] usb_manager.c(311): [INFO] "Device ID: 52 Message: Wrong initial state, trying to reset
" in function "log_event"
2020-10-05 13:34:34.679 [I] [PLATMOD] [ThreadID=1008] platform_module_castor.cpp(1763): INFO "Uploading new firmware to device tobii-usbttp://52" in function "device_plugged_in"
2020-10-05 13:34:34.679 [I] [GENERAL] [ThreadID=1234] module.cpp(164): "Device 'VRU02-5A94PAX02255' re-added (fw_upgrading : true)" in function "module_on_device_changed_handler"
2020-10-05 13:34:34.681 [I] [PLATMOD] [ThreadID=3944] usb_manager.c(317): [INFO] "Device ID: 52 Message: FW Upgrade mode: 1 Progress :0 percent" in function "log_event"
2020-10-05 13:34:34.726 [I] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(980): "Server listening for incoming connections" in function "server_listen"
2020-10-05 13:34:34.972 [I] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(526): "Command client 0 context successfully created" in function "server_on_client_connected"
2020-10-05 13:34:34.973 [I] [tobii-prp://VRU02-5A94PAX02255] [ThreadID=8a8] server.cpp(539): "Subscription client 0 context successfully created" in function "server_on_client_connected"
2020-10-05 13:34:34.973 [D] [VRU02-5A94PAX02255] [ThreadID=8a8] device.cpp(4037): "Received 456 bytes of data from client 0" in function "device_deserialize_incoming_data_command"
  • Do you have an idea how the firmware got lost?
  • Is it a hardware problem? Is the eye-tracker damaged?
  • Is there a way to manually install the firmware?

Thanks,
 Flo

pr_log1.zip

Link to comment
Share on other sites

Hi @fvfrfr,

Could we confirm if firmware is updated successfully on your side? (see below screenshot)

update.jpg.e60a8d612e57389b2d649bd3c93367f6.jpg

If not, try to power off HMD first then download file from https://dl.vive.com/SRSDK/runtime/VIVE_SRanipalInstaller.msi

After updating successfully then power on HMD and launch runtime again.

Eye chip firmware will update automatically and there is a message box pop up to notify user not to power off device when updating.

 

Link to comment
Share on other sites

Unfortunately the firmware is not updated.

I have attached the new logiles.

I performed the following steps:

  1. powered off the HMD
  2. uninstalled the old version
  3. removed the Tobii and the "HTC Corporation" folders
  4. downloaded the 1.3.0.9 version
  5. installed it
  6. powered on the HDM
  7. started the SRanipalRuntime

As you can see in the logiles, neither the firmware was detected, nor it was updated.

pr_log0.zip ViveSR_Log.zip

Edited by fvfrfr
Link to comment
Share on other sites

  • 2 weeks later...
On 10/9/2020 at 7:14 PM, fvfrfr said:

Hello all,

I am desperate: Since Monday our eye tracking is not working anymore. As you can see in the attached Tobii-Logfile, SRanipal requires to update the firmware of the eye tracking camera. This fails and is immediately retried, resulting in an endless loop of failed firmware updates. Unfortunately this firmware update is required and prevents the regular functioning. Also the EyeChip-device is always ejected and recognized again during this process. The HTC-Vive headset and ts cameras are working fine.

I tried already many things:

  • Several SRanipal-Versions: 1.0.2.0 and 1.3.0.9
  • Several USB-PCIe cards: Mainboard: Asmedia, Inateck KTU3FR-4P (Fresco Chip), Inateck KT4004 (Fresco Chip)
  • Several USB drivers: Microsoft 10.0.18362.693, Fresco 3.6.8.0, Fresco 3.8.35514.0
  • Several USB-Cables

Is there a way to update the firmware manually?
Is there a way to disable the firmware update?

Any help is appreciated.

Thank you,

 Flo

 

Tobii-VR4U2P2.zip 502.58 kB · 0 downloads SteamVR-2020-10-09-PM_04_44_35.zip 116.56 kB · 1 download ViveSR_Log.zip 1.01 MB · 1 download

Hi @fvfrfr,

Did you manage to get runtime version 1.3.0.9 working. In my experience the new firmware seems to break the core functionality(calibration, pupil size).  
I reverted to runtime 1.1.2.0 which solves my problems for now. Does 1.3.0.9 work for you?

My topic on this issue: EyeCalibration.exe broken in 1.3.0.9 ?

 

Link to comment
Share on other sites

Yes, I finally got it working.

A (not sure if the?) problem was the non accepted EULA license. @Tony PH Lin gave a good hint. However, it was a bit difficult, as in the frontend (how he suggested) the EULA was already accepted and therefore I was not able to accept it again. Then I figured out that the backend (SRanipalRuntime) stores the acceptance in its own config file (the above mentioned SRanipalConfig.ini). There it was not accepted and I had to set the following two properties:

ReadEULA=0
AcceptEULA=1

After I did that, SRanipalRuntime was able to install the firmware (version 2.41.0-942e3e4) at the second try. I am not sure if this really solved the problem or if it was only luck, as a week later I had the same issue and the firmware could only be installed after a restart of the computer (the EULA was accepted also before ).

So I am currently running  the runtime Version 1.3.0.9. Even thought this version is very buggy. I also had a lot of issues with that:

  • Not able to start the EyeCalibration from Unity anymore
  • Huge performance problems within Unity when requesting the eye data (only 2 fps possible)
  • Performance issues within SteamVR and the Steam Calibration

I solved them by starting the EyeCalibration manually (with the Vive Controller) from the SteamVR menu and plan more time for the procedure. The performance problems within Unity I solved by not using the getEyeData() function anymore. I only register the callback and then I do the whole synchronization, data handling and focus detection on my own. 

In total, I am very happy that currently everything works fine. But to be honest: I do not really trust it. I would not be surprised if it suddenly stops working from one day to another again.

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...