X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/e63b6218a1ff9971a9c5e674ea336cb1de0cbd57..ffad0b71a34fca90ce442200de448aa1c4e15b95:/blog/index.html diff --git a/blog/index.html b/blog/index.html index 0fe9383434..dbdba6fc70 100644 --- a/blog/index.html +++ b/blog/index.html @@ -19,6 +19,453 @@ +
+
Dr. Richard Stallman, founder of Free Software Foundation, give a talk in Oslo March 1st 2013
+
27th February 2013
+

Dr. Richard Stallman, +founder of Free Software Foundation, +is giving a +talk in Oslo March 1st 2013 17:00 to 19:00. The event is public +and organised by Norwegian Unix Users Group (NUUG) +(where I am the chair of the board) and +The Norwegian Open Source Competence +Center. The title of the talk is «The Free Software Movement and +GNU», with this description: + +

+The Free Software Movement campaigns for computer users' freedom to +cooperate and control their own computing. The Free Software Movement +developed the GNU operating system, typically used together with the +kernel Linux, specifically to make these freedoms possible. +

+ +

The meeting is open for everyone. Due to space limitations, the +doors opens for NUUG members at 16:15, and everyone else at 16:45. I +am really curious how many will show up. See +the event +page for the location details.

+
+
+ + + Tags: english, opphavsrett, personvern, sikkerhet, surveillance. + + +
+
+
+ +
+
Skolelinux-intervju: Helge Tore Høyland
+
22nd February 2013
+

Etter en lang pause og travle uker har jeg endelig klart å få +samlet et nytt intervju med en av folkene i +Skolelinux-miljøet. +Denne gang er det Helge Tore Høyland, en mangeårig bidragsyter på +epostlistene og ellers i prosjektet.

+ +

Hvem er du, og hva driver du med til daglig?

+ +

Eg er IT-konsulent/teknikker hjå eit firma i Steinkjer med navn +Uno IT. Uno IT er eit lite firma som +drifter nettverk og maskiner for små og mellomstore firma +Steinkjer-området. Per dags dato er me 2 ansatte. Min faglege bakgrunn +er Fagbrev som it-teknikker, samt nokre fag innen nettverk- og +server-drift frå HiST og NTNU. Dagleg arbeid består i oppsett av nye +maskiner og hjelp til sluttbrukere, samt oppsett og vedlikehold av eit +vidt spekter av fagsystemer ute hjå kunder. Erfaring med Skolelinux +har eg hatt i forbindelse med drifting av +Bjørkly skule, ein privat +grunnskule i Namsos-området. I dag har skulen 65 elever, 15 lærere, 1 +hovedserver og ca 60 klienter som kjører halvtjukt. Eg har bygd og +driftet systemet sidan summaren 2006.

+ +

Hvordan kom du i kontakt med Skolelinux-prosjektet?

+ +

Eg kom i kontakt med Skolelinux-prosjektet via ein artikkel i eit +fagblad, som eg ikkje lenger hugsar namnet på. I og med at eg allereie +hadde pusla med nettverk for ein annan skule, fatta eg straks +interesse for prosjektet.

+ +

Hva er fordelene med Skolelinux slik du ser det?

+ +

Fordelane med Skolelinux er sentralisert administrasjon og svært +mange gode verktøy «ut av boksen». Veldig kjekt å kunne drifte 60 +klientar med berre å «bry» seg med ein server. Levetid for systemets +hardware er og ein veldig fin effekt. I tillegg kjem fordelar som økt +sikkerhet og mindre lisenskostnader. Etter min erfaring er det og +mykje mindre driftskostnader med eit slikt system enn konkurrerande +system, pga enkelhet med sentralisert administrasjon. På grunn av at +Skolelinux er basert på Debian er det òg svært stabilt.

+ +

Hva er ulempene med Skolelinux slik du ser det?

+ +

Ulemper er mangel på vilje til å følge standarer ute i markedet, +som fører til mangel på støtte til nokre mykje brukte ting. Flash og +Java er typiske eksempel. Sidan Debian satsar på stabilitet framfor å +ha nyeste pakke av eit program, kan ein i nokre tilfeller kome borti +at program vert «for gamle». Det er spesielt nettlesaren som er +utsett. Mangel på vilje til å utvikle pedagogisk programvare, i Noreg, +for «alle» platformer fører òg til noko hovudbry.

+ +

Hvilken fri programvare bruker du til daglig?

+ +

Til dagleg bruker eg svært mange forskjellige «fri programvare» +program. Firefox, Thunderbird, Freecommander, ImgBurn, Clonezilla, +OCS inventory, Icinga, Skolelinux, SystemRescueCD og mykje meir.

+ +

Hvilken strategi tror du er den rette å bruke for å få +skoler til å ta i bruk fri programvare?

+ +

Strategisk må ein fokusere på at sluttbruker eigentleg ikkje er så +fokusert på at det er fri programvare men at det skal «berre fungere». +Gjer det enkelt å bruker og ikkje minst å administrere. For Skolelinux +sin del må ein få eit betre fokus på overganger. Utbytting av servere +må gå meir automatisk, import og eksport av brukerbase og maskinbase +med meir må kunne gå enkelt og oppgradering til neste versjon må bli +mykje meir automatisk og gjennomtesta. Ein må unngå at ein må sette +opp frå start når ein byter ut ein server eller oppgraderer til neste +versjon. For å få Skolelinux til å bli eit betre alternativ for skular +må ein ha fokus på nettlesaren. Denne må bli «up to date» og støtte +dei protokollar og tillegg som vert brukt av forlag med meir. Etter +kvart som meir og meir blir flytta ut i «skya» vert dette viktigare og +viktigare. Ein kunne ynskje og jobbe for at forlag med fleire tar i +bruk opne standarer, men inntil det skjer, må systemet kunne brukast +mot desse fagsystema.

+ +

For meg har prosjektet med Skolelinux vore ein svært artig og +lærerik prosess. Miljøet rundt er ikkje enormt stort, dog stort nok, +men det er svært hjelpevillig og engasjert.

+
+
+ + + Tags: debian edu, intervju, norsk. + + +
+
+
+ +
+
Frikart - Free Garmin maps for European countries based on OpenStreetmap
+
15th February 2013
+

If you, like me, want an updated a map for your Garmin GPS, there is +now a great source of free maps available from +Frikart. To +download a map, just click on the country you are interested in, and +download the map type you want. There are 8 different maps available, +using different colours and data selection. Pick one of Roadmap, Topo +Summer, Topo Winter, Roadmap II, Topo Summer II, Topo Winter II, +"Trails - overlay map" and "Cross country - overlay map" (see the web +page for descriptions).

+ +

The maps are updated weekly, so if you find something wrong in the +map you can just edit the +OpenStreetmap map source +(anyone can contribute) and fetch a fixed map a week later. :)

+
+
+ + + Tags: english, kart. + + +
+
+
+ +
+
"Electronic" paper invoices - using vCard in a QR code
+
12th February 2013
+

Here in Norway, electronic invoices are spreading, and the +solution promoted +by the Norwegian government require that invoices are sent through +one of the approved facilitators, and it is not possible to send +electronic invoices without an agreement with one of these +facilitators. This seem like a needless limitation to be able to +transfer invoice information between buyers and sellers. My preferred +solution would be to just transfer the invoice information directly +between seller and buyer, for example using SMTP, or some HTTP based +protocol like REST or SOAP. But this might also be overkill, as the +"electronic" information can be transferred using paper invoices too, +using a simple bar code. My bar code encoding of choice would be QR +codes, as this encoding can be read by any smart phone out there. The +content of the code could be anything, but I would go with +the vCard format, as +it too is supported by a lot of computer equipment these days.

+ +

The vCard format support extentions, and the invoice specific +information can be included using such extentions. For example an +invoice from SLX Debian Labs (picked because we +ask +for donations to the Debian Edu project and thus have bank account +information publicly available) for NOK 1000.00 could have these extra +fields:

+ +

+X-INVOICE-NUMBER:1
+X-INVOICE-AMOUNT:NOK1000.00
+X-INVOICE-KID:123412341234
+X-INVOICE-MSG:Donation to Debian Edu
+X-BANK-ACCOUNT-NUMBER:16040884339
+X-BANK-IBAN-NUMBER:NO8516040884339
+X-BANK-SWIFT-NUMBER:DNBANOKKXXX
+

+ +

The X-BANK-ACCOUNT-NUMBER field was proposed in a stackoverflow +answer regarding +how +to put bank account information into a vCard. For payments in +Norway, either X-INVOICE-KID (payment ID) or X-INVOICE-MSG could be +used to pass on information to the seller when paying the invoice.

+ +

The complete vCard could look like this:

+ +

+BEGIN:VCARD
+VERSION:2.1
+ORG:SLX Debian Labs Foundation
+ADR;WORK:;;Gunnar Schjelderups vei 29D;OSLO;;0485;Norway
+URL;WORK:http://www.linuxiskolen.no/slxdebianlabs/
+EMAIL;PREF;INTERNET:sdl-styret@rt.nuug.no
+REV:20130212T095000Z
+X-INVOICE-NUMBER:1
+X-INVOICE-AMOUNT:NOK1000.00
+X-INVOICE-MSG:Donation to Debian Edu
+X-BANK-ACCOUNT-NUMBER:16040884339
+X-BANK-IBAN-NUMBER:NO8516040884339
+X-BANK-SWIFT-NUMBER:DNBANOKKXXX
+END:VCARD
+

+ +

The resulting QR code created using +qrencode would look +like this, and should be readable (and thus checkable) by any smart +phone, or for example the zbar +bar code reader and feed right into the approval and accounting +system.

+ +

+ +

The extension fields will most likely not show up in any normal +vCard reader, so those parts would have to go directly into a system +handling invoices. I am a bit unsure how vCards without name parts +are handled, but a simple test indicate that this work just fine.

+ +

Update 2013-02-12 11:30: Added KID to the proposal +based on feedback from Sturle Sunde.

+
+
+ + + Tags: english, standard. + + +
+
+
+ +
+
Litt statistikk over offentlige anbud annonsert via Doffin siden 2008
+
11th February 2013
+

For et halvt år siden +satte +jeg opp et system for å lage en database med informasjon om +offentlige anbud fra Doffin ved +hjelp av +Scraperwiki. Nå er databasen så vidt jeg kan se komplett, med +data helt tilbake til 2008. Her er litt statistikk over +antall +anbud publisert hver måned:

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Publiseringsmåned Antall
2013-01 1015
2012-12 756
2012-11 979
2012-10 1093
2012-09 1023
2012-08 951
2012-07 1103
2012-06 1334
2012-05 1435
2012-04 1169
2012-03 1573
2012-02 1335
2012-01 1147
2011-12 1045
2011-11 1114
2011-10 1230
2011-09 1165
2011-08 966
2011-07 1148
2011-06 1410
2011-05 1536
2011-04 1350
2011-03 1574
2011-02 1370
2011-01 1049
2010-12 992
2010-11 1089
2010-10 1110
2010-09 1132
2010-08 883
2010-07 1126
2010-06 1440
2010-05 1236
2010-04 1249
2010-03 1556
2010-02 1256
2010-01 1140
2009-12 1013
2009-11 1220
2009-10 1320
2009-09 1294
2009-08 953
2009-07 1162
2009-06 1605
2009-05 1568
2009-04 1522
2009-03 1599
2009-02 1376
2009-01 1080
2008-12 1028
2008-11 949
2008-10 1047
2008-09 965
2008-08 725
2008-07 1015
2008-06 1304
2008-05 323

+ +

Her er tilsvarende +tall +per år, som viser en liten nedgang i antall anbud:

+ + + + + + + + +
Publiseringsår Antall
2012 13898
2011 14957
2010 14209
2009 15712
2008 7356

+ +

Jeg droppet den ufullstendige måneden og året fra tabellen. Se +lenken for oppdaterte tall.

+
+
+ + + Tags: norsk, nuug, offentlig innsyn. + + +
+
+
+ +
+
Sleep until morning - home automation for the kids
+
10th February 2013
+

+ +

With kids in the house, one challenge is getting them to sleep +during the night and wake up when it is morning. I mean, when I +believe it is morning, and not two hours earlier. In our household we +have decided that 07:00 is the turning point, but getting the kids to +sleep until 07:00 is a small challenge every day. They have adapted +quite well, and rarely wake up at 05:00 any more, but some times wake +up at times like 05:50, 06:15, 06:30 or 06:45, and it is hard to put +the awake one to bed again without disturbing and waking the rest. +And I understand perfectly well that they fail to sleep until 07:00 +some times, as there is no way for them to know if it is before or +after the magic moment without coming and asking us parents.

+ +

But yesterday I came up with a method to solve this problem. It +involve home automation. A few years ago I bought a +Tellstick and RF +switches at the local Clas +Ohlson shop, allowing me to control lights and other electrical +gadgets using my Linux server. When I moved from the old flat to a +small house, I put away all this equipment as most of the lighting in +the house was not using wall sockets and thus not easy to connect to +the gadgets I had. But recently I bought a +Tellstick +Net to be able to read sensor input as well as control power +sockets. I want to control ovens in the basement to avoid the pipes +to freeze, and monitor the humidity to detect flooding. The default +setup for Tellstick Net is to be controlled by the vendor web service, +which to me is a security problem, but it is also possible to build +ones own +firmware +with local access instead of being controlled by a Swedish +company, thanks to the release of the GPL licensed firmware source +code. I plan to get that running before I let it control anything +important. But while working on this, one idea to make it easier for +the kids came to me yesterday. We can set up a night light controlled +by the computer, and turn it automatically on at 07:00. The kids can +then check the light in the morning to know if they are supposed to +get up or not. They joined me in setting everything up, and I +repeated the concept several times before bed times to make sure they +remembered to check the light before getting up in the morning.

+ +

We tested it this morning, and all the kids stayed in bed until +after 07:00, and every one of them commented on the fact that the +"morning light" was turned on and signalled that the morning had +arrived. So this look like a success, and I am excited to see how +this develops the next few days. :) I really hope this can allow us +all to sleep a bit longer in the morning.

+ +

A nice advantage of this setup is that we can remote control when +to tell the kids to get up. We do not have to wait until 07:00, and +can also delay it if we want to.

+
+
+ + + Tags: english. + + +
+
+
+ +
+
Hva stemte hver stortingsrepresentant i voteringene om datalagringsdirektivet?
+
9th February 2013
+

Nytt stortingsvalg er på trappene, og folket får igjen mulighet til +å påvirke sammensetningen i vår lovgivende forsamling. Da er det +relevant å vite hvilke representanter og partier som har støttet +innføringen av brev- og besøkskontroll av hele den norske +befolkningen, det vil si datalagringsdirektivet.

+ +

Hvis du vil vite hva hver enkelt stortingsrepresentant har stemt i +stortingsvoteringene om datalagringsdirektivet, så har nettstedet til +Holder De Ord den (så vidt jeg +vet) eneste komplette oversikten på sin temaside om +innføringen +av datalagringsdirektivet. Den har detaljene fra de 11 relevante +forslagene som har vært fremmet så lagt. De har vært votert over +2011-04-04, 2011-04-11, 2012-06-11, 2012-10-05 og 2012-12-06.

+ +

Hvis du lurer på hva som er problemet med datalagringsdirektivet, +anbefaler jeg å lese artiklene +fra Jon Wessel-Aas om temaet, samt informasjon fra foreningen +Digitalt +Personvern.

+
+
+ + + Tags: norsk, personvern, stortinget, surveillance. + + +
+
+
+
Økt overvåkning applauderes igjen av Arbeiderpartiet, Høyre og Fremskrittspartiet
4th February 2013
@@ -40,7 +487,7 @@ gang 2011-04-11 (lovendringer voteres to ganger), og forslag om å stoppe loven ble nedstemt 2012-12-06 (se også -oversikt fra Holder De +oversikt fra Holder De Ord).

Jan Bøhler i Arbeiderpartiet stemte for å innføre @@ -56,6 +503,10 @@ anbefaler jeg å lese artiklene fra Jon Wessel-Aas om temaet, samt informasjon fra foreningen Digitalt Personvern.

+ +

Oppdatering 2013-03-09: Endret lenke til Holder De +Ord, som har byttet mange lenker i forbindelse med import av +voteringsdata for 2010-2011.

@@ -159,763 +610,6 @@ clone argument to avoid the need for authentication.

-
-
First prototype ready making hardware easier to use in Debian
-
21st January 2013
-

Early this month I set out to try to -improve -the Debian support for pluggable hardware devices. Now my -prototype is working, and it is ready for a larger audience. To test -it, fetch the -source -from the Debian Edu subversion repository, build and install the -package. You might have to log out and in again activate the -autostart script.

- -

The design is simple:

- - - -

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.

- -

-
-
-
-

- -

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.

- -

Update 2013-01-21 16:50: Due to popular demand, -here is the command required to check out and build the source: Use -'svn checkout -svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd -hw-support-handler; debuild'. If you lack debuild, install the -devscripts package.

- -

Update 2013-01-23 12:00: 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 -build -instructions for details.

-
-
- - - Tags: debian, english, isenkram. - - -
-
-
- -
-
Thank you Thinkpad X41, for your long and trustworthy service
-
19th January 2013
-

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. - -

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.:)

- - - -

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.

- -

Perhaps I should rethink my needs, and look for a pad with an -external keyboard? I'll have to check the -Linux Laptops site for -well-supported laptops, or perhaps just buy one preinstalled from one -of the vendors listed on the Linux -Pre-loaded site.

-
-
- - - Tags: debian, english. - - -
-
-
- -
-
How to find a browser plugin supporting a given MIME type
-
18th January 2013
-

Some times I try to figure out which Iceweasel browser plugin to -install to get support for a given MIME type. Thanks to -specifications -done by Ubuntu 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:

- -
-#!/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
-
- -

It can be used like this to look up a given MIME type:

- -
-% ./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
-%
-
- -

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?

- -

Update 2013-01-18 14:20: The Debian BTS -request for icweasel support for this feature is -#484010 from 2008 (and -#698426 from today). Lack -of manpower and wish for a different design is the reason thus feature -is not yet in iceweasel from Debian.

-
-
- - - Tags: debian, english. - - -
-
-
- -
-
What is the most supported MIME type in Debian?
-
16th January 2013
-

The DEP-11 -proposal to add AppStream information to the Debian archive, 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.

- -

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 -Skolelinux FTP -site. 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.

- -

Debian Stable:

- -
-  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
-
- -

Debian Testing:

- -
-  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
-
- -

Debian Unstable:

- -
-  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
-
- -

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.

- -

Update 2013-01-16 13:35: Updated numbers after -discovering a typo in my script.

-
-
- - - Tags: debian, english. - - -
-
-
- -
-
Using modalias info to find packages handling my hardware
-
15th January 2013
-

Yesterday, I wrote about the -modalias -values provided by the Linux kernel following my hope for -better -dongle support in Debian. 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.

- -

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.

- -

-Package: package-name -
Modaliases: module(modaliasglob, modaliasglob, modaliasglob)

-

- -

It is fairly trivial to write code to find the relevant packages -for a given modalias value using this file.

- -

An entry like this would suggest the video and picture application -cheese for many USB web cameras (interface bus class 0E01):

- -

-Package: cheese -
Modaliases: cheese(usb:v*p*d*dc*dsc*dp*ic0Eisc01ip*)

-

- -

An entry like this would suggest the pcmciautils package when a -CardBus bridge (bus class 0607) PCI device is present:

- -

-Package: pcmciautils -
Modaliases: pcmciautils(pci:v*d*sv*sd*bc06sc07i*) -

- -

An entry like this would suggest the package colorhug-client when -plugging in a ColorHug with USB IDs 04D8:F8DA:

- -

-Package: colorhug-client -
Modaliases: colorhug-client(usb:v04D8pF8DAd*)

-

- -

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.

- -

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.

- -

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 -hw-support-lookup -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.

- -

When I use it on a machine with a yubikey inserted, it suggest to -install yubikey-personalization:

- -

-% ./hw-support-lookup -
yubikey-personalization -
% -

- -

When I run it on my Thinkpad X40 with a PCMCIA/CardBus slot, it -propose to install the pcmciautils package:

- -

-% ./hw-support-lookup -
pcmciautils -
% -

- -

If you know of any hardware-package mapping that should be added to -my -database, please tell me about it.

- -

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.

- -

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 -#debian-devel.

-
-
- - - Tags: debian, english, isenkram. - - -
-
-
- -
-
Modalias strings - a practical way to map "stuff" to hardware
-
14th January 2013
-

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 -the -Debian Edu subversion repository: - -

Modalias decoded

- -

This document try to explain what the different types of modalias -values stands for. It is in part based on information from -<URL: https://wiki.archlinux.org/index.php/Modalias >, -<URL: http://unix.stackexchange.com/questions/26132/how-to-assign-usb-driver-to-device >, -<URL: http://code.metager.de/source/history/linux/stable/scripts/mod/file2alias.c > and -<URL: http://cvs.savannah.gnu.org/viewvc/dmidecode/dmidecode.c?root=dmidecode&view=markup >. - -

The modalias entries for a given Linux machine can be found using -this shell script:

- -
-find /sys -name modalias -print0 | xargs -0 cat | sort -u
-
- -

The supported modalias globs for a given kernel module can be found -using modinfo:

- -
-% /sbin/modinfo psmouse | grep alias:
-alias:          serio:ty05pr*id*ex*
-alias:          serio:ty01pr*id*ex*
-%
-
- -

PCI subtype

- -

A typical PCI entry can look like this. This is an Intel Host -Bridge memory controller:

- -

-pci:v00008086d00002770sv00001028sd000001ADbc06sc00i00 -

- -

This represent these values:

- -
- v   00008086  (vendor)
- d   00002770  (device)
- sv  00001028  (subvendor)
- sd  000001AD  (subdevice)
- bc  06        (bus class)
- sc  00        (bus subclass)
- i   00        (interface)
-
- -

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).

- -

Not sure how to figure out the interface value, nor what it -means.

- -

USB subtype

- -

Some typical USB entries can look like this. This is an internal -USB hub in a laptop:

- -

-usb:v1D6Bp0001d0206dc09dsc00dp00ic09isc00ip00 -

- -

Here is the values included in this alias:

- -
- 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)
-
- -

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:

- -

-usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc01ip00 -
usb:v0AC8p3420d5000dcEFdsc02dp01ic01isc02ip00 -
usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc01ip00 -
usb:v0AC8p3420d5000dcEFdsc02dp01ic0Eisc02ip00 -

- -

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.

- -

ACPI subtype

- -

The ACPI type is used for several non-PCI/USB stuff. This is an IR -receiver in a Thinkpad X40:

- -

-acpi:IBM0071:PNP0511: -

- -

The values between the colons are IDs.

- -

DMI subtype

- -

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:

- -

-dmi:bvnIBM:bvr1UETB6WW(1.66):bd06/15/2005:svnIBM:pn2371H4G:pvrThinkPadX40:rvnIBM:rn2371H4G:rvrNotAvailable:cvnIBM:ct10:cvrNotAvailable: -

- -

The values present are

- -
- 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)
-
- -

The chassis type 10 is Notebook. Other interesting values can be -found in the dmidecode source:

- -
-  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
-
- -

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.

- -

SerIO subtype

- -

This type is used for PS/2 mouse plugs. One example is from my -test machine:

- -

-serio:ty01pr00id00ex00 -

- -

The values present are

- -
-  ty  01  (type)
-  pr  00  (prototype)
-  id  00  (id)
-  ex  00  (extra)
-
- -

This type is supported by the psmouse driver. I am not sure what -the valid values are.

- -

Other subtypes

- -

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.

- -

Looking up kernel modules using modalias values

- -

To check which kernel modules provide support for a given modalias, -one can use the following shell script:

- -
-  for id in $(find /sys -name modalias -print0 | xargs -0 cat | sort -u); do \
-    echo "$id" ; \
-    /sbin/modprobe --show-depends "$id"|sed 's/^/  /' ; \
-  done
-
- -

The output can look like this (only the first few entries as the -list is very long on my test machine):

- -
-  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 
-  [...]
-
- -

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 -#debian-devel.

- -

Update 2013-01-15: Rewrite "cat $(find ...)" to -"find ... -print0 | xargs -0 cat" to make sure it handle directories -in /sys/ with space in them.

-
-
- - - Tags: debian, english, isenkram. - - -
-
-
- -
-
Moved the pymissile Debian packaging to collab-maint
-
10th January 2013
-

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 -pymissile 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. Upstream -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 -gitweb -view or use "git clone -git://anonscm.debian.org/collab-maint/pymissile.git".

-
-
- - - Tags: debian, english, robot. - - -
-
-
-

RSS feed