Fujitsu Scanner-Fehler mit Sane & aktuellen Kernel

Dokumentenscanner von Fujitsu sind schnell und teuer – es sei denn die Windows-Unterstützung fällt weg. Ältere Modelle wie der fi-4120 laufen nur bis Windows XP zuverlässig, mit Windows 7/8/10 schaut man in die Röhre, vor allem wenn 64 Bit im Spiel sind. Kein Wunder, dass die ehemals fast 700€ teuren Geräte jetzt für gebraucht für wenig Geld zu finden sind. Unter Linux ist das ganze eigentlich recht entspannt: Die Geräte werden durch Sane unterstützt und sind entsprechend problemlos nutzbar. Ich selbst habe einen solchen schon länger an einem Raspi im Betrieb um Briefe & Co. zu digitalisieren.

Leider scheint das „Problemlos“ momentan eine Auszeit zu nehmen: Bei anderen Anwendern aus der hiesigen Linux User Group macht der Scanner in letzter Zeit Probleme: Nach dem Einschalten sieht alles OK aus, versucht man jedoch zu scannen erhält man einen „Error during device I/O“. Am OS sollte es nicht hängen – sowohl mein Raspi als auch der betroffene Rechner laufen mit Arch. Auch die „üblichen“ Tipps, namentlich „keine USB-Hubs“, trafen nicht zu.

Also: Debuggen. Während bei meinem Netbook und dem Raspi keine Fehler auftreten kann ich ihn mit Laptop und einem PC nachvollziehen. Erstere arbeiten mit ARM bzw. einer 32 Bit CPU und unterstützen nur USB 2.0, letztere sind 64 Bit mit USB 3.0. Zur Übersichtlichkeit habe ich erst mal alle Treiber außer Fujitsu aus /etc/sane/dll.conf entfernt. Den Debug-Modus für Sane und den Treiber aktiviert man mit folgenden Zeilen:

export SANE_DEBUG_DLL=255
export SANE_DEBUG_FUJITSU=35

Nach dem Einschalten taucht der Scanner wie üblich in lsusb auf. Auch sane-find-scanner kann die USB-ID erkennen. scanimage -L zeigt dem Scanner im ersten Durchlauf ebenfalls, führt man den selben Befehl jedoch erneut aus tauchen USB-Fehler auf. IO-Error, Invalid Argument, etc. Ausgerüstet mit den passenden Logs findet sich in den Quellen des Sane-Projektes ein passender Commit vom 16.12.2014, welcher einen Workarround für aktuelle Kernel-Images bereitstellt. Hier ist offenbar eine Regression, welche die Ansteuerung der Fujitsu-Scanner betrifft. Worth a try, also schnell mal das ältere sane-Paket deinstalliert und stattdessen sane-git aus AUR installiert. Siehe da: Läuft. Soweit ich erkenne betrifft der Fehler nur einige USB-Controller, was ggf. erklärt warum ich auf meinem Raspi keine Fehler finden konnte.

tl;dr: GIT ist manchmal doch funktionsfähiger als stable

BitNotice #92 – Dell Laptop KFZ-Adapter

BitNotice #92 - Dell Laptop KFZ-Adapter

(37 MB) 00:06:21

2015-06-16 16:39 🛈

Lange hat mein Eigenbau-Netzteil nicht gehalten: Das Netzteil aus #145 musste aus Platzgründen in den Schrank – Temperaturtechnisch beim aktuellen Wetter keine gute Idee. Ergebnis: Der Vorrat an magischem Rauch war verbraucht und ich brauch ein neues Netzteil. Richten soll es erst mal der günstigste Modell des üblichen Auktionshauses, doch taugt es?

BitBastelei #145 – Dell Laptopnetzteil DRM

BitBastelei #153 – Hausbus: Planung & Prototyp

BitBastelei #153 - Hausbus: Planung & Prototyp

(32.2 MB) 00:20:58

2015-06-14 10:00 🛈

Auch wenn die Temperaturen nicht grade zum Basteln einladen: Etwas Fortschritt gibt es beim Hausbus. Wegen des geringen Preises und der einfachen Anpassbarkeit geht es erst mal auf Arduino-Basis. Da das Protokoll nicht sonderlich komplex ist lässt sich später immer noch auf ARM o.Ä. umstellen. Da die Shields für die angedachten Pro-Minis etwas überdimensioniert sind muss ein eigenes Mini-Shield her. IC-Technisch werde ich mich an iSysBus und den diversen Ardunio-Shields orientieren. Ein Breadboard-Test konnte bereits Steuerbefehle empfangen und senden. Passende PCBs sind inzwischen bestellt, die Schaltpläne und Boarddaten gibt es wenn der erste Prototyp grundsätzlich läuft.

BitBastelei #152 – Nokia-Fehlersuche

BitBastelei #152 - Nokia-Fehlersuche

(220.2 MB) TBD

2015-06-07 10:00 🛈

Ja, auch die angeblich unkaputtbaren Nokia-Handys können Fehler haben – sagt man zumindest. Dieses Modell soll unter einer sehr kurzen Laufzeit leiden – und das trotz neuem Akku. mMal schauen, ob wir die Ursache finden.

BitBastelei #151 – Sat-Multischalter 12V-Umbau

BitBastelei #151 - Sat-Multischalter 12V-Umbau

(117.1 MB) 00:09:36

2015-05-31 10:00 🛈

Ein weiteres Gerät wandert an die 12V-Solaranlage: Der Sat-Multischalter wird zukünftig nicht mehr per 230V versorgt.

BitNotice #91 – Aria2: Downloadmanager mit Web-UI

BitNotice #91 - Aria2: Downloadmanager mit Web-UI

(3.6 MB) 00:04:14

2015-05-27 16:00 🛈

Aria2 ist ein konsolenbasierter Downloadmanager, welcher auf Grund seiner vielen Features und überschaubarer Voraussetzungen auch gut für den Betreib auf Homeservern oder Routern geeignet ist. Was den Vorteil bietet, dass für lange Downloads der PC selbst nicht durchlaufen muss, erkauft man sich jedoch mit einer umständlichen Bedienung. Hier schafft „webui-aria2“ Abhilfe: Die vollständig in HTML5 und Javascript gehaltene Seite erlaubt es Aria2 über den Browser bedienen zu können.

http://aria2.sourceforge.net/manual/en/html/aria2c.html
https://github.com/ziahamza/webui-aria2
https://adlerweb.info/blog/2014/05/14/aria2-als-daemon-mit-webinterface-unter-arch-linux (noch mit alter RPC-Methode)

BitBastelei #150 – Hausbus-Überblick & Ausblick

BitBastelei #150 - Hausbus-Überblick & Ausblick

(110.6 MB) 00:16:40

2015-05-24 10:00 🛈

Die hier verwendete Hausautomation ist ein Thema, um das ich bei Nachfragen gerne einen Bogen gemacht habe. Zwar läuft das System seit über 6 Jahren ohne Ausfälle, die verwendete Technik ist allerdings „gewachsen“. Passend zur 150. Folge habe ich mich doch mal aufgerafft um Ordnung zu schaffen. Hier gibt es einen Überblick über die momentan laufende Technik und einen ersten Ausblick auf die kommenden Modernisierungsmaßnahmen.

Part 2: TBA

Links:

[Javascript] Input-Felder klonen ohne JQuery

Für eine Parametererfassung benötige ich ggf. mehrere Felder für einen Wert. Generell kann man natürlich genügend Felder vorab erstellen, jedoch ist in meinem Fall nicht klar wie viele benötigt werden. Die Idee: Es ist nur ein Feld verfügbar, wird dies jedoch genutzt erstellt sich automatisch ein Weiteres hinter dem ersten Feld. Die meisten Beispiele nutzen JQuery, da meine Lust Externes einzupflegen nicht grade überwältigend groß ist musste VanillaJS herhalten.

<input type="text" name="Element1[]" onClick="clone.call(this)">

function clone() {
    var newNode = document.createElement(this.tagName);
    switch(this.tagName) {
         case "INPUT":
               newNode.type = this.type;
               newNode.name = this.name;
               newNode.value = "";
               newNode.onclick = function() { clone.call(this) };
               break;
                             
    }
    this.onclick = undefined;
    this.parentNode.insertBefore(newNode, this.nextSibling);
}

Sinnvoller als onclick wäre natürlich onchange, aber hey, Konzept funktioniert…

BitBastelei #149 – TP-Link TL-WDR4300 (N750) – OpenWRT/Überblick

BitBastelei #149 - TP-Link TL-WDR4300 (N750) - OpenWRT/Überblick

(120.2 MB) 00:18:13

2015-05-17 10:00 🛈

Der TP-Link WDR4300 ist sicher nicht das neueste Modell, mit Dual-Band, max 750MBit/s und 8MB Flash jedoch nach wie vor eine solide Basis für das heimische Netz.

0:00 Feature-Überblick
5:27 Innenleben
7:19 Installation OpenWRT

1:38:
BitBastelei #66 DD-WRT auf Netgear WNR3500v2 mit Ziggo-Branding
OpenWRT-Wiki
OpenWRT-Binary

BitBastelei #148 – TV-Wandhalterung

BitBastelei #148 - TV-Wandhalterung

(77.6 MB) 00:13:58

2015-05-10 10:00 🛈

Nachschlag zum reparierten Philips 37PFL8404H [1] – diesmal wandert er an die Wand und bekommt die passende Verkabelung.

[1] Part 1
Part 2
Part 3

Nerd Inside