Parallel Port Issues w/ Windows 11

I am trying to utilize a Magstim TMS machine with Psychopy (via TTL signalling) and having difficulties getting psychopy to cooperate with the port address.

I have tried utilizing the solutions found in previous threads ( Parallel Port Issues - Simple solve , Parallel port code no longer working since update to Psychopy 2022.1.1 ) and ensuring that the drivers are in the experiment folder.

What some solutions suggest is to copy the drivers into the 32-bit windows directory (such as in these threads Problem with psychopy.parallel - #5 by audachang , Parallel Port Issues - Simple solve ) however, current iterations of Windows 11 does not have have a 32-bit capacity to actually do that.

I know that the computer is able to send signals to the TMS machine (windows recognizes a device is plugged in, and sends signals during startup).

I followed the guide found here ( Communicating via a Parallel Port — PsychoPy v2025.2.1 ), have tried going through each of the port addresses and the LPT port name, using both the EEG parallel port out, and the I/O parallel port out components. I also tried the solution from here ( Sending Triggers to EEG with Parallel Port - #3 by rsells2 ) of setting duration to 100ms.

The same problem occurs regardless. I start the experiment and it crashes after the “initializing frames” screen, and I see the runner output. However, I the program is unresponsive and I have to use task manager to close out of psychopy.

The output I get is:

 WARNING psychopy.parallel has been imported but no parallel port driver found. Install either inpout32, inpoutx64, or dlportio.
p_port = parallel.ParallelPort(address = '0x____') 
TypeError: 'NoneType' object is not callable.

(address is correctly set, just showing blank as it doesn’t matter which port in the range, or the LPT port address using legacy plug and play).

I am using Windows 11, and using a serial port card in a PCIE slot. The drivers for the card are installed and working (and the computer can send signals to the machine), but I am not sure why Psychopy is unhappy. My psychopy version is 2024.2.4.

Is this the first time someone has tried parallel ports on Windows 11 and that’s the issue? I am also going to try a different PCIE Parallel Port Card (it is still in transit) in case it’s because psychopy doesn’t like this card’s drivers for whatever reason.

Any advice?

Issac

Hello @stanley1O1

Which type of port card are you using: parallel or serial? Using parallel port code with a serial card would not work.

Best wishes Jens

Dear @JensBoelte,

Sorry misspoke there, it is indeed a parallel port card.

Issac

Do you think this is a builder problem? Would this be able to be fixed via coding the parallel setup? Or maybe coding to tell psychopy where the drivers are?

Hello

The error message suggests that PsychoPy does not find the parallel port driver. I wonder why it does not find the parallel driver. I have no idea why it would find the drive if is installed in the proper folder. I guess I would write a little Python program to test the parallel port.

Best wishes Jens

Do you think it’s a problem with psychopy and using exclusively 64 bit?

All of the previous threads I have seen implement fixes via using the 32 bit system folder.

Do you happen to have a resource/mock example of python that deals with parallel ports? Or a specific library you’d recommend?

Issac

Hello @stanley1O1

Well, I do not know about a specific library that would help. You could ask ChatGPT or Claude to write you a parallel port program in Python. I have currently no access to the system we use. Sorry

Best wishes Jens

I have tried a few different python scripts so far, and none of them work to actual send a signal. For whatever reason, the drivers provided from highrez are not “playing nice”.

Looking into it a bit more on the highrez forums, this is a common problem with trying to use these drivers in windows 11. InpOut32 (x64) - Highrez System OS stuff is waay beyond me, so I may be incorrect in my understanding here.

With most academic institutions encouraging/forcing a swap from windows 10 to 11 due security concerns (when microsoft stops providing updates for windows 10 in the near future), does Psychopy have any plans to address this inevitable issue? @jon @wakecarter Should this question be it’s own post or am I jumping the gun on this issue?

Issac

Hello @stanley1O1

Which card do you use? This claims to be WIN11 compatible SUNIX - Parallel (LPT)

Best wishes Jens

Ultimately, if the drivers don’t allow us to communicate with the parallel port under Win11 then we need to move to different kit - I’m afraid we don’t have the capacity to work on low level drivers (especially for old hardware solutions that windows might block again in subsequent releases).

BUT there are various USB devices that allow low-latency triggers to be sent/received such as:

  • USB2TLL8 from labhackers
  • Labjack more flexible but more faff to set up, including the fact that it isn’t DB25 port
  • BBTK USB TTL event marker

These all have sub-ms timing for your triggers and work on any platform

Hello, I was having exactly the same issue, new Windows11 install, previously working script now refusing to trigger Magstim Rapid under the new install. I solved it by using a similar solution to that mentioned here: Sending Triggers to EEG with Parallel Port - Builder - PsychoPy
That is, I copied all the files mentioned into my System32 and my SysWOW64 and my experiment folder. I am impatient so I didn’t systematically do this one by one… but now it works. I had them all just in my experiment folder before that so likely it was one/both of the system folders that did it.
Again I didn’t test which file did the trick but this is the list of files I copied:


and note that the DLPortIO file here is a renamed version of the inpout32 DLL file as recommended in the DLPortIO text file. Presumably only one or two of these were actually needed in each location but I didn’t have time / inclination to systematically test each file and each location.
I’m running PsychoPy 2025.1.1 and triggering a Magstim Rapid 2 via the parallel port using this parallel port card 1-Port Parallel PCIe Card - PCI Express to Parallel DB25 Adapter Card - Desktop Expansion LPT Contro
I hope this helps, thank you everyone for your continued work on this software and on support!

1 Like

Just realised the solution was first mentioned here Cannot send a signal via ParallelPort using PsychoPy on Windows7 (64bit) - #2 by mdc and it seems the key file is the inpoutx64.dll driver

Hej! This thread seems very relevant for our problems, though we do not get any warning message and psychopy is neither crashing:

In our EEG lab, we have a stimulus presentation computer with E-prime which is connected to an EEG recording computer with Curry 9 (Compumedics Neuroscan) via a parallel port integrated in a SynAmps RT (Model 9032, Compumedics Neuroscan) System Unit. This system works well.

We recently tried to use Psychopy 2024.2.4 (under Windows 11) for stimulus presentation, but we were unable to receive triggers sent by Psychopy to Curry 9. The port address is correct, all the Psychopy drivers (“inpoutx64.dll” and “inpoutx64.lib”) are in the same folder as the Psychopy experiment and in System32 (as explained here https://psychopy.org/hardware/parallelPortInstr.html), and we do not receive any error messages when running the Psychopy experiment. However, the triggers from Psychopy are still not appearing, even though they are shown when running the same setup with E-Prime instead of Psychopy.

Does anyone have experience with Psychopy on Windows 11 and experienced similar issues?

We are a bit clueless how to fix or further troubleshoot.

Thankful for any hints and suggestions!

best,
Linn

If you’re not getting those driver-related error messages I reckon it’s a different problem - have you tried the solution mentioned here Sending Triggers to EEG with Parallel Port - #5 by rsells2 i.e. play around with the duration of your trigger in PsychoPy?