Red Hat Bugzilla – Bug 1315023
joystick-support should install kernel-modules-extra
Last modified: 2016-12-20 14:15:33 EST
Description of problem:
My gamepad was not working (even though it used to, but at the time I was probably on Fedora 22) even though `joystick-support` package is installed.
After checking the conf file in the package (`/usr/lib/modules-load.d/joystick.conf`) I realize it should also load the module `analog` which was not installed on my system. This module is provided by `kernel-modules-extra`, which had not been pulled by `joystick-support`.
Version-Release number of selected component:
This has been reproduced on 2 machines with Fedora 23, one of them being an upgrade from Fedora 22, the other being a fresh Fedora 23 installation.
Steps to Reproduce:
1. Install `joystick-support`
Actual results: `kernel-modules-extra` is not installed.
Expected results: `kernel-modules-extra` should get pulled and installed.
The following command seems to say that `kernel-modules-extra` is a dependency:
> $ dnf repoquery --requires --resolve joystick-support
> Last metadata expiration check performed 0:17:45 ago on Sat Mar 5 21:08:10 2016.
But the fact is that it didn't get installed together. I had to install it manually myself after investigating why my gamepad was not working. So I guess something is wrong here, but I don't know what exactly.
kernel-modules-extra isn't supposed to get pulled in directly. The module is supposed to be required. And if the module is in extras, then extras would get pulled in.
So there may be a problem with the correct version of extras getting pulled in.
It is also possible joystick support isn't requiring all of the needed modoules
(as different joystick devices might need different modules). Currently kmod(joydev.ko) and kmod(analog.ko) are required.
PAE wouldn't cause a problem in your case, but maybe kernel-debug-modules-extra got installed and satisified the module requirement?
kernel-debug-modules-extra for my kernel (4.4.3-300.fc23.x86_64) is not installed. So that's not it.
As for my specific joystick, this is a Xbox 360 controller, plugged in USB. When plugging it, the light would just blink but it would not work. It did work fine after I installed kernel-modules-extra and ran manually:
> sudo modprobe analog
(I understand reading https://apps.fedoraproject.org/packages/joystick-support/sources/spec that this would have been run by joystick-support package, but since it was already installed in my case, I had to load it myself…)
Checking `dnf history`, no other packages had been pulled in and installed when installing kernel-modules-extra.
So the problem really seems to be related to the absence of the analog kernel module. Unless other modules used by `analog` and loaded in same time were my solution. I see for instance that `analog` uses `gameport`. I don't have the gamepad with me right now to check if just loading `gameport` is enough to have it working.
In any cases, even if some joystick devices may not need all the modules, some need these, right? So the fact that kernel-modules-extra was not pulled in (even not directly, but as a requirement) on 2 machines yesterday is still a problem, right?
There is an oddity if you have multiple kernels installed and only some have kernel-modules-extra. kernel-modules-extra from a non-running kernel can satisfy the dependency even though the module was not available for the running kernel. Could this apply in your case? Smoething should be providing kmod(analog) unless there is an rpm or dnf bug.
> There is an oddity if you have multiple kernels installed and only some have kernel-modules-extra.
I said `kernel-debug-modules-extra` was not installed, not `kernel-modules-extra` (since this is what fixed my problem, so this last one was definitely installed).
Also yes, `kernel-debug-modules-extra` was not installed for my specific kernel though it was installed for previous kernels. I just did an update today, and the kernel-debug-modules-extra for 4.4.3-300.fc23 got installed while making the update. Is that normally supposed to be impossible to get a new kernel update while not getting the update for kernel-debug-modules-extra?
Sorry, I misread your question. I would not expect kernel-debug-modules-extra to get pulled in by joystick support. I would expect it to get updated if it was already installed.
Ok. Anyway I am a little lost here. Is there anything needed to be tested, or logs to be checked or whatever?
For me, the facts are simply that installing joystick-support was not enough to have my gamepad working, but installing also kernel-modules-extra (not pulled by joystick-support) did the trick. Now I am not sure if the rpm spec has a bug, or something else. But I would think something is wrong somewhere and should be fixed for the next guy who will try to have one's joystick working on Fedora.
So just tell me if you need anything to diagnose and fix the issue. And I'll try and get the info. :-)
There is a limitation of requires for packages that can have multiple versions installed at once. Any version will satisfy the requirement unless it is tied to a specific version here. So if you had kernel-modules-extra installed for an older kernel, but not the running kernel, installing joystick-support would not pull in kernel-modules-extra for the running kernel. Normally that isn't a problem, because updating when you have kernel-modules-extra installed will normally install it for the new kernel. I am not sure why this didn't happen in your case. I don't think there is a good way to handle this.
When I installed joystick-support (on F23), it installed kernel-debug-modules and kernel-debug-modules-extra but not those without debug.
Did you already have a debug kernel installed? joystick support requires a specific module that is provided by both kernel-modules-extra and kernel-debug-modules-extra. I suspect something changed with dnf to make it easier to get the debug versions pulled in, but I don't know the exact circumstances under which the debug versions get used.
This message is a reminder that Fedora 23 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 23. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora 'version'
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.
Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 23 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
Fedora 23 changed to end-of-life (EOL) status on 2016-12-20. Fedora 23 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
Thank you for reporting this bug and we are sorry it could not be fixed.