+ <div class="entry">
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Appstream_just_learned_how_to_map_hardware_to_packages_too_.html">Appstream just learned how to map hardware to packages too!</a></div>
+ <div class="date">23rd December 2016</div>
+ <div class="body"><p>I received a very nice Christmas present today. As my regular
+readers probably know, I have been working on the
+<a href="http://packages.qa.debian.org/isenkram">the Isenkram
+system</a> for many years. The goal of the Isenkram system is to make
+it easier for users to figure out what to install to get a given piece
+of hardware to work in Debian, and a key part of this system is a way
+to map hardware to packages. Isenkram have its own mapping database,
+and also uses data provided by each package using the AppStream
+metadata format. And today,
+<a href="https://tracker.debian.org/pkg/appstream">AppStream</a> in
+Debian learned to look up hardware the same way Isenkram is doing it,
+ie using fnmatch():</p>
+
+<p><pre>
+% appstreamcli what-provides modalias \
+ usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
+Identifier: pymissile [generic]
+Name: pymissile
+Summary: Control original Striker USB Missile Launcher
+Package: pymissile
+% appstreamcli what-provides modalias usb:v0694p0002d0000
+Identifier: libnxt [generic]
+Name: libnxt
+Summary: utility library for talking to the LEGO Mindstorms NXT brick
+Package: libnxt
+---
+Identifier: t2n [generic]
+Name: t2n
+Summary: Simple command-line tool for Lego NXT
+Package: t2n
+---
+Identifier: python-nxt [generic]
+Name: python-nxt
+Summary: Python driver/interface/wrapper for the Lego Mindstorms NXT robot
+Package: python-nxt
+---
+Identifier: nbc [generic]
+Name: nbc
+Summary: C compiler for LEGO Mindstorms NXT bricks
+Package: nbc
+%
+</pre></p>
+
+<p>A similar query can be done using the combined AppStream and
+Isenkram databases using the isenkram-lookup tool:</p>
+
+<p><pre>
+% isenkram-lookup usb:v1130p0202d0100dc00dsc00dp00ic03isc00ip00in00
+pymissile
+% isenkram-lookup usb:v0694p0002d0000
+libnxt
+nbc
+python-nxt
+t2n
+%
+</pre></p>
+
+<p>You can find modalias values relevant for your machine using
+<tt>cat $(find /sys/devices/ -name modalias)</tt>.
+
+<p>If you want to make this system a success and help Debian users
+make the most of the hardware they have, please
+help<a href="https://wiki.debian.org/AppStream/Guidelines">add
+AppStream metadata for your package following the guidelines</a>
+documented in the wiki. So far only 11 packages provide such
+information, among the several hundred hardware specific packages in
+Debian. The Isenkram database on the other hand contain 101 packages,
+mostly related to USB dongles. Most of the packages with hardware
+mapping in AppStream are LEGO Mindstorms related, because I have, as
+part of my involvement in
+<a href="https://wiki.debian.org/LegoDesigners">the Debian LEGO
+team</a> given priority to making sure LEGO users get proposed the
+complete set of packages in Debian for that particular hardware. The
+team also got a nice Christmas present today. The
+<a href="https://tracker.debian.org/pkg/nxt-firmware">nxt-firmware
+package</a> made it into Debian. With this package in place, it is
+now possible to use the LEGO Mindstorms NXT unit with only free
+software, as the nxt-firmware package contain the source and firmware
+binaries for the NXT brick.</p>
+
+<p>As usual, if you use Bitcoin and want to show your support of my
+activities, please send Bitcoin donations to my address
+<b><a href="bitcoin:15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b&label=PetterReinholdtsenBlog">15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b</a></b>.</p>
+</div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
+ <div class="entry">
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Isenkram_updated_with_a_lot_more_hardware_package_mappings.html">Isenkram updated with a lot more hardware-package mappings</a></div>
+ <div class="date">20th December 2016</div>
+ <div class="body"><p><a href="http://packages.qa.debian.org/isenkram">The Isenkram
+system</a> I wrote two years ago to make it easier in Debian to find
+and install packages to get your hardware dongles to work, is still
+going strong. It is a system to look up the hardware present on or
+connected to the current system, and map the hardware to Debian
+packages. It can either be done using the tools in isenkram-cli or
+using the user space daemon in the isenkram package. The latter will
+notify you, when inserting new hardware, about what packages to
+install to get the dongle working. It will even provide a button to
+click on to ask packagekit to install the packages.</p>
+
+<p>Here is an command line example from my Thinkpad laptop:</p>
+
+<p><pre>
+% isenkram-lookup
+bluez
+cheese
+ethtool
+fprintd
+fprintd-demo
+gkrellm-thinkbat
+hdapsd
+libpam-fprintd
+pidgin-blinklight
+thinkfan
+tlp
+tp-smapi-dkms
+tp-smapi-source
+tpb
+%
+</pre></p>
+
+<p>It can also list the firware package providing firmware requested
+by the load kernel modules, which in my case is an empty list because
+I have all the firmware my machine need:
+
+<p><pre>
+% /usr/sbin/isenkram-autoinstall-firmware -l
+info: did not find any firmware files requested by loaded kernel modules. exiting
+%
+</pre></p>
+
+<p>The last few days I had a look at several of the around 250
+packages in Debian with udev rules. These seem like good candidates
+to install when a given hardware dongle is inserted, and I found
+several that should be proposed by isenkram. I have not had time to
+check all of them, but am happy to report that now there are 97
+packages packages mapped to hardware by Isenkram. 11 of these
+packages provide hardware mapping using AppStream, while the rest are
+listed in the modaliases file provided in isenkram.</p>
+
+<p>These are the packages with hardware mappings at the moment. The
+<strong>marked packages</strong> are also announcing their hardware
+support using AppStream, for everyone to use:</p>
+
+<p>air-quality-sensor, alsa-firmware-loaders, argyll,
+<strong>array-info</strong>, avarice, avrdude, b43-fwcutter,
+bit-babbler, bluez, bluez-firmware, <strong>brltty</strong>,
+<strong>broadcom-sta-dkms</strong>, calibre, cgminer, cheese, colord,
+<strong>colorhug-client</strong>, dahdi-firmware-nonfree, dahdi-linux,
+dfu-util, dolphin-emu, ekeyd, ethtool, firmware-ipw2x00, fprintd,
+fprintd-demo, <strong>galileo</strong>, gkrellm-thinkbat, gphoto2,
+gpsbabel, gpsbabel-gui, gpsman, gpstrans, gqrx-sdr, gr-fcdproplus,
+gr-osmosdr, gtkpod, hackrf, hdapsd, hdmi2usb-udev, hpijs-ppds, hplip,
+ipw3945-source, ipw3945d, kde-config-tablet, kinect-audio-setup,
+<strong>libnxt</strong>, libpam-fprintd, <strong>lomoco</strong>,
+madwimax, minidisc-utils, mkgmap, msi-keyboard, mtkbabel,
+<strong>nbc</strong>, <strong>nqc</strong>, nut-hal-drivers, ola,
+open-vm-toolbox, open-vm-tools, openambit, pcgminer, pcmciautils,
+pcscd, pidgin-blinklight, printer-driver-splix,
+<strong>pymissile</strong>, python-nxt, qlandkartegt,
+qlandkartegt-garmin, rosegarden, rt2x00-source, sispmctl,
+soapysdr-module-hackrf, solaar, squeak-plugins-scratch, sunxi-tools,
+<strong>t2n</strong>, thinkfan, thinkfinger-tools, tlp, tp-smapi-dkms,
+tp-smapi-source, tpb, tucnak, uhd-host, usbmuxd, viking,
+virtualbox-ose-guest-x11, w1retap, xawtv, xserver-xorg-input-vmmouse,
+xserver-xorg-input-wacom, xserver-xorg-video-qxl,
+xserver-xorg-video-vmware, yubikey-personalization and
+zd1211-firmware</p>
+
+<p>If you know of other packages, please let me know with a wishlist
+bug report against the isenkram-cli package, and ask the package
+maintainer to
+<a href="https://wiki.debian.org/AppStream/Guidelines">add AppStream
+metadata according to the guidelines</a> to provide the information
+for everyone. In time, I hope to get rid of the isenkram specific
+hardware mapping and depend exclusively on AppStream.</p>
+
+<p>Note, the AppStream metadata for broadcom-sta-dkms is matching too
+much hardware, and suggest that the package with with any ethernet
+card. See <a href="http://bugs.debian.org/838735">bug #838735</a> for
+the details. I hope the maintainer find time to address it soon. In
+the mean time I provide an override in isenkram.</p>
+</div>
+ <div class="tags">
+
+
+ Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram</a>.
+
+
+ </div>
+ </div>
+ <div class="padding"></div>
+
<div class="entry">
<div class="title"><a href="http://people.skolelinux.org/pere/blog/Oolite__a_life_in_space_as_vagabond_and_mercenary___nice_free_software.html">Oolite, a life in space as vagabond and mercenary - nice free software</a></div>
<div class="date">11th December 2016</div>
</div>
<div class="padding"></div>
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/How_to_talk_with_your_loved_ones_in_private.html">How to talk with your loved ones in private</a></div>
- <div class="date"> 7th November 2016</div>
- <div class="body"><p>A few days ago I ran a very biased and informal survey to get an
-idea about what options are being used to communicate with end to end
-encryption with friends and family. I explicitly asked people not to
-list options only used in a work setting. The background is the
-uneasy feeling I get when using Signal, a feeling shared by others as
-a blog post from Sander Venima about
-<a href="https://sandervenema.ch/2016/11/why-i-wont-recommend-signal-anymore/">why
-he do not recommend Signal anymore</a> (with
-<a href="https://news.ycombinator.com/item?id=12883410">feedback from
-the Signal author available from ycombinator</a>). I wanted an
-overview of the options being used, and hope to include those options
-in a less biased survey later on. So far I have not taken the time to
-look into the individual proposed systems. They range from text
-sharing web pages, via file sharing and email to instant messaging,
-VOIP and video conferencing. For those considering which system to
-use, it is also useful to have a look at
-<a href="https://www.eff.org/secure-messaging-scorecard">the EFF Secure
-messaging scorecard</a> which is slightly out of date but still
-provide valuable information.</p>
-
-<p>So, on to the list. There were some used by many, some used by a
-few, some rarely used ones and a few mentioned but without anyone
-claiming to use them. Notice the grouping is in reality quite random
-given the biased self selected set of participants. First the ones
-used by many:</p>
-
-<ul>
-
-<li><a href="https://whispersystems.org/">Signal</a></li>
-<li>Email w/<a href="http://openpgp.org/">OpenPGP</a> (Enigmail, GPGSuite,etc)</li>
-<li><a href="https://www.whatsapp.com/">Whatsapp</a></li>
-<li>IRC w/<a href="https://otr.cypherpunks.ca/">OTR</a></li>
-<li>XMPP w/<a href="https://otr.cypherpunks.ca/">OTR</a></li>
-
-</ul>
-
-<p>Then the ones used by a few.</p>
-
-<ul>
-
-<li><a href="https://wiki.mumble.info/wiki/Main_Page">Mumble</a></li>
-<li>iMessage (included in iOS from Apple)</li>
-<li><a href="https://telegram.org/">Telegram</a></li>
-<li><a href="https://jitsi.org/">Jitsi</a></li>
-<li><a href="https://keybase.io/download">Keybase file</a></li>
-
-</ul>
-
-<p>Then the ones used by even fewer people</p>
-
-<ul>
-
-<li><a href="https://ring.cx/">Ring</a></li>
-<li><a href="https://bitmessage.org/">Bitmessage</a></li>
-<li><a href="https://wire.com/">Wire</a></li>
-<li>VoIP w/<a href="https://en.wikipedia.org/wiki/ZRTP">ZRTP</a> or controlled <a href="https://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol">SRTP</a> (e.g using <a href="https://en.wikipedia.org/wiki/CSipSimple">CSipSimple</a>, <a href="https://en.wikipedia.org/wiki/Linphone">Linphone</a>)</li>
-<li><a href="https://matrix.org/">Matrix</a></li>
-<li><a href="https://kontalk.org/">Kontalk</a></li>
-<li><a href="https://0bin.net/">0bin</a> (encrypted pastebin)</li>
-<li><a href="https://appear.in">Appear.in</a></li>
-<li><a href="https://riot.im/">riot</a></li>
-<li><a href="https://www.wickr.com/">Wickr Me</a></li>
-
-</ul>
-
-<p>And finally the ones mentioned by not marked as used by
-anyone. This might be a mistake, perhaps the person adding the entry
-forgot to flag it as used?</p>
-
-<ul>
-
-<li>Email w/Certificates <a href="https://en.wikipedia.org/wiki/S/MIME">S/MIME</a></li>
-<li><a href="https://www.crypho.com/">Crypho</a></li>
-<li><a href="https://cryptpad.fr/">CryptPad</a></li>
-<li><a href="https://github.com/ricochet-im/ricochet">ricochet</a></li>
-
-</ul>
-
-<p>Given the network effect it seem obvious to me that we as a society
-have been divided and conquered by those interested in keeping
-encrypted and secure communication away from the masses. The
-finishing remarks <a href="https://vimeo.com/97505679">from Aral Balkan
-in his talk "Free is a lie"</a> about the usability of free software
-really come into effect when you want to communicate in private with
-your friends and family. We can not expect them to allow the
-usability of communication tool to block their ability to talk to
-their loved ones.</p>
-
-<p>Note for example the option IRC w/OTR. Most IRC clients do not
-have OTR support, so in most cases OTR would not be an option, even if
-you wanted to. In my personal experience, about 1 in 20 I talk to
-have a IRC client with OTR. For private communication to really be
-available, most people to talk to must have the option in their
-currently used client. I can not simply ask my family to install an
-IRC client. I need to guide them through a technical multi-step
-process of adding extensions to the client to get them going. This is
-a non-starter for most.</p>
-
-<p>I would like to be able to do video phone calls, audio phone calls,
-exchange instant messages and share files with my loved ones, without
-being forced to share with people I do not know. I do not want to
-share the content of the conversations, and I do not want to share who
-I communicate with or the fact that I communicate with someone.
-Without all these factors in place, my private life is being more or
-less invaded.</p>
-</div>
- <div class="tags">
-
-
- Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/personvern">personvern</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance">surveillance</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/My_own_self_balancing_Lego_Segway.html">My own self balancing Lego Segway</a></div>
- <div class="date"> 4th November 2016</div>
- <div class="body"><p>A while back I received a Gyro sensor for the NXT
-<a href="mindstorms.lego.com">Mindstorms</a> controller as a birthday
-present. It had been on my wishlist for a while, because I wanted to
-build a Segway like balancing lego robot. I had already built
-<a href="http://www.nxtprograms.com/NXT2/segway/">a simple balancing
-robot</a> with the kids, using the light/color sensor included in the
-NXT kit as the balance sensor, but it was not working very well. It
-could balance for a while, but was very sensitive to the light
-condition in the room and the reflective properties of the surface and
-would fall over after a short while. I wanted something more robust,
-and had
-<a href="https://www.hitechnic.com/cgi-bin/commerce.cgi?preadd=action&key=NGY1044">the
-gyro sensor from HiTechnic</a> I believed would solve it on my
-wishlist for some years before it suddenly showed up as a gift from my
-loved ones. :)</p>
-
-<p>Unfortunately I have not had time to sit down and play with it
-since then. But that changed some days ago, when I was searching for
-lego segway information and came across a recipe from HiTechnic for
-building
-<a href="http://www.hitechnic.com/blog/gyro-sensor/htway/">the
-HTWay</a>, a segway like balancing robot. Build instructions and
-<a href="https://www.hitechnic.com/upload/786-HTWayC.nxc">source
-code</a> was included, so it was just a question of putting it all
-together. And thanks to the great work of many Debian developers, the
-compiler needed to build the source for the NXT is already included in
-Debian, so I was read to go in less than an hour. The resulting robot
-do not look very impressive in its simplicity:</p>
-
-<p align="center"><img width="70%" src="http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-robot.jpeg"></p>
-
-<p>Because I lack the infrared sensor used to control the robot in the
-design from HiTechnic, I had to comment out the last task
-(taskControl). I simply placed /* and */ around it get the program
-working without that sensor present. Now it balances just fine until
-the battery status run low:</p>
-
-<p align="center"><video width="70%" controls="true">
- <source src="http://people.skolelinux.org/pere/blog/images/2016-11-04-lego-htway-balancing.ogv" type="video/ogg">
-</video></p>
-
-<p>Now we would like to teach it how to follow a line and take remote
-control instructions using the included Bluetooth receiver in the NXT.</p>
-
-<p>If you, like me, love LEGO and want to make sure we find the tools
-they need to work with LEGO in Debian and all our derivative
-distributions like Ubuntu, check out
-<a href="http://wiki.debian.org/LegoDesigners">the LEGO designers
-project page</a> and join the Debian LEGO team. Personally I own a
-RCX and NXT controller (no EV3), and would like to make sure the
-Debian tools needed to program the systems I own work as they
-should.</p>
-</div>
- <div class="tags">
-
-
- Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/robot">robot</a>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
<p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
<div id="sidebar">
<li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (8)</a></li>
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (3)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2016/12/">December (5)</a></li>
</ul></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (142)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (144)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (158)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (334)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (336)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/intervju">intervju (42)</a></li>
- <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (13)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram">isenkram (15)</a></li>
<li><a href="http://people.skolelinux.org/pere/blog/tags/kart">kart (19)</a></li>