Skip to content

Retro Gaming

Es ist schon erstaunlich, wie gut erhalten doch manche alte Hardware ist. Zum Beispiel der gute alte Gähn-Boy von meiner Frau. Ich hatte ja nie einen Gameboy, ich war ja früher in meiner Jugend mehr so ein PC-Spieler.

Der erste Versuch einer Wiederinbetriebnahme war nicht so erfolgreich, das seh eher so aus wie ein klingonischer Gameboy. (Siehe Bild 1.) ;-) Nachdem ich dann aber mal die Kontakte gereinigt und statt Akkus echte Batterien eingelegt hatte, lief die Kiste wie am ersten Tag. (Bild 2.)


So, und jetzt alle: "Düm düdüdüm düdüdüm düdüdüm düdüdüm düdüdüm di-düm düm. Düm di-düm - di-düm - düdüdüm di-düm düm..." :-D

Epson-Scanner-Reparatur

Wo wir gerade von Scannern reden: Da ich das mit dem LaserJet ja erst mal nicht ans Laufen bekam, wollte ich mal testen, was das saned denn dazu sagen würde, wenn hier an meinem Desktop den alten Epson Perfection 3710 Foto freigebe.

Leider musste ich feststellen, dass der Zahn der Zeit wohl auch vor diesem Stück Technik nicht halt macht: Der Scannerwagen huppelte beim Einschalten nur unwillig hin und her und die rote Warnlampe fing hektisch an zu blinken! Kein gutes Zeichen... Jetzt hatte ich aber eh gerade was anderes zu tun, daher habe ich mich erst mal nicht weiter drum gekümmert.

Heute dann mal die beiden Schrauben, die das Ding zusammen halten, gezogen und rein geschaut. Siehe da, die Umlenkrolle, die den Zahnriemen spannt, auf dem der Scannerwagen transportiert wird, war aus der Halterung gebrochen. Bzw die Sollbruchstellen, die dafür sorgen sollen, dass so ein Gerät nicht ewig hält, waren hinüber. Schließlich will man als Hardware-Produzent ja auch irgendwann mal was Neues verkaufen, und wenn einen die tollen, neuen, bunten Features schon nicht zum Neukauf animieren oder die fehlende Treiberunterstützung... ;-)

Jedenfalls habe ich jetzt eine Schraube ins Plastik-Gehäuse gedreht, die die Umlenkrolle jetzt fixiert. Warum nicht gleich so?

Netzwerk-Scanner, Teil 2

Wie berichtet wollte ich einen alten HP Color LaserJet 2840 zum Scannen über Netzwerk überreden. Also, jetzt nicht so, wie er das von sich aus sowieso schon kann, sondern indem ich den Pi als Scanner-Server dazwischen schalte. Das Ziel der Übung ist, dass ich den Scanner dieses Gerätes irgendwie unter Windows > XP ans Laufen bekomme.

Ebenfalls wie berichtet scheitert das ganze daran, dass saned den Scanner nicht übers Netz meldet: scnimage -L listet nur die "lokal" am Client installierten Scanner auf, nicht aber den am Server eingerichteten LaserJet. In meiner Verzweiflung habe ich mich sogar an die saned-Mailingliste gewandt.

Dabei hatten die gar keine Schuld, bzw nur bedingt! Schuld ist das hpaio Backend, das von hplip installiert wird: Wenn der saned die Scanner abfragt, setzt er local_only auf true, wahrscheinlich um eine Schleife zu vermeiden, in der er sich unweigerlich selber finden würde. Das hpaio interpretiert das aber so, dass es auch keine Netzwerkscanner anzeigen soll. Möööp!

Als quick & dirty workaround habe ich jetzt in der ./scanner/sane/hpio.c folgende Änderung vorgenommen: [..]
/* Look for Network Scan devices if localonly flag if FALSE. */
//if (!localOnly)
if (1)
{
[..]
In der aktuell im Gentoo mit gelieferten hplip-Version 3.16.3 ist das irgendwo bei Zeile 282.

Nach einer Neukompliation läuft dann auch das Auflisten via scanimage -L, und auch sämtliche von mir getesteten Windows-Twain/WIA-Treiber für Sane erkennen das Ding dann.

Das ändert nichts daran, dass keiner der von mir getesteten Treiber auch nur im Entferntesten ein zufriedenstellendes Ergebnis liefert: SaneTwain hängt sich alle fünf Sekunden auf, SANEWinDS und WIASane liefern bröselige Bilder, in denen Zeilen oder ganze Blöcke gegeneinander verschoben sind. Ich vermute allerdings, dass hier hauptsächlich das Windows 10 der Schuldige ist.

Das beste Ergebnis habe ich erstaunlicherweise mit der Android-App SANEDroid erzielt: Große Scans mit mehr als 100 dpi sind über WLAN zwar sehr lahmarschig, aber es funktioniert fast ohne Glitches.)

Netzwerk-Scanner

Wie berichtet habe ich ja jetzt einen HP Color LaserJet 2840 hier stehen, der zwar unter Linux einwandfrei scannt, aber unter Windows seit den guten alten XP-Zeiten nicht mehr unterstützt wird. (Will sagen, weder für Windows 10, 8.1, 8 oder 7 konnte ich irgendwelche funktionierenden Treiber auftreiben. Und Unter Windows 10 ist TWAIN mittlerweile wohl als so veraltet eingestuft, dass man - selbst wenn man die alten XP-Treiber irgendwie installiert bekommen würde - nichts davon hätte...)

Aber, wie gesagt, der Scanner läuft einwandfrei unter Linux. Also was liegt näher, das Gerät über eine Zwischenstation zu betrieben? In meinem Fall wäre das unser Raspberry Pi Server, der eh immer an ist.

Glücklicherweise gehören HP-Drucker/Scanner zu den wenigen Geräten, die eine ziemlich brauchbare Linux-Unterstützung haben. Ich würde so weit gehen, dass HPLIP unter Linux besser funktioniert und übersichtlicher ist, als das Windoof-Pendant. Vor allem lassen sich die nörigen Treiber auch unter was anderem als x86 ans Laufen kriegen, nämlich zB dem arm im Pi.

Hier also ein kleines und sehr kurzes How-To, hauptsächlich damit ich das selber nachvollziehen kann, wenn ich mich in ein paar Jahren frage, "Jung, watt haste jemaat?"

Auf dem Server: (CUPS hatte ich schon installiert und konfiguriert, deswegen führe ich das hier jetzt nicht weiter auf.)

# joe /etc/portage/package.use
net-print/hplip scanner snmp hpijs
dev-python/pillow tiff
media-gfx/sane-backends snmp
# joe /etc/make.conf
SANE_BACKENDS="net"
# emerge -av sane-backends hplip
# hp-setup -i [IP des Druckers]
# joe /etc/sane.d/dll.conf
# alle anderen backends auskommentieren
net
hpaio
# joe /etc/sane.d/saned.conf
192.168.0.0/24 # das komplette lokale Netz darf scannen
# joe /etc/sane.d/net.conf
[IP des Servers]

An der Stelle war dann erst mal Schicht im Schacht: Was immer ich versucht habe, weder scanimage -L noch xsane wollten mir den so eingerichteten Netzwerkscanner anzeigen, und das sowohl auf dem Server als auch auf dem Client.

...bis ich dann auf die Idee gekommen bin, das einfach zu ignorieren und das Device direkt manuell anzugeben: scanimage -d "net:[IP des Servers:hpaio:/net/HP_Color_LaserJet_2840?ip=[IP des Druckers]" > test.pnm liefert einen Testscan. Den gleichen Parameter kann man auch Xsane mit geben: xsane "net:[IP des Servers]:hpaio:/net/HP_Color_LaserJet_2840?ip=[IP des Druckers]"

Auf dem Client:
Wenn der Client ein Linux ist, reicht es, das net-Backend in der /etc/sane.d/dll.conf zu aktivieren und die IP des Servers in /etc/sane.d/net.conf einzutragen.

Wenn der Client ein Windows ist... wird es etwas komplizierter. Vor allem, weil ich keine Binary-Version von Xsane gefunden habe, die einigermaßen aktuell ist. Zum Testen verwende ich eine 0.991, die ich im archive.org[1] gefunden habe. Geht zwar, ist aber steinalt. Deshalb:

To Do:
Entweder Xsane für Windows aus den Quellen selber übersetzten (good luck with that!) oder es mal mit cygwin versuchen... Und vielleicht wäre irgendeine Lösung, die es ermöglicht, direkt aus einem Grafikprogramm heraus zu scannen, nicht falsch; SaneTwain ging bei mir leider irgendwie nicht.

PS: SANEWinDS funktioniert hingegen hervorragend! Naja, für beliebige Werte von Hervorragend: Ist halt noch im Alpha-Stadium und so mancher Scan sieht... seltsam aus! Aber das wird ja vielleicht noch besser... ;-)

[1] Archive.org von gd.tuwien.ac.at

HP Laserjet Color 2840

Ich bin ja ein Abfallverwerter: Meines Bruders Arbeitsstelle ist umgezogen und dabei blieb dieser Laserdrucker übrig. Ist jetzt nicht mehr das frischeste Modell, aber immerhin ein echter Laser und in bunt!

Problem: Das Gerät muss jenseits von Köln abgeholt werden. OK, kein Problem soweit, aber auf dem Heimweg hat sich dann der Scannerwagen verklemmt - ich brauch mal echt neue Stoßdämpfer! Er fährt jedenfalls nur noch nach vorne, aber nicht mehr zurück, woraufhin beim Einschalten immer, nachdem das Aufheizen der Scannerlampe beendet ist, ein Fehler Nummer 3 kommt. Mist.

Aber ich wäre nicht ich, wenn ich nicht zum Schraubenzieher greifen würde, um den Fehler sofort....... Torx-Schrauben?! Öhm, OK, wo sind die passenden Schraubenzieher, ach da. Ups, der ist zu klein! Und die Schraubbits, die beim Akkuschrauber dabei sind, sind zu groß! Doppel-Mist.

Ich also gestern im lokalen Baumarkt gewesen und 6,50€ für einen Torx TR 10 gelatzt! Meine Güte, ich wollte einen Schraubenzieher, nicht den ganzen Laden! (Nachdem ich mich mit dem Angestellten etwas unterhalten habe, wurde mir auch klar, wieso: 14 Tage Umtauschrecht auf alles. Er meinte so, zZt wäre ja die Zeit, in der alle ihre Räder wechseln. Er würde täglich fünf Schraubenschlüssel verkaufen... und vier wieder zurück nehmen! Klar, dass das die restlichen Kunden, die den Scheiß tatsächlich haben wollen, mit bezahlen!) :-/ Glücklicherweise konnte ich den eh gut gebrauchen, für $andereKundschaft. ;-)

Mit dem passenden Handwerkszeug und der Service-Anleitung ausgestattet, habe ich dann das komplette Oberteil mit Scannerglas abmontiert bekommen und den Wagen wieder in seine Ausgangsposition zurück geschoben. Deckel wieder drauf, Strom rein: Läuft.

Was sich jetzt etwas schwieriger gestaltet und mich auch etwas wurmt, ist die Suche nach den passenden Scanner-Treibern! Die gibt es nämlich nur für Windoof XP, nicht für Windoof 10. Also, jedenfalls habe ich bisher noch keine neueren gefunden. Und irgendwie muss ich noch die Benutzerkontensteuerung überlisten, damit er mir die XP-Treiber auch tatsächlich installiert. (Unter Linux habe ich es erstmal nur kurz probiert, ich muss mich noch mal ein wenig mit der SANE-Konfiguration befassen. Trotz installierter hplip findet xsane nur den Brother...)

Ansonsten haben wir jetzt für eine halbe Tankfüllung und einen neuen Schraubenzieher einen sehr brauchbaren Laserdrucker mit noch 500 Seiten schwarzem Toner. Billiger geht glaube ich kaum... ;-)

PS: Was Linux und Scannen angeht, habe ich wieder viel zu kompliziert gedacht. Wenn man die Druckereinrichtung direkt über hplip statt über cups macht, kann man - nach einem Neustart - auch direkt von da scannen, das übergibt dem xsane offenbar die korrekten Parameter.