Guide

LSL troubleshooting & checks

What each message means, how to fix it, and how to check a recording without writing code.

Most problems come down to one of three things not running, or running on a different computer. Start with the quick check, then find the message you are seeing below.

Quick check

  • Is the bridge window open, and does it say “listening on ws://127.0.0.1:17654”?
  • Is the study open in Chrome on the same computer as the bridge (not Preview)?
  • Is LabRecorder recording (you pressed Start) with “VibeMyExpt Markers” ticked?

Test without any device

You can rehearse the whole session before the eye tracker or amplifier is set up. Start the bridge and LabRecorder, tick only “VibeMyExpt Markers”, and take your own study. If the markers show up in the recording (see the next section), the platform side is working, and any later problem is on the device side.

Check a recording without code

  1. 1

    Install SigViewer

    A free viewer that opens .xdf files. Download it from github.com/cbrnr/sigviewer/releases (Windows: the file ending in windows-x86_64.exe ; Mac: the .dmg ).

  2. 2

    Open your recording

    File → Open, choose the .xdf file from your Study Root folder. Your device’s signal is drawn as traces.

  3. 3

    Look for the markers

    Markers appear as events along the timeline: 1, 2 and 3 from the check screen, then session_start:… , your experiment’s marker numbers, and session_end:… at the end.

    Count a few against what the participant saw — e.g. one stimulus marker per trial. The Data tab export (events.tsv) lists the same markers with their trial details.

Messages and fixes

Starting the bridge

  • “uvx is not recognized” — uv isn’t installed yet, or PowerShell was open during the install. Install it (see the LSL guide), close PowerShell, open a new one and try again.
  • “Could not listen on port 17654” — a bridge is already open in another window. Use that one, or close it first.
  • The window flashes and disappears — open PowerShell first and type the command there, rather than double-clicking anything.
  • It hangs or fails on the first run — the first run downloads the bridge. If your institution’s network blocks it, ask IT to allow pypi.org and files.pythonhosted.org, or run it once on another network.

On the check screen

  • “The LSL bridge is not running on this computer” — make sure the bridge window is open on this same computer, then click Connect LSL bridge. If your study uses a different port, run the exact command shown on the check screen.
  • Chrome asked about devices on your local network and you clicked Block — click the icon left of the web address → Site settings → Local network access → Allow, then reload the page.
  • “Waiting for LabRecorder” — LabRecorder only subscribes once it is recording. Click Update, tick “VibeMyExpt Markers”, and press Start.
  • “Pushed to LSL 0 / 3” — the bridge closed or disconnected. Check its window is still open, then send the test markers again.

In LabRecorder

  • “VibeMyExpt Markers” isn’t in the list — the bridge isn’t running, or you need to click Update.
  • LabRecorder is on a different computer and can’t see the stream — both computers must be on the same network, and the firewall must allow LSL. Running LabRecorder on the study computer avoids this.
  • LabRecorder.exe disappeared after unzipping — antivirus removed it. Restore it from quarantine or allow the folder.

In your data

  • lsl_ack is False for some rows in events.tsv — the bridge was closed or disconnected then, so those markers may be missing from the recording. The rest of the session is unaffected.
  • lsl_ts_source is “receipt” — that marker was timed on arrival rather than from the browser’s clock (normal for the first second after connecting). It is still accurate to a few milliseconds.
  • No session_end marker — the participant didn’t finish, or the bridge or LabRecorder was stopped early.
Still stuck? Send us the text in the bridge window, a screenshot of the check screen, and the events.tsv from the Data tab — together they show exactly where the markers stopped.