Version of xpadneo
v0.9-214-g8d20a23
Controller Model
Connection mode
Installed Software
Protocol Information
Please help us identify at which layer the problem can be found if you want
to report mapping errors or if the controller fails to be detected:
Please describe how it is failing below in the next sections.
Severity / Impact
Describe the Bug
dkms.post_remove is blindly removing files without checking if there's still a kernel installed that needs to make use of them. Specifically:
/etc/modprobe.d/xpadneo.conf
/etc/udev/rules.d/70-xpadneo-disable-hidraw.rules
/etc/udev/rules.d/60-xpadneo.rules
Steps to Reproduce
I use a script that first installs a new locally compiled kernel (using dpkg -i ...), and only if that succeeds do I then remove the version prior to the one currently running. i.e. I had 6.12.9 and 6.12.10 installed, am booted into 6.12.10 and have just installed 6.12.11. First 6.12.11 was installed, then 6.12.9 was removed. The latter operation invoked dkms.post_remove and removed the affected files.
Obviously if I first removed old-old version and then installed new version this would be moot, as the latter action would invoke dkms.post_install, but I have reason to do it in this order.
I only caught this because I keep /etc under git.
Expected Behavior
Some check to see if at least one DKMS applicable kernel is still installed, and if so do not remove the files.
In this instance I've worked around this by running the dkms.post_install manually to restore the files.
Perhaps the output of dkms status could be utilised for this purpose. It would be quicker to use dkms status hid-xpadneo/<version>, but I don't know if the version would easily be available to the script.
Screenshots / GIFs / Videos
System Information
# uname -a
Linux emilia 6.12.10-athan #1 SMP PREEMPT_DYNAMIC Fri Jan 17 14:25:31 GMT 2025 x86_64 GNU/Linux
# xxd -c20 -g1 /sys/module/hid_xpadneo/drivers/hid:xpadneo/0005:045E:*/report_descriptor | tee >(cksum)
<presumed irrelevant>
Controller and Bluetooth Information
Additional Context
Version of xpadneo
v0.9-214-g8d20a23
Controller Model
Connection mode
Installed Software
Protocol Information
Please help us identify at which layer the problem can be found if you want
to report mapping errors or if the controller fails to be detected:
evtestis showing issues (describe the issues below)BTN_NORTHandBTN_WESTare intentionally swappedjstestis showing issues (describe the issues below)gamepad-toolis showing issues (post console output below)Please describe how it is failing below in the next sections.
Severity / Impact
Describe the Bug
dkms.post_removeis blindly removing files without checking if there's still a kernel installed that needs to make use of them. Specifically:Steps to Reproduce
I use a script that first installs a new locally compiled kernel (using
dpkg -i ...), and only if that succeeds do I then remove the version prior to the one currently running. i.e. I had 6.12.9 and 6.12.10 installed, am booted into 6.12.10 and have just installed 6.12.11. First 6.12.11 was installed, then 6.12.9 was removed. The latter operation invokeddkms.post_removeand removed the affected files.Obviously if I first removed old-old version and then installed new version this would be moot, as the latter action would invoke
dkms.post_install, but I have reason to do it in this order.I only caught this because I keep
/etcunder git.Expected Behavior
Some check to see if at least one DKMS applicable kernel is still installed, and if so do not remove the files.
In this instance I've worked around this by running the
dkms.post_installmanually to restore the files.Perhaps the output of
dkms statuscould be utilised for this purpose. It would be quicker to usedkms status hid-xpadneo/<version>, but I don't know if the version would easily be available to the script.Screenshots / GIFs / Videos
System Information
Controller and Bluetooth Information
Additional Context