PackageKit and firmware

For a few months now, PackageKit has been able to install firmware for devices. Sometime in 0.5.x series the functionality broke, so I spent the morning fixing up the module properly.

So, when you start your session (or insert the device), you get greeted by:

Firmware request

Firmware request

Notice, we now display the device model, but in this case where a device is waiting for firmware, normally the results are not complete and thus not pretty. USB WLAN is the best we can do in this case. If the user clicks install, the install continues in the background, and then the user gets a few minutes later:

Replug please!

Replug please!

but if it’s not a removable device:

Restart please!

Restart please!

Of course, you’ll need a pretty new distribution to have GUdev installed, but if you don’t it’ll fall back to being unhelpful.

24 responses to “PackageKit and firmware”

  1. Nicolò Chieffo

    That reminds windows! Wouldn’t it be possible to reload the module instead of rebooting?

  2. Pascal Terjan

    Actually not even rebinding is needed on many wlan, firmware request is often done on ifconfig up

  3. mehmoomoo

    Hugsie, please don’t go forward with that UI. What extra value does it provide to force user endure popups, and click them through? If he ie. plugs in hardware device he probably WANTS it to just work. Just work, without anything else.

    Also, rebooting is seriously not something that is required, ever, for any reason.

    That fact that Microsoft thought once it would be nice to spam the user constantly doesn’t make it alright for others to do. It is still plain wrong. Let the user focus on HIS tasks instead of having to babysit a computer!

  4. Jeroen Hoek

    A thought that occured to me seeing these screenshots is if the average user knows what “firmware” means and why he might need it. Is there an easy way for the user to find out why his computer is asking him to do this? Either a link to a help page explaining the term “firmware”, or some explanation would be sufficient I think:

    Additional firmware required

    Some additional software needs to be installed to make the following device work correctly:

    – USB WLAN

  5. pozsy

    Why not install them automatically? I do not even understand why on earth a firmware package would not be installed BY DEFAULT on any system. What benefit does it have to go with the complexity of installing them on demand?

  6. Andreas Nilsson

    “Additional firmware required”
    “Additional firmware is required…”

    Maybe worth a shot to cut one of those as it says the same thing twice.

  7. Yegor

    Along the same lines:

    “Additional firmware was installed” => “Installed additional firmware”

    “You will need to … before it/the hardware will work correctly” => “To enable the hardware please …”

  8. foo

    Please make this only for non-free firmware and please make sure that the user is notified that the firmware is evil, nasty, non-free, unsupported, binary blob stuff. Oh, and that last bit should be per-distro since some of them don’t care about freeness issues.

  9. Dylan McCall

    Why is this using libnotify for its main interface?

    (Cool technology, though).

  10. MauricioC

    Looks impressive, thanks!

  11. innovatel

    It’s like windows … but I think it’s fantastic! It’s simple and clear, so basic linux user can not be have problem :)

  12. Wes Felter

    If you don’t know what model device it is, how do you know what firmware to install? Isn’t there at least a vendor name?

  13. ulrik

    What does the “Install Firmware” button do? Does it find the right firmware automatically? If so, great!

  14. Søren Hauberg

    Why use notifications for the UI? If you actually want me to interact with the UI wouldn’t it be much better to open a proper window?

    Also, what is the consequence of pressing the “don’t show this again” button? Will it prevent me from ever getting firmware installed on my computer?

  15. Ulrike

    I propose to install the firmware automatically (without any message) and remove it automatically if it isn’t used for a month.

Bad Behavior has blocked 2769 access attempts in the last 7 days.