A few people mentioned on my last blog post that instead of nagging the user to unplug or restart, we should just rebind the device. I didn’t do this yesterday as it was quite hard to do the layering correctly as the session is running as a normal user.
But of course, doing things correctly is often harder than doing things quickly. I’ve merged an optional helper into PackageKit that just pokes the hardware in the right place to make it rebind and re-request firmware. This is all done using the pkexec functionality in PolicyKit1, and a custom policy rule.
If you want this new functionality you need to build contrib/device-rebind in the PackageKit project, and also have GUdev and PolicyKit1 installed. If you don’t have these things, the session will fall back to just asking the user to reboot.
Ohh, and if the rebind fails in any way, we just fall back to asking the user to re-plug or restart like we did before. Device rebind functionality is currently Linux specific, but patches for other operating systems welcome.
Sorry for nitpicking – it’s great that we can install the needed software so hardware just works. But a computer should rarely notify you – especially when something actually works. Shouldn’t we expect it to work?
Notifications just suck ;) And it’s only tech ppl who wants to know that the computer does. The rest want’s to know what other ppl do ;)
I like it! So, free firmware now just works, while non-free firmware requires a confirmation?
I kind of agree wrt notifications, I like Linux/GNOME quiet style just to start using, e.g., USB stick compared to my WinXP which gives several notifications how things are configured – Linux/GNOME style gives feeling that things Just Work(tm) without additional configuration compared to silly messages from WinXP.
Anyway, definitely great progress here, sorry for my nit-picking :)
A lot better already, Hugsie. This is why open source sometimes rules… Trying to make such change with some bigmoney.com would have taken weeks, months, or even years.
You, sir, are awesome!
My understanding is that you get this notification only when you were prompted to install something you didn’t have installed. So:
– plug hardware that has drivers & firmware already installed, no notification
– plug hardware that needs a firmware package
– get notification telling the user about something they could install to make it work
– user accepts
– user waits until installation is done
– this notification tells the user installation is done and hardware is functional
Am I right?
100% correct
How about the following bike shed:
Your computer must install software onto USB WLAN in order for it to function.
Software Source: Foo Vendor
Licence: Non-Free, [read]
Version: 3.404, 2/4/2009
Install
IMO, this should not be done through a notification bubble, especially because they are going to likely end up with a modal box asking for authorization credentials anyway.
Is this a gnome thing or is it in the backend and kpackagekit can pick it up easely?
All the rebind stuff is in PackageKit and can thus be used by kpackagekit quite easily.
does the question mark makes any sense?? this isn’t anymore a notification to ask something to the user…
Why do you need to present this notification? It seems to me that the computer is just saying “all is fine”. I only want to be presented with UI stuff when I actually have to do something.
I think it is interesting to know if new software are installed. Perhaps that is the case for many Fedora users who might be extra technically interested. In Fedora at least with so many testers and developers it is good to get notifications like this. In other distros it might be less interesting.
Seems several people have beat me to it. But here goes anyways, I don’t care much for a positive notification either.