I have an issue with dual parallel port setup. Basically the second port does not work with PsychoPy for some reason. The OS is Ubuntu 14.04 (64bit). Weird thing is that both ports work with simple C-code.
‘dmesg | grep parport’ gives:
[ 1.335521] parport_pc 00:05: reported by Plug and Play ACPI
[ 1.335564] parport0: PC-style at 0x378, irq 5 [PCSPP]
[ 1.429308] lp0: using parport0 (interrupt-driven).
[ 1.519372] SNX Info : parport2 - PC-style at 0xd050 (0xd040)
[ 1.520124] SNX Info : lp2 port using parport2 (polling).
Now when sending pulses to the ports with the C-code which gives me option to send the pulses directly to memory address (0x378 and 0xd050), the ports work just fine. So I figure the problem lies with the PsychoPy (?).
With PsychoPy, parport0 (0x378) works as it should. But parport2 (0xd050) does not. I don’t get any signal from parport2. I have tried ‘import parallel’ and ‘from psychopy import parallel’ modules. In the script I define my port as follow:
port = parallel.Parallel(0) # replacing ‘0’ with ‘/dev/parport0’ works as well
port = parallel.ParallelPort(0) # if using ‘from psychopy import parallel’
So this works. But when replacing ‘0’ with ‘2’ (or ‘/dev/parport2’) I don’t get any signal. I also don’t get any errors. If I use ‘1’ instead of ‘0’ or ‘2’ I get an error message saying that ‘/dev/parport1’ does not exist which is correct because I don’t have parport1.
Any suggestions? Is there a way to force PsychoPy to send signal to 0xd050? Well, parallel.Parallel(2) should do that, right?