Bug 212559

Summary: Multiple sega saturn controllers on parallel port not working
Product: Drivers Reporter: Matheus (metalsonik)
Component: Input DevicesAssignee: drivers_input-devices
Status: NEW ---    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 5.8.0 Subsystem:
Regression: No Bisected commit-id:

Description Matheus 2021-04-05 13:13:49 UTC
I'm trying to use multiple sega saturn controllers on a single parallel port by the db9 driver.

The adapter uses a dual port input and a single printer output.

From my testing it works with only a single controller connected. Does not work with 2 controllers.
Also does not work when using a multitap (a device to connect 6 controllers to one single input).

The adapter uses the scheme from Direct Pad Pro.

It's not listed in the kernel documentation
https://www.kernel.org/doc/html/latest/input/devices/joystick-parport.html

But I found it looking in the source
https://github.com/torvalds/linux/blob/master/drivers/input/joystick/db9.c

In the source there's two parameters for the saturn DPP:
DB9_SATURN_DPP and DB9_SATURN_DPP_2
From what I could understand it's for using one or two devices connected to the lpt port.

Looks like it should support 12 controllers by using 2 multitap adapters.

With this command:
modprobe -v db9 dev=0,11
This way a single controller works. Only on the first adapter port. Multitap does not work.

With:
modprobe -v db9 dev=0,12
Nothing works

No errors reported on dmesg.

There's also a DB9_SATURN_PAD db9 parameter but I think it's for another adapter.

The adapter works. Wiring is correct. It works fine on windows on the same hardware.
I don't know when it stopped working in linux as it's my first time trying to use it.

Tested on ubuntu 20.10 and on a libreelec distro.