Description of problem:
In the future, let's add support for informing the user that a driver failed to load because it was incompatible. All we need to do is detect the udev/modprobe/kernel message and inform the user that a driver update they pulled in was incompatible. It would be easier than silently failing if compatibility issues exist. I can help to implement this, but let's have a bug.
Would it be sufficient to capture the modprobe stderr and display that in a dialog box to the user?
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux maintenance release. Product Management has
requested further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update release.
John, how do you expect this to work in udev controlled environment?
Do you know where we can get and how do we filter the relevant messages and status?
This might be better solved directly in depmod during the proposed driver version solving (which we will probably talk about some time very soon).
Firstly, I would like to decrease the priority on this bug. It is not a trivial implementation, and I think perhaps best left to 7.0 at this rate.
My suggestion is that you could:
1). Determine ehether no modules were loaded/changed after udev ran. Iterate over all sysfs module directories, take the module srcversion hashes, note that nothing changed. Or that something did. That tells you what happened.
2). If nothing happened, provide the user with the kernel log messages since the kernel itself will report on symbols that failed to resolve, etc. You could go digging for the modprobe output, but as David says, that gets tricky. Since it's unexpected that this will fail, I think it's reasonable to only output the end of the kernel log messages. That is better than nothing, and useful for debugging.
3). If a module disappeared (because it was going to be replaced but the replacement was incompatible) then you can additionally know exactly what the module that failed was called, and where it came from.
Development Management has reviewed and declined this request.
You may appeal this decision by reopening this request.