[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Processed: Bug#725714: udev firmware loading does not work in the Debian installer



On Fri, Dec 13, 2013 at 4:26 AM, Ben Hutchings <ben@decadent.org.uk> wrote:
> On Thu, 2013-12-12 at 23:19 +0100, Kay Sievers wrote:
>> On Thu, Dec 12, 2013 at 10:58 PM, Michael Biebl <email@michaelbiebl.de> wrote:
>> > This was removed upstream [1] and is highly unlikely to be added back.
>> > Especially considering that the user space firmware loader is scheduled
>> > to be removed sooner rather then later.
>> >
>> > This most likely means d-i needs to be updated to use some kind of
>> > different mechanism to detect missing firmware.
>> >
>> > Kay, what is the recommended approach nowadays to detect such missing
>> > firmware?
>>
>> There is no replacement for that. Userspace is no longer in the loop
>> any more regarding firmware loading, it's all the kernel's job only.
>> Hence, there will be no facility in udev for handling firmware, or
>> getting notified about that.
>>
>> The only possible solution would be to add explicit messages to the
>> kernel drivers in case a firmware is really *missing* and the device
>> does not just probe for stuff until it finds something.
>
> I've been trying to do that with some patches to the Debian kernel that
> put success/failure logging in the firmware loader rather than callers.
>
> I haven't submitted those upstream yet as they're not quite right...
>
>> There are quite a lot devices which just look for *updates* and do not
>> need anything to function.
>
> There are a few of those, yes.  And there are drivers that look for
> multiple different versions with different filenames (e.g. iwlwifi), and
> others where people just thought it was fun to rename the firmware a few
> times.  Those would need to be able to override failure logging.
>
>> Such an explicit message would probably use printk_emit() and pass
>> structured data with the filename and the ides from the kernel to
>> userspace, and on systemd systems the journal would pick up the
>> MESSAGE_ID and do something with it, or provide the data to other
>> consumers.
>
> Good idea, but I don't expect to see systemd in the installer quite yet!

Well, it is safe and reliable text-based generic infrastructure. It
can be accessed by reading /dev/kmsg, /dev/kmsg also support poll().
Should be rather trivial to make that stuff work without any fancy
systemd stuff.

Kay


Reply to: