Alle Beiträge von Konstantin Filtschew

Über Konstantin Filtschew

Building an operation system without source code, is like buying a self assemble space shuttle without instructions. (Author unknown)

SA-UPDATE: Auch Spamassassin braucht ab und zu mal ein Update

Nutzer von Spamassassin wissen das Programm für die hervorragenden Spamerkennungsrate zu schätzen. Dazu nutzt Spamassassin auch diverse Blacklist, um die Klassifizierung der Nachrichten zu verbessern. Diese ändern sich, neue kommen dazu oder einige verschwinden ganz aus dem Netz. Aus diesem Grund sollte jeder Spamassassin Nutzer ab und zu den Befehl „sa-update“ ausführen, damit diese und weitere Informationen aktualisiert werden. Das verbessert nicht nur die Erkennungsrate, sondern beschleunigt die Erkennung, da keine nicht mehr vorhandenen Seiten abgefragt werden und auf ein Timeout gewartet wird.

Also nicht vergessen und ab und zu „sa-update“ ausführen. Ist ziemlich schmerzfrei und bei „sa-update -D“ auch mit Ausgaben zu haben.

Leitfaden für das Impressum

Das Bundesministerium für Justiz hat einen Leitfaden für das Impressum erstellt. Es soll Betreibenden von Internetseiten dabei helfen ein Impressum nach den Voraussetzungen für Ihre Seite. Wer kein Impressum auf seinem Internetauftritt oder Blog besitzt, der sollte sich auf jeden Fall eines zulegen. Schon das Vorhanden sein eines ordentlichen Impressums schreckt schon viele klagefreudige Anwälte ab.

Ich werde bei Gelegenheit mein Impressum mit dem Leitfaden abgleichen und falls notwendig Korrekturen vornehmen.

Was soll mein nächstes Mobiltelefon können?

Schon lange überlege ich, welches mein neues Mobiltelefon werden soll. Im Moment bin ich eigentlich mit meinem Nokia E70 zufrieden. Allerdings stören mich die folgenden Punkte:

  • Sehr träge in der Reaktion
  • Der Browser ist mehr schlecht als Recht (ständig Speicher voll und nichts wird gecacht)
  • E-Mail Client lässt sich kaum konfigurieren
  • Kann keine Zertifikate importieren, deswegen kein SSL/TLS bei E-Mail möglich, da ständig eine Meldung kommt
  • Der Joystick hat schon nach einem Jahr angefangen Probleme zu machen
  • Etwas zu dick für die Tasche

Natürlich würden viele sofort „IPhone“ schreien, aber das ist auch nicht wirklich genial, wie es iX in der aktuellen Ausgabe 10/2008 getestet hat.

Folgende Funktionen sind für mich wichtig:

  • schnelle Reaktionen im Menü und Kontakte
  • Vernünftiger E-Mail Client mit SSL/TLS Unterstützung
  • IMAP und Ordnerverwaltung (nur teilweise vernünftig gelöst) mit kopieren/verschieben
  • IMAP-Push (optional, aber sinnvoll)
  • Befehle im E-Mail Client offline ausführen und dann beim nächsten Online-gehen auf dem Server durchführen.
  • Kontakte Synchronisieren und nicht multiplizieren (Motorola Razor kann das ganz toll – für jeden Eintrag pro Kontakt entsteht ein neuer Kontakt mit einer Telefonnummer, E-Mail Adresse usw. Dazu können nicht alle Kontakte synchronisiert werden!)
  • Suchen in E-Mails
  • Funktionierender Webbrowser, der nicht beim Zurückgehen die Seite neu laden muss und auch Javascript, Flash und vielleicht NoScript (für die Sicherheit) unterstützt
  • Telefonnummern von der Webseite anrufen oder sich kopieren/einfügen können
  • Tastatur so wie beim E70 als Eingabe (für E-Mails, SMS und SSH-Zugang)
  • SSH-Client
  • PDF-Viewer
  • j2me (Java Mobile) für Anwendungen (IPhone wird es wegen Apple Regeln nicht haben)
  • OpenVPN Client (Dream a little dream)
  • Über das Handy mit dem Laptop in das Internet gehen (Iphone kann es nicht ohne Umwege!)
  • OpenExchange Anbindung (oder ähnliche Lösung für nicht große Firmen)
  • keine festen Zugangspunkte, sondern Prioritäten über mehrere Zugangspunkte
  • Vernünftige Wahl von Zugangspunkte und die Möglichkeit temporär Zugangspunkte zu nutzen
  • Die Lösung bei Nokia mit Zugangspunkt jedes Mal wählen ist mehr als unpraktikabel. Da lasse ich es lieber per GPRS abholen, als 50 mal den Zugangspunkt zu bestätigen! Eine Lösung ist es aber nicht.
  • keine feste Startseite im Browser!!!
  • Selbst signierte Zertifikate müssen im Browser und E-Mail Client nutzbar sein. Ständiges Nachfragen bringt keinem was. Zertifikate müssen importierbar sein. Ein „für immer bestätigen“ muss auch bis zum Ablaufdatum des Zertifikates bleiben!
  • Nicht die Verbindung mit dem Internet schließen, wenn der Browser oder andere Programme geschlossen werden. Es gibt Nutzer, die E-Mail Client, Twitter oder ähnliche Programme nutzen, die ständig im Hintergrund werkeln wollen!
  • Nicht die Termine bei Uhrzeitverstellung „korrigieren“!!!
  • Touchscreens und keine „Wippe“ zum navigieren (Google Android und IPhone haben es nicht erfunden, aber endlich eine vernünftige Lösung gefunden). Ich möchte doch nur vernünftig navigieren und nicht mich dumm und dämlich ärgern mit dem Kreuz.
  • Mit Wlan-AccessPoints verbinden (deswegen fliegt Windows Mobile garantiert aus der Wahl, weil es öfters nicht klappt, als klappt!)
  • Brauchbare Meldungen und Fehlermeldungen (deswegen kein Windows, weil es sogar unter Vista nicht funktioniert!)
  • Abstürze sollen nicht zur Tagesordnung gehören (bitte bitte bitte funktionierende Software schreiben)
  • Synchronisation muss unter Linux möglich sein!
  • kein iTunes!!! Nicht jeder will das Ding.
  • Vielleicht als USB-Stick Ersatz nutzen, falls keiner zur Hand ist.
  • kein Apple Store als Pflicht für Anwendungen!
  • E-Mail Verschlüsselung/Signierung mit S/Mime und PGP/GnuPG

Einige meiner Wünsche sind vielleicht etwas übertrieben, aber andere wie Telefonnummern von der Webseite anrufen, kopieren oder nutzen sind mehr als praxisnah.

Aus diesem Grund sehe ich die Wahl des Handys weniger als Wahl, sondern als das kleinste Übel mit möglichst wenigen Einschränkungen. Mal schauen was Google mit Android liefert oder andere.

Wäre das Nokia N810 ein Handy, dann würde ich es wirklich in die engere Wahl nehmen.

Wer mir also einen gute Tipp geben kann, dann immer her damit. Das E70 will in den Ruhestand, wobei ich wegen Mangel an Alternativen andere Meinung bin! 😉

Befreiphone bei Google auf dem ersten Platz gibt ein IPhone

Wenn es was umsonst gibt, dann ist natürlich jeder dabei. Auf jeden Fall gibt es ein IPhone 3G 16 GB, wer bis zum 17ten September bei Google auf Platz eins unter dem Begriff Befreiphone steht.

Die Idee hinter Befreiphone

Das Problem am IPhone kauf ist, dass Apple mit den Providern ein Vertrag abgeschlossen hat, mit dem nur dieser eine Provider das IPhone in dem Land verkaufen kann. Durch die zusätzliche Netzsperre, wie man sie eigentlich nur von Prepaid Mobiltelefonen her kennt, war es nicht möglich das IPhone in fremden Netzen zu nutzen. Hier soll das Befreiphone helfen. Das Befreiphone hat keine Netzsperre und kann bei jedem Provider genutzt werden. Daher ergbit sich der Name – aus Befreien und IPhone ergibt sich Befreiphone.

Da dieser wenig sinnvolle Text eigentlich nur für Suchmaschinenoptimierung (SEO) erstellt wurde und mir mit sehr viel Glück zu einem IPhone verhelfen könnte, bitte ich jeden Leser auf diesen Beitrag zu verlinken und in dem Link das Wort „Befreiphone“ zu erwähnen.
Notiz: Das mit dem Verlinken klappt weniger als gut, da ich mittlerweile auf Seite 10 bei Google gerutscht bin. Hat aber auch noch mehr Gründe. Sieht nicht nach einem Befreiphone für mich aus! 🙁

Ab hier kommt etwas befreiendes Geschwafel zum Befreiphone

Das Befreiphone wort ist eine Zusammensetzung aus den Worte Befreien und IPhone – dem angeblichen „Wunder“ von Apple. Da Suchmaschinen statistische Auswertungen von der Wortdichte machen, benutze ich mal ganz oft das Wort Befreiphone. Dadurch wird die Seite zu dem Begriff Befreiphone relevant eingeschätzt. Übertreibt man es allerdings, dann passiert genau das Gegenteil und das Wort wird wie „und“ einfach als zu oft und damit irrelevant eingeschätzt.

Dazu ist es wichtig, dass möglichst viele Seiten auf diese Seite verlinken und in dem Link den Begriff Befreiphone erwähnen. Am besten sollten die Seiten von Google gut bewertet werden (Page Rank) und eventuell auch das Thema ansprechen. Das ist mir bis jetzt mit Befreiphone nicht gelungen und wird es wohl nicht.

Die Seite soll ganz oft aktualisiert werden und natürlich das Thema Befreiphone nicht verlieren. Google versucht damit menschliches Verhalten zu imitieren – wenn es was neues gibt, dann wird wohl es jemand lesen wollen. Seite die nichts Neues bieten, werden auch für Leser uninteressant sein.

Das Wort Befreiphone sollte möglichst überall auftauchen und zwar in der Adresse, im Ordner und Dateiename (falls nicht beide, dann wenigstens eines davon), sonst wird es nichts mit dem Befreiphone.

Überschriften sagen was über den nachfolgenden Text aus. Hier sollte Befreiphone ebenfalls auftauchen – also in H1 usw. Auch hervorgehobene Worte werden eine Bemessung finden. Deswegen den Begriff mal kursiv und fett schreiben.

Neues zu dem Befreiphone

Da Suchmaschinen auf neue Sachen stehen, muss das Befreiphone und dieser Artikel regelmäßig überarbeitet und aktualisiert werden. Deswegen wird hier immer wieder was neues stehen. Meistens wird es wenig Sinn machen, aber hier geht es weniger um Sinn, als mehr um ein gewonnenes Befreiphone in Form eines IPhone 3G 16GB.

  • Einstig am 12 September 2008 auf Seite 5
  • 13 September 2008 auf Seite 6 gerutscht
  • 14 September 2008 auf Seite 10 gerutscht
  • 15 September 2008 auf Seite 11 gerutscht
  • 16 September 2008 raus geflogen, weil Befreiphone zu oft eingefügt! 😉
  • 19 September 2008 nix gewonnen 🙁 aber auch faktisch nichts investiert.

Was haben ich für eine bessere Platzierung gemacht? Nichts, weil ich keine Zeit hatte.

TODO für das Befreiphone

  • Text nochmal lesen und Fehler korrigieren
  • Mehr über das IPhone schreiben – also Vor- und Nachteile
  • Befreiphone öfters erwähnen
  • Google ist nicht gleich Google (Rechenzentren, Sprachen, …)
  • Verschiedene Browser
  • Verschiedene Betriebssysteme
  • Was Sinnvolles tun und aufhören Zeit zu schinden 😉

Weitere Informationen:

WordPress auf 2.6.2 und einige Plugins aktualisiert

Was tut man nicht alles für die Sicherheit seines Blogges. Heute war wieder mal ein Update fällig. Dabei habe ich auch Plugins aktualisiert. Da freut sich das Entwickler- und Adminherz, wenn alles neu ist! 😉

WordPress 2.6.2 behebt eine Sicherheitslücke, mit der es möglich war Accounts zu übernehmen, wenn die Registrierung des Blogs offen ist.

Für weitere Informationen siehe:

15 Jahre Debian! Ich gratuliere ebenfalls diesem erfolgreichen Projekt

Am 18.08.2008 ist das Debian Projekt 15 Jahre alt geworden. Ich gratuliere dem Debian Projekt zu diesem Jubiläum. Für mich stellt Debian Linux noch immer die beste freie Linux Distribution dar. Qualitativ ist Debian kaum zu schlagen. Die Wahl von Debian Linux unter anderem für große Stadtprojekte wie München spricht für die Qualität von Debian. Auch braucht sich Debian nicht hinter kommerziellen Anbietern wie Red Hat, Suse und anderen zu verstecken.

Mein Weg von/zu Debian Linux:

Debian Linux war meine erste Linux Distribution. Damals war die Linux Installation etwas holprig und es gab nicht wenig Probleme mit Hardware und Treibern. Mein erster Linux Router verrichtete seine Arbeit als Router und FTP-Server an einer DSL Leitung. Graphische Oberflächen ware weniger interessant. KDE war damals zwar schon weit fortgeschritten, aber es war für meine Gefühle zu träge, überfrachtet und zu langsam – so wie es meiner Meinung nach Heute noch immer ist!

Zwischenzeitlich habe ich auch andere Distributionen ausprobiert. Slackware Linux hatte für eine nicht kurze Zeit Debian ersetzt. Soweit ich mich erinnern kann, war die Entscheidung für Slackware nicht groß zu begründen. Ich wollte neuere Paketeversionen und die erste Linux Distribution überhaupt mal ausprobieren. Mit Slackware verweilte ich eins bis zwei Jahre.

Suse und Red Hat haben mich nie groß begeistert. Suse Linux bereitete mir nur Ärger und spätestens YAST mit seiner „Configs-Überschreiben“-Funtkion und nicht alle möglichen einstellbaren Konfigurationen, führten zur Abwendung von Suse.

Red Hat lief zwar mindestens ein halbes Jahr auf einem meiner Systeme, hat mich aber nie begeistert, da es nicht frei war und für mich keine entscheidenden Vorteile besaß. Eine Grafische Installation wie sie Suse und Red Hat früh eigenführt hatten, waren für mich nie ein großes Kriterium. Support war auch nicht notwendig. Mittlerweile bestehen mit Open-Suse und Fedora freie Varianten der Linux Distributionen und sind nicht wenig beliebt.

Gentoo war nach Debian die von mir am längsten eingesetzte Linux Distribution. Die sehr aktuellen Softwarestände und die hohe Performance durch die Optimierung auf die CPU mit dem sehr guten System „emerge“ haben mich überzeugt. Allerdings habe ich mich wegen der langen Zeit für das Erstellen von Paketen und das ständige Compilieren (pro Woche ca. 18 Stunden) gegen Gentoo Linux entschieden. Firefox Aktualisierungen von ca. fünf bis sieben Stunden waren sehr lästig und der Lüfter war der selben Meinung, als er ununterbrochen unter Vollast lief.
Trotzdem bin ich noch immer der Meinung, dass Gentoo Linux die beste Wahl für unter Last laufende und sehr anspruchsvolle Systeme für Hohe Laste, die beste Wahl ist.

Trotz der vielen Ausflüge zu anderen Distributionen ist und bleibt Debian Linux für mich die Distribution der ersten Wahl. Nicht wenige andere Linux Projekte haben ihre Popularität und Erfolg nur durch die Debian Basis erreichen können. Ubuntu Linux ist dabei der bekannteste und der erfolgreichste Vertreter.

Weitere Informationen und interessante Berichte:

Möge PHP4 in Frieden ruhen

Gestern am 08.08.2008 wurde die Unterstützung für PHP 4.4 als letzte Version der PHP4 Familie eingestellt. Wenn es auch kein wirklicher Trauertag ist, da die meiste Software weiter unter PHP5 funktionieren wird, so sollte dieser Tag dokumentiert werden.

Gentoo hat offiziell in einer E-Mail  an die Announce-Mailinglist angekündigt PHP4-basierte Software aus ihren Repositories zu nehmen. Durch diesen drastischen Eingriff wird höchst wahrscheinlich nicht wenig Software und kleine Skripte verloren gehen bzw. nicht mehr unterstützt werden.

Auch die Hoster müssen spätestens jetzt ihre Server auf PHP5 portieren, da keine weiteren Sicherheitsaktualisierungen für PHP4 zur Verfügung gestellt werden. Es wird auch einzelne Kunden härter treffen, da ihre Software mit PHP5 nicht mehr funktionieren wird.

Aus der Sicht der Sicherheit kann allerdings dieser Tag gelobt werden. Mit dem Versionswechsel wird die alte Version von PHP auf aktuellere Versionen hoch gehieft und PHP4-basierte Software wird ebenfalls auf den neusten Stand gebracht oder durch gewartete Software ersetzt. Nicht selten werden damit nicht mehr gewartete Komponenten zwangsweise ersetzt werden müssen.

Trotz der ganzen Kritik, muss an die Entwickler von PHP ein großer Lob ausgesprochen werden. Mit PHP4 wurden erste Ansätze für objektorientierte Programmierung eingeführt und mit Version 5 weiter entwickelt. Die lange Wartungszeit von PHP4 hatte Entwicklern genug Zeit gegeben ihre Software auf PHP5 zu portieren. Damit kann keine Kritik an die PHP-Entwickler ausgesprochen werden.

Weitere Informationen:

Warum die Eier (und Lebensmittel im Allgemeinen) so teuer geworden sind …

… erfährt ihr auf der folgenden Seite: http://www.zeit.de/2008/27/DOS-Eiermann?page=all

Ich bin zwar kein Wirtschaftsspezialist, aber dieser Artikel macht die Problematik mit Börsen, Spekulationen und Monopolen sehr gut klar. Die Lebensmittelpreise (auch Eier) werden nicht wegen den Gründen teurer, die immer als Preiserhöher ausgesprochen werden. Im Endefekt sind die Spekulationen daran Schuld.

Die Aufgabe besteht jetzt sich zu entscheiden bei Spekulationen mitzumachen oder die Finger von zu lassen und sich über hohe Preise beschweren.

Meine Schlussworte zu der Geschichte:

Ob Bio oder sonst ein Ei,
die werden nemmer billig sein!

Quellle (bei tapetenageln.de gefunden): http://www.tapetenageln.de/2008/07/28/warum-ist-das-ei-so-teuer/

HOWTO: Hauppauge HVR 900 DVB-T Tuner und verwandte Modelle unter Linux nutzen

Das ist die dritte Fassung der Anleitung.

Nutzer bis einschließlich Kernel 2.6.23.X richten sich bitte an der folgenden Anleitung:
http://konstantin.filtschew.de/blog/2006/11/30/…/

Nutzer ab Kernel 2.6.24.X benutzen bitte diese Anleitung.
Die laufende Kernel Version kann unter Linux mit dem Befehl „uname -r“ eingesehen werden.

Hintergrundwissen:
Die Treiberstruktur hat sich mit dem Wechsel auf Kernel 2.6.24 komplett geändert. Das aktuelle Modul basiert auf dem Userspace Modul System und erleichtert die Portierung von einer Kernel Version zur nächsten erheblich. Zusätzlich wird das extra runterladen und auswählen der Firmware erspart.

Erklärung zu dem Befehl „sudo“:
Sudo erlaubt es als normaler Benutzer Befehle mit root-Rechten (Administrator Rechten) auszuführen. Alle Zeilen, die mit „sudo“ beginnen, können auch unter „root“ ohne Sudo ausgeführt werden. Der Befehl „whoami“ hilft sich zu identifizieren. Wenn man als normaler Benutzer „whoami“ ausführt, so erhält man seinen aktuell angemeldeten Benutzernamen zurück. Führt man den Befehl so aus „sudo whoami“, so erscheint dort der Benutzername root. Ich werde dieses durchgehend in dieser Anleitung nutzen.

Folgende Pakete (unter Debian) werden für die Erstellung der Module benötigt:

  • make
  • build-essential # (Wird für Debian gebraucht)
  • libncurses5-dev
  • kernel-package #(Wird für Debian gebraucht)
  • gcc #(muss mit der Version übereinstimmen, mit der der Kernel erstellt wurde)
  • linux-source-2.6 #(die zum laufenden Kernel passende Quellen)
  • linux-headers-2.6 #(müssen ebenfalls zur Kernel Version passen)
  • mercurial #(dieses Paket wird benötigt, um die Quellen aus dem Repository zu holen)

Mit dem folgenden Befehl werden die benötigten Pakete auf einem Debian oder Ubuntu Linux System installiert:
[code]
user@debian:~$ sudo aptitude install make gcc linux-source-2.6 linux-header-2.6 mercurial libncurses5-dev kernel-package build-essential
[/code]
Linux löst die nötigen Abhängigkeiten selber auf und installiert die zusätzlich benötigen Pakete.

Um die laufende Kernel Version zu bestimmen, reicht der Befehl „uname -a“. Meine Ausgabe an einem Debian Lenny (testing) System:
[code]
user@debian:~$ uname -r
2.6.25-2-686
[/code]

Ubuntu Nutzer bekommen ab jetzt die erste Schwierigkeit, die sie bewältigen müssen. Der vorinstallierte Kernel in der aktuellen Ubuntut Hardy (Version 8.04) ist zum Vanilla Kernel (Kernel von www.kernel.org) verändert und bereitet Probleme. Die Ubuntu Entwickler haben haben in den Kernel die Alsa Verison 0.16 integriert, obwohl im Vanilla Kernel 0.15 verwendet wird. Damit entstehen Schwierigkeiten, wenn eigene Module erstellt werden müssen.
Der folgende Eintrag beschreibt das Problem genauer (auf Englisch):
https://bugs.launchpad.net/ubuntu/+bug/204578

Ich werde für Ubuntu Nutzer eine extra Anleitung verfassen, da es doch sehr viele treffen wird. Bitte richtet euch bis dahin an diesem sehr radikalen Skript. Bitte nicht einfach ausführen, da es zu großen Problemen führen kann!
http://mcentral.de/wiki/index.php5/Installation_Guide

Im nächsten Schritt muss untersucht werden, ob die Kernel Quellen installiert und richtig verlinkt sind. Dafür geht man in den Ordner „/usr/src“ und für dort „ls -l“ aus. Die Ausgabe müsste so ungefähr aussehen:
[code]
debian:/usr/src# ls -l
total 47412
lrwxrwxrwx 1 root src 19 2008-07-13 18:53 linux -> linux-source-2.6.25
drwxr-xr-x 4 root root 4096 2008-07-13 18:34 linux-headers-2.6.25-2-686
drwxr-xr-x 18 root root 4096 2008-07-13 18:34 linux-headers-2.6.25-2-common
drwxr-xr-x 3 root root 4096 2008-07-13 18:34 linux-kbuild-2.6.25
drwxr-xr-x 21 root root 4096 2008-06-27 01:49 linux-source-2.6.25
-rw-r–r– 1 root root 48478530 2008-06-27 03:27 linux-source-2.6.25.tar.bz2
[/code]
Die zweite Zeile der Ausgabe „linux -> linux-source-2.6.25“ zeigt, dass die von mir gewählten Quellen richtig verlinkt sind.
Fehlt die Zeile, so muss man sie mit dem folgenden Befehl verlinken (-s steht für symbolisch – so wie ein Alias):
[code]
user@debian:~$ sudo ln -s /usr/src/linux-source-2.6.25 /usr/src/linux
[/code]

Damit das build-Skript funktioniert, muss zusätzlich in dem Pfad /lib/modules/ die Quellen verlinkt werden

[code]
user@debian:~$ cd /lib/modules/2.6.25-2-686
user@debian:/lib/modules/2.6.25-2-686# ls -l
total 1760
lrwxrwxrwx 1 root root 35 2008-07-13 18:34 build -> /usr/src/linux-headers-2.6.25-2-686
drwxr-xr-x 2 root root 4096 2008-07-13 18:55 empia
drwxr-xr-x 9 root root 4096 2008-07-13 18:05 kernel
-rw-r–r– 1 root root 385573 2008-07-13 18:55 modules.alias
-rw-r–r– 1 root root 69 2008-07-13 18:55 modules.ccwmap
-rw-r–r– 1 root root 385485 2008-07-13 18:55 modules.dep
-rw-r–r– 1 root root 147 2008-07-13 18:55 modules.ieee1394map
-rw-r–r– 1 root root 451 2008-07-13 18:55 modules.inputmap
-rw-r–r– 1 root root 22301 2008-07-13 18:55 modules.isapnpmap
-rw-r–r– 1 root root 74 2008-07-13 18:55 modules.ofmap
-rw-r–r– 1 root root 291390 2008-07-13 18:55 modules.pcimap
-rw-r–r– 1 root root 1387 2008-07-13 18:55 modules.seriomap
-rw-r–r– 1 root root 172847 2008-07-13 18:55 modules.symbols
-rw-r–r– 1 root root 476400 2008-07-13 18:55 modules.usbmap
lrwxrwxrwx 1 root root 28 2008-07-13 18:54 source -> /usr/src/linux-source-2.6.25
[/code]
Die letzte Zeile „source -> /usr/src/linux-source-2.6.25“ sagt aus, dass die Quellen für diesen Kernel unter „/usr/src/linux-source-2.6.25“ liegen. Fehlt so ein Eintrag, so holt man dies mit dem folgenden Befehl nach:
[code]
user@debian:~$ sudo ln -s /usr/src/linux-source-2.6.25 /lib/modules/2.6.25-2-686/source
[/code]

Damit sollte jetzt alle für das Erstellen der Module vorhanden sein.

Im nächsten Schritt müssen die Quellen runtergeladen werden. Mercurial legt schon einen passenden Ordner an. Bitte den folgenden Befehl ausführen und schauen, ob alles funktioniert hat:
[code]
user@debian:~$ hg clone http://mcentral.de/hg/~mrec/em28xx-new
[/code]
Die Ausgabe des „hg clone ..“ Befehls wird etwas länger sein und deswegen habe ich sie aus der Beschreibung raus gelassen.

Im nächsten Schritt müssen die Module erstellt werden. Das geschieht momentan (das Skript ändert sich immer wieder) so:
[code]
user@debian:~$ sudo ./build.sh build
rm -rf Module.symvers;
make -C /lib/modules/`if [ -d /lib/modules/2.6.21.4-eeepc ]; then echo 2.6.21.4-
eeepc; else uname -r; fi`/build SUBDIRS=/root/temp/em28xx-new modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.25-2-686′
CC [M] /home/user/em28xx-new/em2880-dvb.o
CC [M] /home/user/em28xx-new/em28xx-video.o
CC [M] /home/user/em28xx-new/em28xx-i2c.o
….
LD [M] /root/temp/em28xx-new/xc5000/xc5000-tuner.ko
CC /root/temp/em28xx-new/zl10353/zl10353.mod.o
LD [M] /root/temp/em28xx-new/zl10353/zl10353.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.25-2-686′
[/code]
Ich habe die Ausgabe gekürzt, weil es dort nichts interessantes gibt. Warnungen können hier ruhig ignoriert werden. Treten Fehler auf, dann sollte man genauer nach der Meldung schauen. Meistens fehlt irgendwas und das steht in der Meldung meistens genau drin.

Ist das Erstellen der Module erfolgreich gewesen, so müssen im nächsten Schritt die Module installiert werden. Das Erfolgt mit dem Befehl:
[code]
user@debian:~$ sudo ./build.sh install
[/code]
Das dauert ein Moment und normalerweise erfolgt keine Ausgabe. Nur im Fehlerfall könnte hier noch was kommen. Meistens wird „sudo“ vergessen und das Skript hat keine Schreibrechte auf Systemordner.

Damit wäre die Installation hoffentlich vollendet und man !!!sollte!!! an dieser Stelle das System neustarten. Wenn irgendwelche DVB-Module schon geladen waren, so werden sie spätestens jetzt unter Umständen Ärger machen.

Nach dem Neustart sollten sie die Module mit den folgenden Befehlen fehlerfrei laden lassen:

[code]
user@debian:~$ sudo modprobe em28xx
user@debian:~$ sudo modprobe em28xx-dvb
user@debian:~$ sudo modprobe em28xx-audio
[/code]

Das „build.sh“ Skript bietet ebenfalls die Möglichkeit alle Module zu laden. Dies geschieht mit dem folgenden Befehl:
[code]
user@debian:~$ sudo ./build.sh load
[/code]
Damit kann der Neustart vermieden werden. Wer allerdings beim Laden der Module Probleme bekommt, sollte vorsorglich einen Neustart durchführen, um nicht unnötig Fehler zu produzieren, die durch bereits geladene Module entstehen können!

Wenn ich jetzt meinen Receiver einstecke, so sieht die Ausgabe wie folgt aus:
[code]
[ 1950.302760] usb 1-1: new high speed USB device using ehci_hcd and address 2
[ 1950.454688] usb 1-1: configuration #1 chosen from 1 choice
[ 1950.456720] em28xx new video device (2040:6500): interface 0, class 255
[ 1950.456783] em28xx: device is attached to a USB 2.0 bus
[ 1950.456834] em28xx #0: Alternate settings: 8
[ 1950.456881] em28xx #0: Alternate setting 0, max size= 0
[ 1950.456889] em28xx #0: Alternate setting 1, max size= 0
[ 1950.456892] em28xx #0: Alternate setting 2, max size= 1448
[ 1950.456894] em28xx #0: Alternate setting 3, max size= 2048
[ 1950.456896] em28xx #0: Alternate setting 4, max size= 2304
[ 1950.456898] em28xx #0: Alternate setting 5, max size= 2580
[ 1950.456900] em28xx #0: Alternate setting 6, max size= 2892
[ 1950.456902] em28xx #0: Alternate setting 7, max size= 3072
[ 1950.814288] trying to set disabled gpio? (00)
[ 1950.926465] attach_inform: tvp5150 detected.
[ 1950.931991] cx25843.c: starting probe for adapter em28xx #0 (0x1001f)
[ 1950.965050] tuner‘ 0-0061: chip found @ 0xc2 (em28xx #0)
[ 1950.965050] attach inform (default): detected I2C address c2
[ 1951.024446] attach_inform: eeprom detected.
[ 1951.121182] em28xx #0: i2c eeprom 00: 1a eb 67 95 40 20 00 65 50 12 5c 03 82 1e 6a 18
[ 1951.121182] em28xx #0: i2c eeprom 10: 00 00 24 57 66 07 00 00 60 00 00 00 02 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom 20: 46 00 01 00 f0 10 02 00 b8 00 00 00 5b 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom 30: 00 00 20 40 20 6e 02 20 10 01 01 01 00 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 18 03 34 00 30 00
[ 1951.121182] em28xx #0: i2c eeprom 70: 32 00 36 00 38 00 39 00 38 00 38 00 37 00 38 00
[ 1951.121182] em28xx #0: i2c eeprom 80: 00 00 1e 03 57 00 69 00 6e 00 54 00 56 00 20 00
[ 1951.121182] em28xx #0: i2c eeprom 90: 48 00 56 00 52 00 2d 00 39 00 30 00 30 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom a0: 84 12 00 00 05 50 1a 7f d4 78 23 f0 fd d0 18 85
[ 1951.121182] em28xx #0: i2c eeprom b0: ff 00 00 00 04 84 0a 00 01 01 20 77 00 40 be 99
[ 1951.121183] em28xx #0: i2c eeprom c0: 05 f0 74 02 01 00 01 79 0c 00 00 00 00 00 00 00
[ 1951.121183] em28xx #0: i2c eeprom d0: 84 12 00 00 05 50 1a 7f d4 78 23 f0 fd d0 18 85
[ 1951.121183] em28xx #0: i2c eeprom e0: ff 00 00 00 04 84 0a 00 01 01 20 77 00 40 be 99
[ 1951.121183] em28xx #0: i2c eeprom f0: 05 f0 74 02 01 00 01 79 0c 00 00 00 00 00 00 00
[ 1951.121183] EEPROM ID= 0x9567eb1a
[ 1951.121183] Vendor/Product ID= 2040:6500
[ 1951.121183] AC97 audio (5 sample rates)
[ 1951.121183] 500mA max power
[ 1951.121183] Table at 0x24, strings=0x1e82, 0x186a, 0x0000
[ 1951.215248] tvp5150 0-005c: tvp5150am1 detected.
[ 1956.755148] successfully attached tuner
[ 1956.815279] em28xx #0: V4L2 VBI device registered as /dev/vbi0
[ 1956.858622] em28xx #0: V4L2 device registered as /dev/video0
[ 1956.858788] em2880-dvb.c: DVB Init
[ 1976.984939] analog tv open()
[ 1976.985010] modelock active!
[ 1976.992903] vbi open()
[ 1976.992935] modelock active!
[ 1957.188645] DVB: registering new adapter (em2880 DVB-T)
[ 1957.188645] DVB: registering frontend 0 (Zarlink ZL10353 DVB-T)…
[ 1957.190935] em28xx #0: Found Hauppauge WinTV HVR 900
[ 1957.192191] em28xx audio device (2040:6500): interface 1, class 1
[ 1957.192771] em28xx audio device (2040:6500): interface 2, class 1
[ 1957.193563] usb 1-1: New USB device found, idVendor=2040, idProduct=6500
[ 1957.193601] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=2
[ 1957.193604] usb 1-1: Product: WinTV HVR-900
[ 1957.193667] usb 1-1: SerialNumber: 4026898878
[ 1958.013115] usbcore: registered new interface driver snd-usb-audio
[/code]

Nach dem einstecken müssen die folgenden Devices in /dev vorhanden sein:

[code]
/dev/vbi0
/dev/video0
/dev/dvb/adpater0/demux0
/dev/dvb/adpater0/dvr0
/dev/dvb/adapter0/frontend0
[/code]

Weitere Hinweise:
Unter Umständen wird es nötig sein den Nutzer zu der Gruppe Video hinzuzufügen, weil er sonst keine Zugriffsrechte auf das Video Device bekommt. Dafür muss der folgende Befehl ausgeführt werden. (Die Variable $USER wird vom System gesetzt und ist der aktuell angemeldete Benutzer):
[code]
user@debian:~$ sudo adduser $USER video
[/code]

Wenn Schwierigkeiten nach der erfolgreichen Installation entstehen, dann bitte das System ohne eingesteckten Receiver hoch fahren, dann die Module per Hand laden (unter dmesg die Meldungen beachten) und erst dann den Receiver einstecken. Dadurch sind die Fehler besser sichtbar, weil sie nicht durcheinander in dmesg beim Booten eingestreut werden.

Falls jemand Trotzdem Schwierigkeiten hat, der kann mir Gerne ein Kommentar hinterlassen. Damit es für mich einfacher wird euch zu helfen, bitte ich euch die folgenden Informationen mir zu geben:
– Linux Version (z.B. Ubuntu Hardy 8.04, Debian Linux 4.0 (Etch))
– Kernel Version 2.6.25-2 (Der Befehl: „uname -r“ verrät es. Auch bitte angeben, ob es ein selbst erstellter Kernel ist oder vom Distributor)
– Sind die Linux Quellen Installiert? (Folgende Befehle helfen weiter „sudo ls -l /usr/src“ und „sudo ls -l /lib/modules/$(uname -r)/source“
– Ist was beim Erstellen scheif gegangen, so bitte ich um die komplette Ausgabe, falls ihr den Fehler nicht selber seht.
– Hat das Installieren der Module funktioniert, aber danach geht irgendwas schief, so bitte ich euch das System ohne Receiver zu starten, dann die Module zu laden und erst dann den Receiver einzustecken. Danach mir bitte die dmesg-Ausgabe ab der Stelle in der die Module geladen wurden geben.
– Bitte alle längeren Ausgaben wie von dmesg oder vom Erstellen des Treibers auf der Seite http://www.pastebin.com oder auf http://ubuntuusers.de/paste/ posten und hier nur den Link rein stellen, da es sonst zu unübersichtlich wird.

Ich hoffe damit möglichst vielen Nutzern zu helfen. Wer mir danke möchte, der möge es mit einem Kommentar tun. Spenden nehme ich gerne als Geschenke von meiner Amazon Wunschliste an.