Skip to content

Cannot install v1.5.3 gateware on linux #683

Open

Description

@Rodgers-PAC-Lab

Describe the bug
I recently updated to Open Ephys GUI v1.0.1 on Linux. This version prompts me, "The detected version of the gateware is v0.1.0 and should be updated".

To update gateware, I downloaded OpenEphysFPGA-AcqV3V2-v1.5.3 from https://open-ephys.github.io/acq-board-docs/User-Manual/Gateware-Update.html . Two issues - 1) the UpdateFPGA.sh appears to contain a syntax error:

UpdateFPGA.sh: line 20: unexpected EOF while looking for matching `"'
UpdateFPGA.sh: line 37: syntax error: unexpected end of file

The apparent issue is that there is a missing double quote at the end of line 4, which should read file="Rhythm-v${VERSTRING}.bit"

When I add that final double quote, the script runs, but immediately terminates with an error.

Flashing Rhythm bitfile version 1.5.3 
This process will take some minutes.
There are steps during the process where the progress bar might seem frozen, but the programmer is working in the background.

Press any key to continue

UpdateFPGA.sh: line 25: linux/oe_programmer: Permission denied
Error while programming: %ERRORLEVEL% 
Please completely unplug the board from power and USB, plug it again and try again.
If the problem persists contact support with a full log of this window.

When I do the complete unplug/plug cycle, the results are the same.

To Reproduce
Described above

Versions:
Linux Mint 21
GUI : Open Ephys GUI v1.0.1 (Plugin API v10)
JUCE v8.0.7

Additional context
Not sure what version of open-ephys I just updated from, but everything worked properly before, so not a hardware issue

I am trying to remember if I need to update the drivers? I don't see instructions here: https://open-ephys.github.io/acq-board-docs/User-Manual/Driver-installation.html
Will check my emails

Update: I noticed that if I ignore the message about out-of-date gateware and just wait, it does actually seem to load everything. Here's a screenshot. It indicates I have old gateware. Should I continue to try updating gateware or just work with this old version?

Image

-Chris

Activity

  1. anjaldoshi commented on Jan 9, 2026

    @anjaldoshi
    Member

    Hi Chris,

    Thanks for the detailed report! Updating the gateware to v1.5.3 is important for the board to function properly with GUI v1.0.

    I've asked @aacuevas to look into the gateware update issue on Linux. In the meantime, the fastest way to address this would be to update the gateware using a Windows machine if you have access to one, and then plug it back into your Linux machine.

  2. cxrodgers commented on Jan 10, 2026

    @cxrodgers
    Contributor

    Thanks Anjal! (Sorry, posted from the wrong account before, this is me)
    Quick question about updating the gateware from the Windows option, is it necessary to install the FTD3XXDriver on Windows in order to update the gateware? Or is the driver only necessary to actually use the board on that machine?

  3. anjaldoshi commented on Jan 12, 2026

    @anjaldoshi
    Member

    Yes. According to the docs, the device drivers need to be installed on your Windows machine in order to update the gateware of your Acquisition Board.

  4. cxrodgers commented on Jan 19, 2026

    @cxrodgers
    Contributor

    @anjaldoshi I have booted into windows to try to update the gateware. First I installed the FTD3XX drivers according to https://open-ephys.github.io/acq-board-docs/User-Manual/Driver-installation.html. This appears to work, resulting in a status message like this:
    Image

    Then I rebooted the computer and attempted several times to run OpenEphysFPGA-AcqV3V2-v1.5.3/UpdateFPGA.bat . However, it does not work, generating one of these two slightly different error messages

    Image Image

    Any tips for what to try next would be much appreciated.
    Also, @aacuevas I wonder if you have any suggestions on the Linux script?

  5. cxrodgers commented on Jan 19, 2026

    @cxrodgers
    Contributor

    By the way this is a Generation 2 acquisition board: single power supply, no HARP CLK output.
    Does it matter if the power cable is plugged in or not? It seems to generally draw enough power from the USB to function without it.

  6. cxrodgers commented on Jan 19, 2026

    @cxrodgers
    Contributor

    Update: unplugging the USB and plugging into a different USB port seems to have fixed it? The mysteries of Windows..
    I will next try using it with my GUI software on Linux and see if it is recognized

  7. Rodgers-PAC-Lab commented on Jan 19, 2026

    @Rodgers-PAC-Lab
    Author

    Okay, the open-ephys GUI recognized the acquisition board. However, this is a bit strange, but none of the usual filters and sinks are visible, including even the good old LFP Viewer. So while I could start acquisition, I couldn't see anything on the screen.

    I reinstalled the GUI from these instructions (https://open-ephys.github.io/gui-docs/User-Manual/Installing-the-GUI.html#) and now it lacks even the "Acquisition Board" sink. Also there is an error message "Loading configuration from /home/mouse/configs/acq_board_config.xml", but this directory does not exist. I think it is not properly installed. I am going to try installing from source.

  8. Rodgers-PAC-Lab commented on Jan 20, 2026

    @Rodgers-PAC-Lab
    Author

    I have compiled the Debug build of the open-ephys plugin GUI from source, following the instructions. There are no errors during compilation, but upon starting the GUI, I get this message:

    [open-ephys][debug] Loading Plugin: acquisition-board... 
    [open-ephys]***ERROR*** acquisition-board.so: undefined symbol: _ZThn360_N16GenericProcessor22parameterChangeRequestEP9Parameter
    [open-ephys]***ERROR*** acquisition-board.so Load FAILED!
    

    All other plugins appear, but there is no Acquisition Board source plugin.

    I reviewed my old emails with @aacuevas . A few years ago, the fix was to link libonidriver_ft600.so and libftd3xx.so from the ".config" directory to /usr/local/lib. These library files no longer exist within .config; however, I found them in the github repository and in the OpenEphysFPGA-AcqV3V2-v1.5.3 download. Relinking them to /usr/local/lib does not fix the problem. I have also tried linking them to /usr/lib/x86_64-linux-gnu but this doesn't seem to help either. Any tips on how to fix this shared library issue? Thanks!

  9. aacuevas commented on Jan 21, 2026

    @aacuevas
    Collaborator

    This particular error does not seem related to the ftdi drivers, but rather an incompatibility between the GUI and the plugin (the _ZThn360_N16GenericProcessor22parameterChangeRequestEP9Parameter symbol is part of the GUI API). Did you build the acquisition board plugin as well, or downloaded via the plugin manager?
    Plugins in the plugin manager are built for the Release version of the GUI. Likewise, when manually building, both plugins and GUI must have the same release type.

    Regarding the linux script for firmware update, we are preparing a new firmware that greatly speeds up the acquisition board startup times and will require a new programmer and script, we'll update all at once.

    Lastly, your FPGA board seems to be of the first batches, as noted by bootloader version 1. That version has a known issue which can cause issues while flashing on specific usb configurations. Unfortunately, it is not possible to update the bootloader. However, it does not affect normal operation, only when flashing a firmware. And flashing issues can often be solved by using different ports. Once the programmer reports an ok, there is no other side-effect.

  10. cxrodgers commented on Jan 21, 2026

    @cxrodgers
    Contributor

    Thanks @aacuevas !!

    Did you build the acquisition board plugin as well, or downloaded via the plugin manager?

    I definitely didn't download it via the plugin manager. I think I built it. I followed these instructions (installed dependencies, ran cmake and make in the Build directory). I tried both -DCMAKE_BUILD_TYPE=Debug and -DCMAKE_BUILD_TYPE=Release, and the results were the same (except the Debug build prints a lot more messages, such as the error I pasted above). Is there another step to building the Acquisition Board plugin?

    Here is what I see in my plugin-GUI/Build/Plugins directory:

    mouse@shrimp:~/dev/plugin-GUI$ ll Build/Plugins
    total 60
    drwxrwxr-x 12 mouse mouse 4096 Jan 20 14:20 ./
    drwxrwxr-x  7 mouse mouse 4096 Jan 20 14:20 ../
    drwxrwxr-x  3 mouse mouse 4096 Jan 20 14:20 ArduinoOutput/
    drwxrwxr-x  3 mouse mouse 4096 Jan 20 14:20 BandpassFilter/
    drwxrwxr-x  3 mouse mouse 4096 Jan 20 14:20 ChannelMap/
    drwxrwxr-x  2 mouse mouse 4096 Jan 20 14:20 CMakeFiles/
    -rw-rw-r--  1 mouse mouse 2891 Jan 20 14:20 cmake_install.cmake
    drwxrwxr-x  3 mouse mouse 4096 Jan 20 14:20 CommonAvgRef/
    drwxrwxr-x  3 mouse mouse 4096 Jan 20 14:20 LfpViewer/
    -rw-rw-r--  1 mouse mouse 4351 Jan 19 16:59 Makefile
    drwxrwxr-x  3 mouse mouse 4096 Jan 20 14:20 PhaseDetector/
    drwxrwxr-x  3 mouse mouse 4096 Jan 20 14:20 RecordControl/
    drwxrwxr-x  3 mouse mouse 4096 Jan 20 14:20 SpikeDetector/
    drwxrwxr-x  3 mouse mouse 4096 Jan 20 14:20 SpikeViewer/
    

    I don't see anything listed for Acquisition Board, maybe that is the issue?

    I could also try installing the DEB again, instead of building, if you think that's more likely to work. I remember that that was the key to getting it working with the previous version of the GUI, but it did not seem to work this time.

  11. anjaldoshi commented on Jan 21, 2026

    @anjaldoshi
    Member

    Hi @cxrodgers,

    Could you try installing the latest GUI v1.0.2 beta .deb package from here, then launch the GUI using your Linux distribution’s application launcher? Launching from the terminal prevents some built‑in plugins from loading which is what you're seeing. After that, install the latest version of the Acquisition Board plugin from the Plugin Installer and see if everything works.

  12. Rodgers-PAC-Lab commented on Jan 26, 2026

    @Rodgers-PAC-Lab
    Author

    v1.0.2 beta deb works! I can open the GUI and it will detect an Acquisition Board. Thanks!

    I do note that it takes about 3 minutes to start up. About one minute for "Initializing ONI Acquisition Board", one minute for "Scanning Ports", and one minute of a grayed-out interface without a message. I recall that the previous version was snappier about starting up. Is this delay expected?

    ------------------------------------------------
    	Session Start Time: 26 Jan 2026 16:53:17
    ------------------------------------------------
    
    [open-ephys] Open Ephys GUI v1.0.2 (Plugin API v10)
    [open-ephys] JUCE v8.0.7
    [open-ephys] Operating System: Linux
    [open-ephys] CPU: 12th Gen Intel(R) Core(TM) i5-12400 (12 core)
    
    [open-ephys] Audio device name: Playback/recording through the PulseAudio sound server
    [open-ephys] Audio device type: ALSA
    [open-ephys] Audio output channels: 2
    [open-ephys] Audio device sample rate: 44100
    [open-ephys] Audio device buffer size: 1024
    
    [open-ephys] Signal chain cleared.
    [open-ephys] Creating processor with name: Acquisition Board
    [acquisition-board.so] Searching for Opal Kelly Acquisition Board...
    [acquisition-board.so] No Opal Kelly Acquisition Board found.
    [acquisition-board.so] Searching for ONI Acquisition Board...
    [acquisition-board.so] Board opened successfully.
    [acquisition-board.so] ONI Library version: 4.3.12
    [acquisition-board.so] ONI Driver: ft600 Version: 1.0.3
    [acquisition-board.so] FTDI Driver version: 1.0.16
    [acquisition-board.so] FTDI Library version: 1.0.26
    [acquisition-board.so] Open Ephys ECP5-ONI FPGA open. Gateware version v1.5.3
    [acquisition-board.so] Acquisition board ID = 256
    [acquisition-board.so] Initializing ONI Acquisition Board...
    [open-ephys] Creating processor with name: Record Node
    [open-ephys] Creating processor with name: LFP Viewer
    [open-ephys] Creating processor with name: Bandpass Filter
    [open-ephys] Creating processor with name: Spike Detector
    [open-ephys] Creating processor with name: Audio Monitor
    [open-ephys] Creating processor with name: Record Node
    [open-ephys] Creating processor with name: Spike Viewer
    [open-ephys] Checking for a newer version of the GUI...
    [open-ephys] Beginning HTTP server on port 37497
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

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