]> pere.pagekite.me Git - homepage.git/blobdiff - blog/archive/2013/01/01.rss
Generated.
[homepage.git] / blog / archive / 2013 / 01 / 01.rss
index 6cfce8697aad55e51d32f9f8b03f702d53a6ce74..8197c3648b1b6efa1acdb3658d5530844fd4ab53 100644 (file)
@@ -6,6 +6,99 @@
                 <link>http://people.skolelinux.org/pere/blog/</link>
 
        
+       <item>
+               <title>Lets make hardware dongles easier to use in Debian</title>
+               <link>http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html</link>        
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html</guid>
+                <pubDate>Wed, 9 Jan 2013 15:40:00 +0100</pubDate>
+               <description>&lt;p&gt;One thing that annoys me with Debian and Linux distributions in
+general, is that there is a great package management system with the
+ability to automatically install software packages by downloading them
+from the distribution mirrors, but no way to get it to automatically
+install the packages I need to use the hardware I plug into my
+machine.  Even if the package to use it is easily available from the
+Linux distribution.  When I plug in a LEGO Mindstorms NXT, it could
+suggest to automatically install the python-nxt, nbc and t2n packages
+I need to talk to it.  When I plug in a Yubikey, it could propose the
+yubikey-personalization package.  The information required to do this
+is available, but no-one have pulled all the pieces together.&lt;/p&gt;
+
+&lt;p&gt;Many years ago, I proposed to
+&lt;a href=&quot;http://lists.debian.org/debian-devel/2010/05/msg01206.html&quot;&gt;use
+the discover subsystem to implement this&lt;/a&gt;.  The idea is fairly
+simple:
+
+&lt;ul&gt;
+
+&lt;li&gt;Add a desktop entry in /usr/share/autostart/ pointing to a program
+  starting when a user log in.&lt;/li&gt;
+
+&lt;li&gt;Set this program up to listen for kernel events emitted when new
+  hardware is inserted into the computer.&lt;/li&gt;
+
+&lt;li&gt;When new hardware is inserted, look up the hardware ID in a
+  database mapping to packages, and take note of any non-installed
+  packages.&lt;/li&gt;
+
+&lt;li&gt;Show a message to the user proposing to install the discovered
+  package, and make it easy to install it.&lt;/li&gt;
+
+&lt;/ul&gt;
+
+&lt;p&gt;I am not sure what the best way to implement this is, but my
+initial idea was to use dbus events to discover new hardware, the
+discover database to find packages and
+&lt;a href=&quot;http://www.packagekit.org/&quot;&gt;PackageKit&lt;/a&gt; to install
+packages.&lt;/p&gt;
+
+&lt;p&gt;Yesterday, I found time to try to implement this idea, and the
+draft package is now checked into
+&lt;a href=&quot;http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/&quot;&gt;the
+Debian Edu subversion repository&lt;/a&gt;.  In the process, I updated the
+&lt;a href=&quot;http://packages.qa.debian.org/d/discover-data.html&quot;&gt;discover-data&lt;/a&gt;
+package to map the USB ids of LEGO Mindstorms and Yubikey devices to
+the relevant packages in Debian, and uploaded a new version
+2.2013.01.09 to unstable.  I also discovered that the current 
+&lt;a href=&quot;http://packages.qa.debian.org/d/discover-data.html&quot;&gt;discover&lt;/a&gt;
+package in Debian no longer discovered any USB devices, because
+/proc/bus/usb/devices is no longer present.  I ported it to use
+libusb as a fall back option to get it working.  The fixed package
+version 2.1.2-6 is now in experimental (didn&#39;t upload it to unstable
+because of the freeze).&lt;/p&gt;
+
+&lt;p&gt;With this prototype in place, I can insert my Yubikey, and get this
+desktop notification to show up (only once, the first time it is
+inserted):&lt;/p&gt;
+
+&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://people.skolelinux.org/pere/blog/images/2013-01-09-hw-autoinstall.png&quot;&gt;&lt;/p&gt;
+
+&lt;p&gt;For this prototype to be really useful, some way to automatically
+install the proposed packages by pressing the &quot;Please install
+program(s)&quot; button should to be implemented.&lt;/p&gt;
+
+&lt;p&gt;If this idea seem useful to you, and you want to help make it
+happen, please help me update the discover-data database with mappings
+from hardware to Debian packages.  Check if &#39;discover-pkginstall -l&#39;
+list the package you would like to have installed when a given
+hardware device is inserted into your computer, and report bugs using
+reportbug if it isn&#39;t.  Or, if you know of a better way to provide
+such mapping, please let me know.&lt;/p&gt;
+
+&lt;p&gt;This prototype need more work, and there are several questions that
+should be considered before it is ready for production use.  Is dbus
+the correct way to detect new hardware?  At the moment I look for HAL
+dbus events on the system bus, because that is the events I could see
+on my Debian Squeeze KDE desktop.  Are there better events to use?
+How should the user be notified?  Is the desktop notification
+mechanism the best option, or should the background daemon raise a
+popup instead?  How should packages be installed?  When should they
+not be installed?&lt;/p&gt;
+
+&lt;p&gt;If you want to help getting such feature implemented in Debian,
+please send me an email. :)&lt;/p&gt;
+</description>
+       </item>
+       
        <item>
                <title>New IRC channel for LEGO designers using Debian</title>
                <link>http://people.skolelinux.org/pere/blog/New_IRC_channel_for_LEGO_designers_using_Debian.html</link>