Description
When a gamepad is connected that has no user-defined profile, input-remapper-control fails in a way that causes the USB device to reset. The device then reconnects, triggers udev again, input-remapper-control fails again, and the cycle repeats indefinitely every 3-4 seconds. The controller becomes completely unusable.
The expected behavior would be to fail silently and leave the device alone when no profile exists for it.
Steps to reproduce
- Have a gamepad connected with no input-remapper profile configured for it
- Connect the device
- Observe the device disconnecting and reconnecting in a loop
Logs
udev triggering input-remapper-control, which fails and causes the reset loop:
(udev-worker)[12730]: input31: Process '/bin/input-remapper-control --command autoload --device ' failed with exit code 2.
(udev-worker)[14140]: js0: Process '/bin/input-remapper-control --command autoload --device /dev/input/js0' failed with exit code 5.
(udev-worker)[14123]: event28: Process '/bin/input-remapper-control --command autoload --device /dev/input/event28' failed with exit code 5.
The autoload desktop entry also attempts to access the device and fails:
input-remapper-gtk.desktop: Request to autoload for "8BitDo Ultimate 2 Wireless Controller"
gnome-shell: Could not open device /dev/input/event28: No such file or directory
The USB device cycling visible in dmesg (device number increments on every reconnect):
usb 1-5: New USB device found, idVendor=2dc8, idProduct=310b
usb 1-5: Product: 8BitDo Arcade Controller
hid-generic 0003:2DC8:310B.0033: hiddev99,hidraw5: USB HID v1.11 Device on usb-0000:01:00.0-5/input2
usb 1-5: USB disconnect, device number 68
usb 1-5: New USB device found, idVendor=2dc8, idProduct=310b ← reconnect
...
Additional context
The device (8BitDo Arcade Controller, idVendor=2dc8, idProduct=310b) has a firmware bug where it declares bNumInterfaces 2 but numbers them 0 and 2 instead of 0 and 1. The kernel accepts it with a warning. This bug alone does not cause any issues — the device works fine without input-remapper. The reset loop only occurs when input-remapper is installed and running.
Workaround: neutralizing /usr/lib/udev/rules.d/99-input-remapper.rules by overriding it with an empty file in /etc/udev/rules.d/99-input-remapper.rules, and removing /etc/xdg/autostart/input-remapper-autoload.desktop.
Environment
- input-remapper version: 2.2.0-1.fc43
- Kernel: 6.17.7-ba29.fc43.x86_64
- OS: Bazzite (Fedora 43 based)
- Desktop: GNOME
- Device: 8BitDo Arcade Controller (idVendor=2dc8, idProduct=310b) via wireless receiver (idVendor=2dc8, idProduct=3109)
Description
When a gamepad is connected that has no user-defined profile,
input-remapper-controlfails in a way that causes the USB device to reset. The device then reconnects, triggers udev again,input-remapper-controlfails again, and the cycle repeats indefinitely every 3-4 seconds. The controller becomes completely unusable.The expected behavior would be to fail silently and leave the device alone when no profile exists for it.
Steps to reproduce
Logs
udev triggering input-remapper-control, which fails and causes the reset loop:
The autoload desktop entry also attempts to access the device and fails:
The USB device cycling visible in dmesg (device number increments on every reconnect):
Additional context
The device (8BitDo Arcade Controller, idVendor=2dc8, idProduct=310b) has a firmware bug where it declares
bNumInterfaces 2but numbers them 0 and 2 instead of 0 and 1. The kernel accepts it with a warning. This bug alone does not cause any issues — the device works fine without input-remapper. The reset loop only occurs when input-remapper is installed and running.Workaround: neutralizing
/usr/lib/udev/rules.d/99-input-remapper.rulesby overriding it with an empty file in/etc/udev/rules.d/99-input-remapper.rules, and removing/etc/xdg/autostart/input-remapper-autoload.desktop.Environment