Wer baut in Linux eigentlich die Fehler ein?

Gerade eben hatte meine Kiste beim Booten eine längere “Gedenkminute” weil die 500 GB-Platte mal wieder einen Filesystem-Check haben wollte. Und als sich so nichtsahnend die Meldungen des Kernels beim Booten angeguckt habe hat mich die Erkenntnis getroffen:

PCI: Setting latency timer of device 0000:00:11.5 to 64
Adding 1951888k swap on /dev/hda2.  Priority:-1 extents:1 across:1951888k
EXT3 FS on hda1, internal journal
loop: module loaded
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>

Jetzt wissen wir wenigestens, wer die vielen Bugs eingebaut hat. Und man sieht, bei OpenSource ist wirklich alles dokumentiert!

Spaß mit IEEE1394

Gestern spätabends habe ich die Firewire-Karte in meinen Rechner eingebaut um damit Videos vom neuen Camcorder in den Rechner zu bekommen. Nach dem ersten Reboot zeigte `lspci` auch brav das Vorhandensein der Karte an, aber Kdenlive beschwerte sich noch über ein fehlendes dvgrab. Also habe ich das mal schnell installiert und versucht ein Video auf den PC zu übertragen. Reinfall auf der ganzen Linie.

Ich habe dann mal mit anderen IEEE1394-Tools rumgespielt, gscanbus mosert aber, dass das Modul raw1394 fehlt und als ich das mit modprobe laden wollte stellte ich fest, daß es gar nicht da war. Der 2.6.22-Kernel von backports.org implementiert wohl neuere alternative IEEE1394-Treiber, von dem benötigten Modul jedenfalls keine Spur.

Also habe ich mal zum Spaß den alten Debian 2.6.18-Distributionskernel gebootet. Der tut auch problemlos und hat das benötigte Modul. Damit konnte ich dann zumindest sehen, daß die Firewire-Karte funktioniert und mit coriander kontne ich sogar die Camera fernsteuern. Allerdings hat dieser alte Kernel keinen Treiber für meine HVR-1100 DVB-T-Karte. Um beides zu haben war die Lösung also: Wir backen uns einen Kernel.

Auf einem Debian-System macht man das natürlich “the Debian way” und mit make-kpkg. Da ich den Kernel komplett neu machen musste hat es etwas gedauert und ich habe dann die Folgeaktionen auf den nächsten Tag verschoben.

Heute morgen dann der Testlauf mit dem neuen Kernel. Schön, in Kdenlive konnte ich jetzt im Aufnahmemonitor das Zeugs sehen wie es vom Camcorder kam, aber Aufnehmen und in eine Datei schreiben ging immer noch nicht. In wenig Wählen im Internet brachte dann raus, daß Kdenlive mindestens dvgrab-3.1 braucht und von Debian her hatte es aber nur die Version 1.8. Also habe ich mal die Sourcen zu dvgrab gezogen und wieder kompiliert. Nach ein paar Runden zum Installieren von benötigten Bibliotheken hatte ich ein funktionierendes dvgrab welches auch mit kdenlive will. Mit “kino” gab es übrigens keine Probleme, das konnte auch mti dem alten dvgrab schon Videos capturen.

Fazit: Nun tut die Capture-Funktion und jetzt muß ich eigentlich dann mal 90 Minuten Video in den Rechner ziehen damit ich mal die erste DVD machen kann. Das werde ich wohl heute abend und morgen machen.

Mein Scanner will mit Kernel 2.6.22 nicht mehr

Gerade eben wollte ich was scannen, aber irgendwie hat das nicht geklappt. Statt das Bild zu scannen hat sich mein Canon LIDE 20 komplett ruhig verhalten. Da ich nicht davon ausgehe, daß er unvermittelt den Geist aufgegeben hat bin ich mal auf die Suche nach potentiellen Verdächtigen gegangen. Was sich seit dem letzten Mal als wir ihn benutzt haben geändert hat ist der Kernel, statt 2.6.18-5-amd64 von Etch fahren wir ja jetzt 2.6.22-3-amd64 von Backports.org. Also mal gesucht ob es da was gibt in Zusammenhang mit dem plustek backend.

Ja, da gibt es was. In diesem Forumsartikel bin ich praktisch auf die Lösung gestoßen und sie funktioniert. Es braucht wohl ein Wrapperskript das den Scanner irgendwie am Leben erhält. ärgerlich, aber immerhin ein schneller Workaround.

DVB-T die Zweite

Heute habe ich mir für meinen PC nochmals eine Hauppauge HVR 1100 PCI Karte besorgt, damit ich Cristina die Artec-Box wieder zurückgeben kann. Laut Linux-TV soll das Ding ab 2.6.18 problemlos laufen, aber so ganz ohne Zicken ging es wieder nicht ab. Zum Glück konnte ich auf die Erfahrungen von der Box zurückgreifen und habe gleich mal geguckt, ob `dmesg` was zum Thema Firmware ausspuckt. Bingo! Es fehlte mal wieder die Firmware. Aber woher nehmen und nicht stehlen.

Bei Joern (http://www.ende-der-vernunft.org ) wurde ich fündig. Im Kernel-Source-Tree gibt es unter Documentation/dvb ein Script “get_dvb_firmware” das man ausführbar machen muß und dann mit dem Namen des Devices versehen losschicken kann um die Firmware zu besorgen. Die dann noch nach “/usr/lib/hotplug/firmware” kopieren und beim nächsten Reboot gibt es keinen Streß mehr.

Problematisch war die Antenne. Bei der Karte ist eine Wurfantenne für Radio dabei, aber nix für DVB-T. Ich habe daher mal die DVB-T-Zimmerantenne von der Artec angeschlossen und mit ihrem Magnetfuß unter dem Schreibtisch am PC montiert. Da sehe ich jedoch nur 3 Sender. Erst mit einem Stück Antennenkabel als Verlängerung und Antennenstandort auf dem Schrank kommen wieder alle 11 Sender hier in Augsburg an.

Erfreulich (im Vergleich zur Artec T1 Box): In Kaffeine einfach nur den Suchlauf gestartet und alle Sender werden automatisch gefunden. Was immer noch nicht geht ist EPG bei den Sendern wie Phoenix und Co. die auf 594 MHz senden.

Morgen werde ich daher mal in der Früh losziehen und eine Zimmerantenne besorgen. Dann kann Cristina die Artec-Box weiternutzen und ich habe die Karte im Rechner. Eine wichtige Sendung zum Aufnehmen steht um 11:40 auf KIKA an, nämlich Heidi. Das hätte heute schon aufgenommen werden sollen, aber meine Tochter die am PC TV guckte war dann so “schlau” 2 Minuten vor Heidi Kaffeine zu beenden obwohl ich ihr eingeschärft hatte, ja nix anzufassen. Für die Zukunft heißt das “redundatentes” Aufzeichnen, dann steigt die Chance daß wir den Stream nicht verpassen.

Was ich dann irgendwann wenn ein wenig mehr Zeit ist probieren will ist der S-Video-Input der Karte. Ich habe ja noch eine uralte Hi-8-Kamera rumliegen und vielleicht kann ich damit dann endlich Videos von der Kamea digitalisieren. Das wäre schön.

Ein gutes Videoschnittprogramm habe ich heute über die Linux Weekly News gefunden. Dort stand heute ein Artikel über DVD-Authoring und in den Kommentaren ein Verweis auf kdelive . Das habe ich mir mal angesehen und das sieht als “Schnittprogramm” sehr gut. aus.

Was jetzt noch fehlt ist ein wenig mehr Plattenplatz, denn 80 GB sind relativ wenig wenn man mit DVDs jongliert und jede Menge MPEG2-Dateien sammelt um daraus eine DVD zu machen. Aber auch hier habe ich schon mal Anlauf genommen, demnächst wird sich die Kapazität meiner Kiste wohl um 500 GB vergrößern.

Artec T1 – “Und sie dreht sich doch”

Es war eine schwere Geburt mit einigen Hindernissen, aber letztlich ist es geschafft. Ich sehe gerade auf dem zweiten Monitor in einem Kplayer-Fenster das DVB-T.

Die erste Hürde war, daß die Box beim Einstecken rein gar nix tun wollte. Nicht mal die grüne LED für “Betrieb” war an. `dmesg` brauchte auch nicht viel Infos. Ich habe dann relativ erfolglos mit den beiden Firmwareständen rumgespielt die ich bei LinuxTV runterladen kann, aber das brachte erst mal nix.

Nächster Versuch. Ich habe gezielt nach der USB-ID gesucht. Da fand ich dann eine französsche Webseite die zumindest aufzeigte, daß man das modul “usbtest” in /etc/modprobe.d/blacklist auf die Blacklist setzen muß. Nachdem ich das getan hatte war der erste Erfolg da. Statt nicht viel zu sagen sah ich bei `dmesg` nun, daß die Firmware für das Ding nicht gefunden wird. Für die Box brauche ich nämlich die Firmware dvb-usb-dibusb-an2235-01.fw und die gab es nicht mehr bei LinuxTV zum download. Google sei dank fand ich eine Quelle wo ich das Ding runterladen konnte. Die Firmware dann in /usr/lib/hotplug/firmware abgelegt und der zweite Erfolg: Beim Anstöpseln der Box ging nun die Grüne LED an und das war schon mal die halbe Miete.

Auch Kaffeeine akzeptierte nun, daß die Box da ist. Aber der Scan nach Kanälen hat nix gebracht. Also wieder Google angeworfen. Da kam dann raus, daß der 2.6.18er-Kernel wirklich nicht das Gelbe vom Ei war, genau dieser Kernel hat Probleme beim Scan der Kanäle. Also habe ich mit dem 2.6.22-3 von backports.org weitergemacht. Das bedeutete zwar, mal schnell den nVidia-Treiber neu zu bauen, aber ok, man gönnt sich ja sonst nix.

Dann mit dem neuen Kernel, sah es besser aus. Beim Scan in Kaffeeine ging die Blaue Led für das Tuning immerhin sporadisch an, aber das führte trotzdem nicht zum Erfolg. Also habe ich mal ein wenig weitergesucht und bin dann auf ein tool names w_scan gestoßen. Damit war dann zumindest mal klar, daß die empfangbaren Stationen tatsächlich gefunden werden.

Dann habe ich mal gegooglet und eine Initiale Datei für scan gefunden:

# DVB-T Augsburg
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 506000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # BR
T 594000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # ARD
T 658000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE # ZDF

Damit ging dann auch ein scan um daraus eine channels.conf zu erzeugen.
Weiter ging es mit einer Webseite die mir dann zeigte, wie man diese channels.conf für mplayer weiterverwendet (einfach ins ~./mplayer kopieren) und schon kann man mit mplayer oder kplayer Fernseh gucken.

Kaffeine weigert sich immer noch automatisch die Stationen zu finden, aber ich habe Hoffnung, daß es beser wird wenn ich alle Stationen aus der Channels-Conf manuell erfasse.

Fazit: Es ist geschafft, ich kann mit der Artec T1 USB Box auf meinem nun etwas modifizierten Debian Etch fernsehen.

DVB-T mit Linux und Artec T1 – es klappt nicht

Heute habe ich mir im Werksverkauf eine DVB-T Box von Artec mitgenommen. Laut LinuxTV soll die eigentlich unter Linux laufen, aber ich habe es bislang nicht gebacken bekommen. Mein 2.6.18-Kernel unter Debian lädt zwar ein paar Treiber, aber irgendwie klappt die Sache dann doch nicht.

Ich denke, das ganze hat einige Ursachen:

Der Debian-Kernel 2.6.18 scheint sozusagen der ultimative “Griff ins Klo” zu sein. Als ich neulich mit dem Wacom-Tablet rumexperimentiert habe mußte ich auch ein Kernel-Modul neu übersetzen und jetzt bei den Problemen mit der DVB-T Box findet Google auch einige Hinweise, daß der Kernel hier wohl ein paar Bugs hat.

Mit Google findet man diverse Anleitungen und Blogs, aber das ganze funktioniert nicht und ist eigentlich in sich inkonsistent. Das fängt schon mit dem Wiki bei LinuxTV an und endet bei diversen Beschreibungen die zwar irgendwann mal funktioniert zu haben scheinen, aber die jetzt an diversen Widrigkeiten scheitern.

Es fehlt einfach eine Doku, die die notwendigen Treiber und Kernelmodule ein wenig abstrakt beschreibt. Also etwas, woraus ich ersehen kann, welche Treiber der DVB-T “Stack” braucht, was diese Treiber tun und wo ich vielleicht ansetzen kann, wenn es nicht klappt. Aktuell kann ch ja nicht mal sagen, ob es an der Device-ID liegt, oder ob die Firmware falsch ist, oder im falschen Verzeichnis usw. Das “Nachahmen” von Anleitungen die relativ oberflächlich gestrickt sind hilft hier nicht weiter, sinnvoller wäre eine Doku die einem die Struktur erschließt, so daß man Ansatzpunkte zur Fehlersuche hat wenn es mal nicht klappt.

    Bei Cristina am PC unter Windows-XP läuft das Ding übrigens recht gut. Mit der mitgelieferten Zimmerantenne kann man 11 Stationen empfangen, das ist zwar wenig im Vergleich zu unserer Sat-Schüssel, aber trotzdem nicht schlecht. Wenn ich an meine Kindheit zurückdenke, da waren drei Fernsehprogramme schon Luxus.

    Irgendwann werde ich wohl nochmal einen Versuch starten, aber erst dann, wenn ich verstanden habe, wie es eigentlich laufen soll.

    Wacom Volito2 Tablett läuft

    Neulich habe ich mir auf ebay ein Wacom Volito 2 Graphiktablett ersteigert. Das kam letztes Wochende und mußte ein wenig überredet werden um zu funktionieren. Es wurde zwar sofort beim Einstecken am USB-Hub erkannt, aber Tools wie “wacdump” wollten partout keine Koordinaten rausrücken und in X ging es ebensowenig.

    Also habe ich ein wenig im Internet gesucht und relativ schnell Hinweise gefunden, daß der von Debian/Etch verwendete 2.6.18-Kernel genau Probleme der Art macht wie ich sie hatte. Also war der nächste logische Schritt auf der Webseite des Linuxwacom-Projektes den Source für den neuen Treiber zu holen, denn das was es bei Etch als Paket “wacom-kernel-source ” gibt deckt leider nur bis Kernel 2.6.17 die Kernel ab.

    Mit Hilfe einiger HowTos aus dem Netz gelang es mir dann, ein neues wacom-Kernelmodul zu übersetzen und dieses liefert dann auch alle Informationen die wacdump oder der X-Treiber haben will.

    Beim Rumspielen mit dem Tablet habe ich mich dann entschieden, entgegen der gängigen Praxis den drei Devices “cursor”, “eraser” & “stylus” in der xorg.conf beim Serverlayout keine “SendCoreEvents” mitzugeben. Damit ist das Tablett nun zwar nicht als Mausersatz nutzbar, dafür bietet mir aber der GIMP an, das Tablett als XInput-Gerät zu nutzen und damit die Fläche des Tabletts auf das aktuelle Bildbearbeitungsfenster zu mappen. Das erscheint mir sinnvoller als meinen Dual-Screen-X-Server der noch dazu unterschiedliche Auflösungen auf beiden Montioren hat mit dem Tablet zu nutzen.

    Das Ergebnis ist toll und kann sich sehen lassen:
    volito2-funktioniert

    Dieser Text wurde gerade mal schnell im Gimp erstellt. Besonders schön ist das Tablett für die Nachbearbeitung von Fotos nutzbar. Da wo man mit der Maus nicht so toll Bereiche “freihand” auswählen kann klappt das mit dem Tablett tadellos. Rote Augen sind nullkommanix markiert und wegretuschiert.

    Update 20. Januar 2008: Mit dem Umstieg auf den 2.6.22-Kernel von backports.org funktiooniert das Volito-2 Tablet sozusagen “out-of-the-box”. Eine manuelle Übersetzung des linuxwacom-Treibers ist nicht notwendig.

    Update auf Debian 4.0r1

    Gestern wurde Debain 4.0r1 freigegeben, hauptsächlich Sicherheitsaktualisierungen sind eingeflossen. Zudem gibt es jetzt einen neuen Kernel der nicht mehr 100% zum alten Kernel passt. Das bedeutet, daß man ein wenig Probleme mit dem proprietären nVidia-Treiber haben kann.

    Debian stellt zwar ebenfalls Pakete mit den nVidia-Modulen bereit, aber diese sind angesichts der Version 1.0-8776 relativ alt. Der aktuelle proprietäre Treiber ist 100.14.11. Daher ist es ganz wichtig, daß die Debian-Pakete nicht installiert sind wenn man diesen neuen Treiber selbst installiert, sonst “bekriegen” sich die Pakete.

    Um den neuesten Treiber installieren zu können und das passende Kernel-Modul bauen zu können muß das zum Kernel passende Linux-Headers Paket installiert sein. Wichtig ist, daß nicht nur das “generische”-Paket wie linux-headers-2.6.18-5 installiert ist sondern eben das zur Maschine passende linux-headers-2.6.18-5-amd64 denn nur dort findet der nVidia Installer dann die Datei “version.h” die er wohl unbedingt benötigt.

    Mein Brüorechner ist bereits auf 4.0r1 aktualisiert, ebenso Seneca daheim. Es fehlen Nathan und Zweistein, aber die sind jetzt dann am Wochenende dran.

    Seneca auf Etch umgestellt

    Letzte Nacht war es endlich soweit: Mein Arbeitsrechner “seneca” hat nun das lang ersehnte Update auf Etch bekommen. Allerdings nicht als Update sondern als Neuinstallation unter Beibehaltung des home-Filesystems. Dafür gab es bei der Architektur einen Update auf AMD64, auch wenn das mit meinem geringen Speicheausbau nicht unbedingt notwendig gewesen wäre. Aber so hat man wenigstens noch eine kleine intellektuelle Herausforderung.

    Die Umstellung hat wie zu erwarten war recht streßfrei geklappt. Nun heißt es noch ein wenig “Feintuning” in den nächsten Tagen und dann dürfte alles wieder so sein wie früher, nur eben neuere Versionen und neuere Architektur.