Skip to content
This repository was archived by the owner on Dec 14, 2025. It is now read-only.
This repository was archived by the owner on Dec 14, 2025. It is now read-only.

Random hard freezes on wired mode + weird SteamVR interaction #89

@Thorinair

Description

@Thorinair

I have been dealing with this issue for around 2 weeks now. I am using XIAO ESP32S3 Sense boards for both eyes in wired (USB) mode and the camera feeds randomly freeze without a warning or any apparent error. This can happen in 5 minutes or in 1 hour, and the freeze usually lasts for a few minutes before the feed comes back on its own.

The issue happens both in the official ETVR app, and in the ML based EyeTracking. In ETVR, it causes a harder freezup which causes the terminal and the main UI to become unlinked requiring me to close both manually. Closing and reopening ETVR UI usually fixes the issue, but doing so with the ML one does not (different handling of COM ports?). Replugging the stuck board usually fixes the issue as well.

When in SteamVR, the behavior is even more bizzare. Each time one of the boards is connected or disconnected, the icon for the desktop view in the overlay disappears briefly and reappears. This doesn't seem to happen with any device other than the boards. On more careful observation and testing, it also seems that this action sometimes sends the action equivalent to pressing the button on Index controllers which usually toggle the overlay, as it can sometimes cause the overlay to close. This is usually permanent and it becomes impossible to reopen it afterwards. Additionally, if I am in VR, I will feel a short freeze of the cursor the moment a camera freezes.

Digging into the Steam log files, I have also found this in the basestation_wireless log file, it seems that it tries to access the boards, or at least sees them as available COMs. Here, COM8 and COM9 are the boards.

Sun Mar 30 2025 21:34:32.794 [Info] - [Bluetooth Controller] Activate BaseStation Controller.
Sun Mar 30 2025 21:34:32.802 [Info] - [NRF (HMD)] COM9 (303A:1001 Serial: 74:4D:BD:96:DE:D0)
Sun Mar 30 2025 21:34:32.802 [Info] - [NRF (HMD)] COM4 (28DE:2102 Serial: C28B69E1BE-RYB)
Sun Mar 30 2025 21:34:32.802 [Info] - [NRF (HMD)] COM4 (28DE:2102 Serial: CEBEB2F273-LYM)
Sun Mar 30 2025 21:34:32.802 [Info] - [NRF (HMD)] COM8 (303A:1001 Serial: 74:4D:BD:96:ED:78)

That said, here are all the things I have tried:

  • Playing the feeds both using ETVR app and the ML based ET app
  • Tried different firmwares, both release and debug of latest and both release and debug of beta
  • Changing the COM ports
  • Manually replacing the drivers for the boards using zadig (I tried different drivers)
  • Disabling the device from Device Manager which represents the "Eject USB JTAG/serial debug unit"
  • Connecting the boards directly to my PC without any hubs
  • Disconnecting almost all USB devices other than the hubs I have (this includes a BT dongle, dongle for my headphones, Vive Tracker dongles and my audio interface)
  • Not having the Index connected at all
  • Disabling any gamepad/controller features in Steam and SteamVR
  • Not having Steam running at all
  • Closing most services like Nvidia Broadcast, Dropbox, Parsec, Backblaze, basically any kind of additional service that I usually have running.

I had one single thing that seems to have worked: Using a different PC. The boards didn't seem to freeze when connected to my laptop. Both my PC and laptop run Windows 11 and have very similar software installed including Steam, so I have no idea what makes it different.

State in ETVR app when the stream gets frozen and then comes back again, other than the occasional Corrupt JPEG data which is always occasionally written, it shows [WARN] Frame drop the moment the image comes back:

Image

When restarting ETVR app doesn't fix the cameras, it appears like this, as a missing image. ETVR also doesn't seem to complain about it and says it has connected to the COM anyway.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions