Wieder einmal hatte ich Probleme mit meinem altgedienten Canon LiDE 20-Scanner. Diesmal wurde er zwar per USB erkannt, aber wenn ich etwas scannen wollte, erhielt ich nur Fehlermeldungen oder schwarze Seiten.
Der Grund liegt in den USB-Stromsparmaßnahmen moderner Linux-Kernel. Alte USB-Geräte haben ihre Probleme damit, einfach zwischendurch den Saft abgedreht zu bekommen.
Zum Glück kann man es bei Fedora leicht ausschalten:
echo -1 >/sys/module/usbcore/parameters/autosuspend
Der USB auto suspend ist dann für alle USB-Geräte abgeschaltet, die von jetzt an angeschlossen werden, also sollte man seinen Scanner erst danach einstecken. Beim nächsten Reboot ist der Effekt auch schon wieder vorbei.
Es gibt schon viele Artikel, wie man SSD-Festplatten richtig in Linux einbindet. Aber entweder sind sie veraltet, unvollständig oder recht lange. Also, hier eine tl;dr-Fassung – SSD mit Fedora, kurz und schmerzlos.
Trimming
Wenn die SSD trimming kann (was mittlerweile bei ziemlich allen SSDs auf dem Markt der Fall ist), sollte es natürlich auch verwendet werden. Dadurch ermöglicht man wear levelling, gibt also der SSD die Möglichkeit, den Verschleiß der Speicherzellen zu verteilen.
Seit Fedora 33 ist Trimming bereits standardmäßig aktiviert. Hier braucht man sich keine weiteren Gedanken mehr zu machen.
Bei älteren Fedora-Versionen muss man den Trim-Timer einmalig manuell aktivieren:
sudo systemctl enable fstrim.timer
Die Dateisysteme werden dann wöchentlich gesäubert.
Das Trimming kann mit dem Kommando fstrim auch jederzeit von Hand erfolgen:
sudo fstrim -v /
sudo fstrim -v /home
Swappiness
SSDs können beliebig oft und schnell gelesen werden, verschleißen aber bei Schreibzugriffen. Swapping auf eine SSD-Partition ist zwar möglich, aber der Lebensdauer nicht sehr zuträglich. Folgende Zeilen in der /etc/sysctl.conf reduzieren das Auslagern auf die Swap-Partition auf ein Minimum.
vm.swappiness=1
vm.vfs_cache_pressure=50
Bei den günstigen Preisen selbst für üppige RAM-Ausstattung wäre es bei Desktop-Rechnern eine Überlegung wert, ob man eine Swap-Partition überhaupt noch benötigt. Nachträglich kann sie durch Auskommentieren der entsprechenden Zeile in der /etc/fstab deaktiviert werden.
Die Arduino-Plattform ist eine offene Entwicklungsplattform für kleine Hardwareprojekte, inklusive einer Entwicklungsumgebung und verschiedener günstiger Boards wie dem Arduino Uno. Wegen verschiedener Bugs ist die Installation der Entwicklungsumgebung auf einem System mit Fedora 15 leider nicht ganz trivial.
Die notwendigen Pakete befinden sich im Fedora-Repository. Zuerst installieren wir also die Arduino-IDE und stellen die Gruppenrechte her, die zum Zugriff auf die USB-Schnittstelle benötigt werden:
sudo yum install 'arduino*'
sudo usermod -a -G uucp,dialout,lock $USER
Neben der IDE werden der C-Compiler avr-gcc in Version 4.6.1-2 und die avr-libc in Version 1.7.0 installiert. Diese Version des Compilers wirft allerdings nur Fehlermeldungen. Ein Update steht schon bereit, liegt derzeit aber noch in fedora-testing und muss deshalb explizit installiert werden:
sudo yum --enablerepo=updates-testing update 'avr-*'
Danach ist der avr-gcc in Version 4.6.1-3 und die avr-libc in Version 1.7.1 installiert. Die IDE kann nun gestartet und die Sketches können kompiliert werden.
Allerdings bleibt noch ein Problem: durch eine zu aggressive Compiler-Optimierung funktioniert die delay()-Funktion unter Umständen nicht. So leuchtet bei dem Beispiel Blink die Test-LED dauerhaft, statt zu blinken. Die Ursache dafür lässt sich zum Beispiel durch einen Eingriff in eine Datei beheben. Folgender Patch führt diese Änderung aus:
sudo patch -d /usr/share/arduino/hardware/arduino/cores/arduino wiring.c << __END__
25a26
> #include <avr/delay.h>
106c107
< {
---
> {/*
114a116
> */ _delay_ms(ms);
__END__
Danach steht der Experimentierfreude nichts mehr im Wege!
Es ist schon fantastisch, was man mit modernen LEDs alles anstellen kann.
Diese Wendeltreppe zum Beispiel soll dezent und Strom sparend beleuchtet werden, damit man sie auch im Dunkeln sicher benutzen kann. Eine Weihnachtslichterkette erfüllte den Zweck bisher. Allerdings war sie recht schwach und gab der Treppe außerdem einen hässlichen Partykeller-Look.

Dieser Blogartikel beschreibt, wie man sich mit ein wenig handwerklichem Geschick und geringem Aufwand eine Treppenbeleuchtung selbst bauen kann.
Für den Bau der neuen Treppenbeleuchtung verwendte ich für 15 Stufen folgendes Material:
- 2 flexible, selbstklebende LED-Leisten zu je 50 cm, teilbar alle 5 cm, ergibt 20 Module
- 20 m Kabel, 2 Adern, 0,75 mm² (z. B. Lautsprecherkabel)
- 1 Steckernetzteil 12 V, 1 A
- 1 passende Kupplung
- 20 Klebesockel, schwarz
- 20 Kabelbinder, schwarz
- 30 Twin-Aderendhülsen für 0,75 mm²
- schwarzes Isolierband

Da ich wenig Lust darauf hatte, die gesamte Lötarbeit auf der Treppe zu verrichten, verlegte ich zuerst einen Kabelstrang an der Säule entlang. Dazu klebte ich unter jede Stufe in der Nähe der Säule einen Klebesockel. Das Kabel trennte ich auf und fügte es mit zwei Aderendhülsen wieder zusammen. Diese Abzweigung zurrte ich dann mit einem Kabelbinder am Sockel fest. Für die Montage brauchte ich nur einen Seitenschneider und eine Aderendhülsenzange, der Lötkolben blieb vorläufig kalt.

Da die LEDs mit Gleichspannung versorgt werden, muss man penibel auf die richtige Polarität achten, um das Modul nicht zu zerstören. Bei Lautsprecherkabel ist in der Regel eine Ader markiert, zum Beispiel durch eine Rille auf der Isolation. Für den Pluspol wählte ich die markierte Ader, verband die gleichen Adern miteinander und schrieb mit einem Permanentmarker die Polung auf die Hülse.
Nachdem alle Stufen verdrahtet waren, verlegte ich das Kabel zur Steckdose und lötete die Kupplung an. Und um noch einmal ganz sicher zu gehen, dass die Beschriftung stimmt, prüfte ich mit einem Messgerät bei eingestecktem Trafo die Polarität an den einzelnen Abgriffen auf jeder Stufe.
Als nächstes schnitt ich für jede Stufe einen 5 cm langen Streifen von der LED-Kette ab und lötete ein Kabel daran. Die Länge des Kabels ist so gewählt, dass das LED-Modul nachher etwa 20 cm von der Treppensäule entfernt einen großen Teil der darunter liegenden Stufe ausleuchtet. An der obersten und untersten Stufe leuchtet mit 40 cm Abstand außerdem noch ein weiteres Modul.
Die LED-Streifen lassen sich mit einer Haushaltsschere leicht an den dafür vorgesehenen Stellen auseinanderschneiden und auch gut verlöten. Allerdings muss man schnell arbeiten, denn zu große Hitze beschädigt die Trägerfolie und die LED. Und natürlich muss man auch hier die Polung beachten.
Die fertig verkabelten LED-Module sahen so aus:

Jetzt ging es doch noch mit dem Lötkolben an die Treppe. An jede Stufe lötete ich ein Modul mit seinem Kabel an die Aderendhülse und isolierte die Lötstelle mit Isolierband. Schrumpfschlauch hätte besser ausgesehen, allerdings fand ich keinen in meiner Bastelkiste. Lüsterklemmen ersparen den Lötkolben, machen aber optisch nicht so viel her.
Nachdem das Kabel sicher verbunden war, zog ich die Schutzfolie von der Rückseite des LED-Moduls ab und klebte es unter die Stufe.

Mit etwas Gewebeband entlastete ich die Konstruktion. Besser wäre für die Zuleitung zum LED-Modul ein Kabel mit dünnerem Querschnitt gewesen, denn das Kabelstück ist recht kurz und es fließt nur ein sehr geringer Strom.
Eine letzte Endkontrolle: War die Polung überall korrekt, alles sicher montiert und gut isoliert? Dann konnte die Treppenbeleuchtung endlich in Betrieb genommen werden!

Und so sieht die Wendeltreppe bei Dunkelheit mit der neuen Beleuchtung aus:

Die LEDs sind enorm hell. Man kann jede Stufe deutlich erkennen und die Treppe auch ohne eine weitere Lichtquelle sicher benutzen. Durch das Tageslichtweiß, das gut zu den Metallstufen passt, ist die Treppe außerdem ein richtiger Hingucker geworden. Je nach Blickwinkel sieht man die Reflektion der LED-Module nicht in den Stufen. Die Treppe scheint dann auf magische Weise selbst zu leuchten. Und mit einem Stromverbrauch von etwa 6 Watt eignet sich die Beleuchtung auch für den Dauerbetrieb.
Eine schöne Sache an der Android-Plattform ist, dass man auch unter Linux Apps entwickeln kann. Java und die Entwicklungsumgebung Eclipse steht als fertiges Paket zur Verfügung, und bei Google können die Entwicklertools kostenlos heruntergeladen werden.
Das Testen erfolgt entweder über einen Emulator, oder man geht gleich ans Eingemachte und testet seine Anwendung auf echter Hardware. Bevor das möglich ist, muss Fedora das Smartphone bekannt gemacht werden. Dazu wird mit Root-Rechten die Datei /etc/udev/rules.d/51-android.rules angelegt und mit folgendem Inhalt versehen:
SUBSYSTEM=="usb",SYSFS{idVendor}=="0bb4",SYMLINK+="android_adb",MODE="0666"
Unter idVendor wird die jeweilige Hersteller-ID des Smartphone-Herstellers eingetragen. Eine Tabelle der Vendor IDs gibt es ebenfalls bei Google. Wenn mehrere Smartphones verschiedener Hersteller zum Einsatz kommen, können entsprechend weitere Zeilen ergänzt werden.
Als nächstes muss auf dem Android-Phone das USB-Debugging aktiviert werden. Den Menüpunkt findet man unter Einstellungen → Anwendungen → Entwicklung → USB-Debugging aktivieren.
Wenn man nun seinen Androiden per USB anstöpselt und in dem Android-SDK das Kommando
platform-tools/adb devices
aufruft, sollte das Smartphone aufgelistet werden. Es steht dann als Zielplattform für die Entwicklung zur Verfügung.