- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html">First prototype ready making hardware easier to use in Debian</a></div>
- <div class="date">21st January 2013</div>
- <div class="body"><p>Early this month I set out to try to
-<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">improve
-the Debian support for pluggable hardware devices</a>. Now my
-prototype is working, and it is ready for a larger audience. To test
-it, fetch the
-<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">source
-from the Debian Edu subversion repository</a>, build and install the
-package. You might have to log out and in again activate the
-autostart script.</p>
-
-<p>The design is simple:</p>
-
-<ul>
-
-<li>Add desktop entry in /usr/share/autostart/ causing a program
-hw-support-handlerd to start when the user log in.</li>
-
-<li>This program listen for kernel events about new hardware (directly
-from the kernel like udev does), not using HAL dbus events as I
-initially did.</li>
-
-<li>When new hardware is inserted, look up the hardware modalias in
-the APT database, a database
-<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup">available
-via HTTP</a> and a database available as part of the package.</li>
-
-<li>If a package is mapped to the hardware in question, the package
-isn't installed yet and this is the first time the hardware was
-plugged in, show a desktop notification suggesting to install the
-package or packages.</li>
-
-<li>If the user click on the 'install package now' button, ask
-aptdaemon via the PackageKit API to install the requrired package.</li>
-
-<li>aptdaemon ask for root password or sudo password, and install the
-package while showing progress information in a window.</li>
-
-</ul>
-
-<p>I still need to come up with a better name for the system. Here
-are some screen shots showing the prototype in action. First the
-notification, then the password request, and finally the request to
-approve all the dependencies. Sorry for the Norwegian Bokmål GUI.</p>
-
-<p><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png">
-<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png">
-<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png">
-<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png">
-<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-5-installing-details.png" width="70%"></p>
-
-<p>The prototype still need to be improved with longer timeouts, but
-is already useful. The database of hardware to package mappings also
-need more work. It is currently compatible with the Ubuntu way of
-storing such information in the package control file, but could be
-changed to use other formats instead or in addition to the current
-method. I've dropped the use of discover for this mapping, as the
-modalias approach is more flexible and easier to use on Linux as long
-as the Linux kernel expose its modalias strings directly.</p>
-
-<p><strong>Update 2013-01-21 16:50</strong>: Due to popular demand,
-here is the command required to check out and build the source: Use
-'<tt>svn checkout
-svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd
-hw-support-handler; debuild</tt>'. If you lack debuild, install the
-devscripts package.</p>
-
-<p><strong>Update 2013-01-23 12:00</strong>: The project is now
-renamed to Isenkram and the source moved from the Debian Edu
-subversion repository to a Debian collab-maint git repository. See
-<a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">build
-instructions</a> for details.</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/Thank_you_Thinkpad_X41__for_your_long_and_trustworthy_service.html">Thank you Thinkpad X41, for your long and trustworthy service</a></div>
- <div class="date">19th January 2013</div>
- <div class="body"><p>This Christmas my trusty old laptop died. It died quietly and
-suddenly in bed. With a quiet whimper, it went completely quiet and
-black. The power button was no longer able to turn it on. It was a
-IBM Thinkpad X41, and the best laptop I ever had. Better than both
-Thinkpads X30, X31, X40, X60, X61 and X61S. Far better than the
-Compaq I had before that. Now I need to find a replacement. To keep
-going during Christmas, I moved the one year old SSD disk to my old
-X40 where it fitted (only one I had left that could use it), but it is
-not a durable solution.
-
-<p>My laptop needs are fairly modest. This is my wishlist from when I
-got a new one more than 10 years ago. It still holds true.:)</p>
-
-<ul>
-
-<li>Lightweight (around 1 kg) and small volume (preferably smaller
- than A4).</li>
-<li>Robust, it will be in my backpack every day.</li>
-<li>Three button mouse and a mouse pin instead of touch pad.</li>
-<li>Long battery life time. Preferable a week.</li>
-<li>Internal WIFI network card.</li>
-<li>Internal Twisted Pair network card.</li>
-<li>Some USB slots (2-3 is plenty)</li>
-<li>Good keyboard - similar to the Thinkpad.</li>
-<li>Video resolution at least 1024x768, with size around 12" (A4 paper
-size).</li>
-<li>Hardware supported by Debian Stable, ie the default kernel and
- X.org packages.</li>
-<li>Quiet, preferably fan free (or at least not using the fan most of
- the time).
-
-</ul>
-
-<p>You will notice that there are no RAM and CPU requirements in the
-list. The reason is simply that the specifications on laptops the
-last 10-15 years have been sufficient for my needs, and I have to look
-at other features to choose my laptop. But are there still made as
-robust laptops as my X41? The Thinkpad X60/X61 proved to be less
-robust, and Thinkpads seem to be heading in the wrong direction since
-Lenovo took over. But I've been told that X220 and X1 Carbon might
-still be useful.</p>
-
-<p>Perhaps I should rethink my needs, and look for a pad with an
-external keyboard? I'll have to check the
-<a href="http://www.linux-laptop.net/">Linux Laptops site</a> for
-well-supported laptops, or perhaps just buy one preinstalled from one
-of the vendors listed on the <a href="http://linuxpreloaded.com/">Linux
-Pre-loaded site</a>.</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>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/How_to_find_a_browser_plugin_supporting_a_given_MIME_type.html">How to find a browser plugin supporting a given MIME type</a></div>
- <div class="date">18th January 2013</div>
- <div class="body"><p>Some times I try to figure out which Iceweasel browser plugin to
-install to get support for a given MIME type. Thanks to
-<a href="https://wiki.ubuntu.com/MozillaTeam/Plugins">specifications
-done by Ubuntu</a> and Mozilla, it is possible to do this in Debian.
-Unfortunately, not very many packages provide the needed meta
-information, Anyway, here is a small script to look up all browser
-plugin packages announcing ther MIME support using this specification:</p>
-
-<pre>
-#!/usr/bin/python
-import sys
-import apt
-def pkgs_handling_mimetype(mimetype):
- cache = apt.Cache()
- cache.open(None)
- thepkgs = []
- for pkg in cache:
- version = pkg.candidate
- if version is None:
- version = pkg.installed
- if version is None:
- continue
- record = version.record
- if not record.has_key('Npp-MimeType'):
- continue
- mime_types = record['Npp-MimeType'].split(',')
- for t in mime_types:
- t = t.rstrip().strip()
- if t == mimetype:
- thepkgs.append(pkg.name)
- return thepkgs
-mimetype = "audio/ogg"
-if 1 < len(sys.argv):
- mimetype = sys.argv[1]
-print "Browser plugin packages supporting %s:" % mimetype
-for pkg in pkgs_handling_mimetype(mimetype):
- print " %s" %pkg
-</pre>
-
-<p>It can be used like this to look up a given MIME type:</p>
-
-<pre>
-% ./apt-find-browserplug-for-mimetype
-Browser plugin packages supporting audio/ogg:
- gecko-mediaplayer
-% ./apt-find-browserplug-for-mimetype application/x-shockwave-flash
-Browser plugin packages supporting application/x-shockwave-flash:
- browser-plugin-gnash
-%
-</pre>
-
-<p>In Ubuntu this mechanism is combined with support in the browser
-itself to query for plugins and propose to install the needed
-packages. It would be great if Debian supported such feature too. Is
-anyone working on adding it?</p>
-
-<p><strong>Update 2013-01-18 14:20</strong>: The Debian BTS
-request for icweasel support for this feature is
-<a href="http://bugs.debian.org/484010">#484010</a> from 2008 (and
-<a href="http://bugs.debian.org/698426">#698426</a> from today). Lack
-of manpower and wish for a different design is the reason thus feature
-is not yet in iceweasel from Debian.</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>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/What_is_the_most_supported_MIME_type_in_Debian_.html">What is the most supported MIME type in Debian?</a></div>
- <div class="date">16th January 2013</div>
- <div class="body"><p>The <a href="http://wiki.debian.org/AppStreamDebianProposal">DEP-11
-proposal to add AppStream information to the Debian archive</a>, is a
-proposal to make it possible for a Desktop application to propose to
-the user some package to install to gain support for a given MIME
-type, font, library etc. that is currently missing. With such
-mechanism in place, it would be possible for the desktop to
-automatically propose and install leocad if some LDraw file is
-downloaded by the browser.</p>
-
-<p>To get some idea about the current content of the archive, I decided
-to write a simple program to extract all .desktop files from the
-Debian archive and look up the claimed MIME support there. The result
-can be found on the
-<a href="http://ftp.skolelinux.org/pub/AppStreamTest">Skolelinux FTP
-site</a>. Using the collected information, it become possible to
-answer the question in the title. Here are the 20 most supported MIME
-types in Debian stable (Squeeze), testing (Wheezy) and unstable (Sid).
-The complete list is available from the link above.</p>
-
-<p><strong>Debian Stable:</strong></p>
-
-<pre>
- count MIME type
- ----- -----------------------
- 32 text/plain
- 30 audio/mpeg
- 29 image/png
- 28 image/jpeg
- 27 application/ogg
- 26 audio/x-mp3
- 25 image/tiff
- 25 image/gif
- 22 image/bmp
- 22 audio/x-wav
- 20 audio/x-flac
- 19 audio/x-mpegurl
- 18 video/x-ms-asf
- 18 audio/x-musepack
- 18 audio/x-mpeg
- 18 application/x-ogg
- 17 video/mpeg
- 17 audio/x-scpls
- 17 audio/ogg
- 16 video/x-ms-wmv
-</pre>
-
-<p><strong>Debian Testing:</strong></p>
-
-<pre>
- count MIME type
- ----- -----------------------
- 33 text/plain
- 32 image/png
- 32 image/jpeg
- 29 audio/mpeg
- 27 image/gif
- 26 image/tiff
- 26 application/ogg
- 25 audio/x-mp3
- 22 image/bmp
- 21 audio/x-wav
- 19 audio/x-mpegurl
- 19 audio/x-mpeg
- 18 video/mpeg
- 18 audio/x-scpls
- 18 audio/x-flac
- 18 application/x-ogg
- 17 video/x-ms-asf
- 17 text/html
- 17 audio/x-musepack
- 16 image/x-xbitmap
-</pre>
-
-<p><strong>Debian Unstable:</strong></p>
-
-<pre>
- count MIME type
- ----- -----------------------
- 31 text/plain
- 31 image/png
- 31 image/jpeg
- 29 audio/mpeg
- 28 application/ogg
- 27 image/gif
- 26 image/tiff
- 26 audio/x-mp3
- 23 audio/x-wav
- 22 image/bmp
- 21 audio/x-flac
- 20 audio/x-mpegurl
- 19 audio/x-mpeg
- 18 video/x-ms-asf
- 18 video/mpeg
- 18 audio/x-scpls
- 18 application/x-ogg
- 17 audio/x-musepack
- 16 video/x-ms-wmv
- 16 video/x-msvideo
-</pre>
-
-<p>I am told that PackageKit can provide an API to access the kind of
-information mentioned in DEP-11. I have not yet had time to look at
-it, but hope the PackageKit people in Debian are on top of these
-issues.</p>
-
-<p><strong>Update 2013-01-16 13:35</strong>: Updated numbers after
-discovering a typo in my script.</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>.
-
-
- </div>
- </div>
- <div class="padding"></div>
-
- <div class="entry">
- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Using_modalias_info_to_find_packages_handling_my_hardware.html">Using modalias info to find packages handling my hardware</a></div>
- <div class="date">15th January 2013</div>
- <div class="body"><p>Yesterday, I wrote about the
-<a href="http://people.skolelinux.org/pere/blog/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html">modalias
-values provided by the Linux kernel</a> following my hope for
-<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">better
-dongle support in Debian</a>. Using this knowledge, I have tested how
-modalias values attached to package names can be used to map packages
-to hardware. This allow the system to look up and suggest relevant
-packages when I plug in some new hardware into my machine, and replace
-discover and discover-data as the database used to map hardware to
-packages.</p>
-
-<p>I create a modaliases file with entries like the following,
-containing package name, kernel module name (if relevant, otherwise
-the package name) and globs matching the relevant hardware
-modalias.</p>
-
-<p><blockquote>
-Package: package-name
-<br>Modaliases: module(modaliasglob, modaliasglob, modaliasglob)</p>
-</blockquote></p>
-
-<p>It is fairly trivial to write code to find the relevant packages
-for a given modalias value using this file.</p>
-
-<p>An entry like this would suggest the video and picture application
-cheese for many USB web cameras (interface bus class 0E01):</p>
-
-<p><blockquote>
-Package: cheese
-<br>Modaliases: cheese(usb:v*p*d*dc*dsc*dp*ic0Eisc01ip*)</p>
-</blockquote></p>
-
-<p>An entry like this would suggest the pcmciautils package when a
-CardBus bridge (bus class 0607) PCI device is present:</p>
-
-<p><blockquote>
-Package: pcmciautils
-<br>Modaliases: pcmciautils(pci:v*d*sv*sd*bc06sc07i*)
-</blockquote></p>
-
-<p>An entry like this would suggest the package colorhug-client when
-plugging in a ColorHug with USB IDs 04D8:F8DA:</p>
-
-<p><blockquote>
-Package: colorhug-client
-<br>Modaliases: colorhug-client(usb:v04D8pF8DAd*)</p>
-</blockquote></p>
-
-<p>I believe the format is compatible with the format of the Packages
-file in the Debian archive. Ubuntu already uses their Packages file
-to store their mappings from packages to hardware.</p>
-
-<p>By adding a XB-Modaliases: header in debian/control, any .deb can
-announce the hardware it support in a way my prototype understand.
-This allow those publishing packages in an APT source outside the
-Debian archive as well as those backporting packages to make sure the
-hardware mapping are included in the package meta information. I've
-tested such header in the pymissile package, and its modalias mapping
-is working as it should with my prototype. It even made it to Ubuntu
-Raring.</p>
-
-<p>To test if it was possible to look up supported hardware using only
-the shell tools available in the Debian installer, I wrote a shell
-implementation of the lookup code. The idea is to create files for
-each modalias and let the shell do the matching. Please check out and
-try the
-<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/hw-support-lookup?view=co">hw-support-lookup</a>
-shell script. It run without any extra dependencies and fetch the
-hardware mappings from the Debian archive and the subversion
-repository where I currently work on my prototype.</p>
-
-<p>When I use it on a machine with a yubikey inserted, it suggest to
-install yubikey-personalization:</p>
-
-<p><blockquote>
-% ./hw-support-lookup
-<br>yubikey-personalization
-<br>%
-</blockquote></p>
-
-<p>When I run it on my Thinkpad X40 with a PCMCIA/CardBus slot, it
-propose to install the pcmciautils package:</p>
-
-<p><blockquote>
-% ./hw-support-lookup
-<br>pcmciautils
-<br>%
-</blockquote></p>
-
-<p>If you know of any hardware-package mapping that should be added to
-<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=co">my
-database</a>, please tell me about it.</p>
-
-<p>It could be possible to generate several of the mappings between
-packages and hardware. One source would be to look at packages with
-kernel modules, ie packages with *.ko files in /lib/modules/, and
-extract their modalias information. Another would be to look at
-packages with udev rules, ie packages with files in
-/lib/udev/rules.d/, and extract their vendor/model information to
-generate a modalias matching rule. I have not tested any of these to
-see if it work.</p>
-
-<p>If you want to help implementing a system to let us propose what
-packages to install when new hardware is plugged into a Debian
-machine, please send me an email or talk to me on
-<a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</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/Modalias_strings___a_practical_way_to_map__stuff__to_hardware.html">Modalias strings - a practical way to map "stuff" to hardware</a></div>
- <div class="date">14th January 2013</div>
- <div class="body"><p>While looking into how to look up Debian packages based on hardware
-information, to find the packages that support a given piece of
-hardware, I refreshed my memory regarding modalias values, and decided
-to document the details. Here are my findings so far, also available
-in
-<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">the
-Debian Edu subversion repository</a>:
-
-<p><strong>Modalias decoded</strong></p>
-
-<p>This document try to explain what the different types of modalias
-values stands for. It is in part based on information from
-<URL: <a href="https://wiki.archlinux.org/index.php/Modalias">https://wiki.archlinux.org/index.php/Modalias</a> >,
-<URL: <a href="http://unix.stackexchange.com/questions/26132/how-to-assign-usb-driver-to-device">http://unix.stackexchange.com/questions/26132/how-to-assign-usb-driver-to-device</a> >,
-<URL: <a href="http://code.metager.de/source/history/linux/stable/scripts/mod/file2alias.c">http://code.metager.de/source/history/linux/stable/scripts/mod/file2alias.c</a> > and
-<URL: <a href="http://cvs.savannah.gnu.org/viewvc/dmidecode/dmidecode.c?root=dmidecode&view=markup">http://cvs.savannah.gnu.org/viewvc/dmidecode/dmidecode.c?root=dmidecode&view=markup</a> >.
-
-<p>The modalias entries for a given Linux machine can be found using
-this shell script:</p>
-
-<pre>
-find /sys -name modalias -print0 | xargs -0 cat | sort -u
-</pre>
-
-<p>The supported modalias globs for a given kernel module can be found
-using modinfo:</p>
-
-<pre>
-% /sbin/modinfo psmouse | grep alias:
-alias: serio:ty05pr*id*ex*
-alias: serio:ty01pr*id*ex*
-%
-</pre>
-
-<p><strong>PCI subtype</strong></p>
-
-<p>A typical PCI entry can look like this. This is an Intel Host
-Bridge memory controller:</p>
-
-<p><blockquote>
-pci:v00008086d00002770sv00001028sd000001ADbc06sc00i00
-</blockquote></p>
-
-<p>This represent these values:</p>
-
-<pre>
- v 00008086 (vendor)
- d 00002770 (device)
- sv 00001028 (subvendor)
- sd 000001AD (subdevice)
- bc 06 (bus class)
- sc 00 (bus subclass)
- i 00 (interface)
-</pre>
-
-<p>The vendor/device values are the same values outputted from 'lspci
--n' as 8086:2770. The bus class/subclass is also shown by lspci as
-0600. The 0600 class is a host bridge. Other useful bus values are
-0300 (VGA compatible card) and 0200 (Ethernet controller).</p>
-
-<p>Not sure how to figure out the interface value, nor what it
-means.</p>
-
-<p><strong>USB subtype</strong></p>
-
-<p>Some typical USB entries can look like this. This is an internal
-USB hub in a laptop:</p>
-
-<p><blockquote>
-usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00
-</blockquote></p>
-
-<p>Here is the values included in this alias:</p>
-
-<pre>
- v 1D6B (device vendor)
- p 0001 (device product)
- d 0206 (bcddevice)
- dc 09 (device class)
- dsc 00 (device subclass)
- dp 00 (device protocol)
- ic 09 (interface class)
- isc 00 (interface subclass)
- ip 00 (interface protocol)
-</pre>
-
-<p>The 0900 device class/subclass means hub. Some times the relevant
-class is in the interface class section. For a simple USB web camera,
-these alias entries show up:</p>
-
-<p><blockquote>
-usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc01ip00
-<br>usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc02ip00
-<br>usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc01ip00
-<br>usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc02ip00
-</blockquote></p>
-
-<p>Interface class 0E01 is video control, 0E02 is video streaming (aka
-camera), 0101 is audio control device and 0102 is audio streaming (aka
-microphone). Thus this is a camera with microphone included.</p>
-
-<p><strong>ACPI subtype</strong></p>
-
-<p>The ACPI type is used for several non-PCI/USB stuff. This is an IR
-receiver in a Thinkpad X40:</p>
-
-<p><blockquote>
-acpi:IBM0071:PNP0511:
-</blockquote></p>
-
-<p>The values between the colons are IDs.</p>
-
-<p><strong>DMI subtype</strong></p>
-
-<p>The DMI table contain lots of information about the computer case
-and model. This is an entry for a IBM Thinkpad X40, fetched from
-/sys/devices/virtual/dmi/id/modalias:</p>
-
-<p><blockquote>
-dmi:bvnIBM:bvr1UETB6WW(1.66):bd06/15/2005:svnIBM:pn2371H4G:pvrThinkPadX40:rvnIBM:rn2371H4G:rvrNotAvailable:cvnIBM:ct10:cvrNotAvailable:
-</blockquote></p>
-
-<p>The values present are</p>
-
-<pre>
- bvn IBM (BIOS vendor)
- bvr 1UETB6WW(1.66) (BIOS version)
- bd 06/15/2005 (BIOS date)
- svn IBM (system vendor)
- pn 2371H4G (product name)
- pvr ThinkPadX40 (product version)
- rvn IBM (board vendor)
- rn 2371H4G (board name)
- rvr NotAvailable (board version)
- cvn IBM (chassis vendor)
- ct 10 (chassis type)
- cvr NotAvailable (chassis version)
-</pre>
-
-<p>The chassis type 10 is Notebook. Other interesting values can be
-found in the dmidecode source:</p>
-
-<pre>
- 3 Desktop
- 4 Low Profile Desktop
- 5 Pizza Box
- 6 Mini Tower
- 7 Tower
- 8 Portable
- 9 Laptop
- 10 Notebook
- 11 Hand Held
- 12 Docking Station
- 13 All In One
- 14 Sub Notebook
- 15 Space-saving
- 16 Lunch Box
- 17 Main Server Chassis
- 18 Expansion Chassis
- 19 Sub Chassis
- 20 Bus Expansion Chassis
- 21 Peripheral Chassis
- 22 RAID Chassis
- 23 Rack Mount Chassis
- 24 Sealed-case PC
- 25 Multi-system
- 26 CompactPCI
- 27 AdvancedTCA
- 28 Blade
- 29 Blade Enclosing
-</pre>
-
-<p>The chassis type values are not always accurately set in the DMI
-table. For example my home server is a tower, but the DMI modalias
-claim it is a desktop.</p>
-
-<p><strong>SerIO subtype</strong></p>
-
-<p>This type is used for PS/2 mouse plugs. One example is from my
-test machine:</p>
-
-<p><blockquote>
-serio:ty01pr00id00ex00
-</blockquote></p>
-
-<p>The values present are</p>
-
-<pre>
- ty 01 (type)
- pr 00 (prototype)
- id 00 (id)
- ex 00 (extra)
-</pre>
-
-<p>This type is supported by the psmouse driver. I am not sure what
-the valid values are.</p>
-
-<p><strong>Other subtypes</strong></p>
-
-<p>There are heaps of other modalias subtypes according to
-file2alias.c. There is the rest of the list from that source: amba,
-ap, bcma, ccw, css, eisa, hid, i2c, ieee1394, input, ipack, isapnp,
-mdio, of, parisc, pcmcia, platform, scsi, sdio, spi, ssb, vio, virtio,
-vmbus, x86cpu and zorro. I did not spend time documenting all of
-these, as they do not seem relevant for my intended use with mapping
-hardware to packages when new stuff is inserted during run time.</p>
-
-<p><strong>Looking up kernel modules using modalias values</strong></p>
-
-<p>To check which kernel modules provide support for a given modalias,
-one can use the following shell script:</p>
-
-<pre>
- for id in $(find /sys -name modalias -print0 | xargs -0 cat | sort -u); do \
- echo "$id" ; \
- /sbin/modprobe --show-depends "$id"|sed 's/^/ /' ; \
- done
-</pre>
-
-<p>The output can look like this (only the first few entries as the
-list is very long on my test machine):</p>
-
-<pre>
- acpi:ACPI0003:
- insmod /lib/modules/2.6.32-5-686/kernel/drivers/acpi/ac.ko
- acpi:device:
- FATAL: Module acpi:device: not found.
- acpi:IBM0068:
- insmod /lib/modules/2.6.32-5-686/kernel/drivers/char/nvram.ko
- insmod /lib/modules/2.6.32-5-686/kernel/drivers/leds/led-class.ko
- insmod /lib/modules/2.6.32-5-686/kernel/net/rfkill/rfkill.ko
- insmod /lib/modules/2.6.32-5-686/kernel/drivers/platform/x86/thinkpad_acpi.ko
- acpi:IBM0071:PNP0511:
- insmod /lib/modules/2.6.32-5-686/kernel/lib/crc-ccitt.ko
- insmod /lib/modules/2.6.32-5-686/kernel/net/irda/irda.ko
- insmod /lib/modules/2.6.32-5-686/kernel/drivers/net/irda/nsc-ircc.ko
- [...]
-</pre>
-
-<p>If you want to help implementing a system to let us propose what
-packages to install when new hardware is plugged into a Debian
-machine, please send me an email or talk to me on
-<a href="irc://irc.debian.org/%23debian-devel">#debian-devel</a>.</p>
-
-<p><strong>Update 2013-01-15:</strong> Rewrite "cat $(find ...)" to
-"find ... -print0 | xargs -0 cat" to make sure it handle directories
-in /sys/ with space in them.</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/Moved_the_pymissile_Debian_packaging_to_collab_maint.html">Moved the pymissile Debian packaging to collab-maint</a></div>
- <div class="date">10th January 2013</div>
- <div class="body"><p>As part of my investigation on how to improve the support in Debian
-for hardware dongles, I dug up my old Mark and Spencer USB Rocket
-Launcher and updated the Debian package
-<a href="http://packages.qa.debian.org/pymissile">pymissile</a> to make
-sure udev will fix the device permissions when it is plugged in. I
-also added a "Modaliases" header to test it in the Debian archive and
-hopefully make the package be proposed by jockey in Ubuntu when a user
-plug in his rocket launcher. In the process I moved the source to a
-git repository under collab-maint, to make it easier for any DD to
-contribute. <a href="http://code.google.com/p/pymissile/">Upstream</a>
-is not very active, but the software still work for me even after five
-years of relative silence. The new git repository is not listed in
-the uploaded package yet, because I want to test the other changes a
-bit more before I upload the new version. If you want to check out
-the new version with a .desktop file included, visit the
-<a href="http://anonscm.debian.org/gitweb/?p=collab-maint/pymissile.git">gitweb
-view</a> or use "<tt>git clone
-git://anonscm.debian.org/collab-maint/pymissile.git</tt>".</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>
-