Montag, 24. März 2014

Samsung Drucker CLP-315 Bildeinheit wechseln / Reset Hack

Übrigens: Diesen Toner kaufen ich für meinen CLP-315:

Das Problem

Das Smart Panel meines CLP-315 meint "Bildeinheit wechseln", die Status LED ist und bleibt rot. Es lässt sich nichts mehr drucken. Das Problem ist, dass der liebe Samsung Drucker mitzählt wie viel gedruckt wurde und dann den Dienst einstellt. Vom Smart Panel über "Druckereinstellungen" kann man die einzelnen Counter einsehen. Ab 24000 Seiten möchte er nun eine neue Bild Trommel / Imageing Unit. Es geht gar nichts mehr!

Lösungen aus dem Internet

  1. Neue Bildeinheit kaufen ~100€
  2. Reset Chip bzw. zurücksetzen lassen 10-20€
  3. Selbst hacken 0-3€

Brian's Reset Hack

Schnell finden sich verschieden komplizierte Hacks mit EPROM ausbauen und flashen. Am schönsten ist jedoch der Reset Hack von romburg.de mit Video, bei dem man nur kurz ein Kabel anhalten muss. Der Ausgang des Speichers (EPROM) wird beim Booten mit dem Minuspol verbunden. Dadurch fließen die kleinen Elektronen nicht zum Prozessor sondern direkt nach Hause. Beim Prozessor kommt dann nichts an, was dort als 0 notiert wird. Schreibt nun der Prozessor später (Kabel wieder ab) diese Werte zurück hat man einen schönen Reset.

Geht nicht ohne Bildeinheit

Doch leider klappt das so nicht, wenn die Bildeinheit nicht geht. Warum auch immer. In meinem Fall leuchten trotz Kabels von EPROM SDA zum Ground (Minus) nach dem booten alle LEDS bis auf das Ausrufezeichen. Das Smart Panel findet der Drucker nicht:


Ich dachte erst es liegt an meinem etwas anderen Board, am Timing wann man den Pin wieder frei gibt oder an den Tonern. Doch nachdem ich in der Richtung lange gesucht hab, war am Ende die Lösung ganz einfach.

Die Lösung

Schuld ist die Bildeinheit beziehungsweise dessen "Schutzfunktion". Zieht man das Ding raus sieht man rechts einen kleinen Kasten mit zwei Kontakten:


Mit einem Schraubenzieher bekommt man diesen leicht raus und findet zur Überraschung nur zwei Widerstände. Mit Widerstandsrechner sieht man 100k Ohm (unten) und 56 Ohm (oben):


Diese Sicherung nennt sich resitor fuse. Schiebt man eine neue Bildeinheit rein sind beide Widestände ganz und das ganze leite gut. Das wird erkannt und dann wird da ordentlich Saft drauf gegeben und der kleine Widerstand brennt durch. Damit bleibt ein hoher Widerstand. Sinn der Sache ist, das man weiß bei kleinem Widerstand ist das Teil neu und man muss die Zähler zurück setzen. Toll genau das wollen wir ja eigentlich!

Ich hab nun aus einem Kosmos Kasten den kleinsten Widerstand gegriffen (470 Ohm) und den in das Kästchen geklemmt (Ging auch ohne Löten). Nun alles wieder zusammen bauen und den Drucker anschalten. Booten lassen. Das Gerät wieder ausschalten und den Widerstand direkt wieder ausbauen. Meiner ist netterweise nicht mal durchgebrannt. Nun nochmal alles zusammen und siehe da:

Grünes Licht, alles gut!
Drucken klappt wieder und der Zähler ist zurück gesetzt.

Brian's Reset Hack die 2.

Nun wollte ich aber doch noch wissen ob es nur an der Bildeinheit lag, dass der Reset Hack nicht ging oder doch an meinem etwas anderen Board. Ich hatte inzwischen den Draht zum Resetten oben Rechts an die Schraube geklemmt (Ground). Das andere Ende kommt dann an den ERPOM links oben.

Auf dem Chip steht übrigens ST 24C64WP. ST meint STMicroelectronics und leider konnte ich dazu kein Datenblatt finden. Es gibt jedoch eine Reihe M24C64-* Chips dort die alle ähnlich sind.
Also die beiden Stellen mit dem Kabel verbunden, Drucker einschalten und wenn die Status LED grün wird loslassen. Doch es ging immer noch nicht! Teilweise mischen sich hier wohl die Toner ein, wenn diese einen eigenen Chip haben der mitzählt. Darum alle Toner-Kontakte abkleben, wie hier den ersten einfach Tesa drauf:


Nochmal Reset Kabel dran, Drucker anschalten, Draht ab und siehe da: Es springt nichts auf rot um, das Booten dauert über eine Minute und dann ist alles grün. Druckt man jetzt die Testseite sind die Werte gespeichert. Schaltet man den Drucker so wieder aus ist nichts passiert.

Interessanter Weise hatte ich die Toner auch in früheren Versuchen schon abgeklebt doch ohne das zurücksetzen der Bildeinheit hatte dies nichts gebracht. Erst wenn Toner und Bildeinheit nicht mehr stören klappt der Reset.

So lassen sich Toner und Bildeinheit so lange benutzen wie man es selbst möchte und nicht wie der Hersteller es vorschreibt.


Like it? Share it! Flattr this

Donnerstag, 20. März 2014

Smart Chicken Coop with Open Source Controller

Picture from LachieB1
I like chickens and one day I might build chicken coop. To be prepared I collect some useful links to open source chicken projects.



Like it? Share it! Flattr this

Montag, 17. März 2014

Putty reagiert nicht mehr Strg + S

Wenn man in Putty versehenlich Strg + S drückt reagiert es nicht mehr.

Zurück kommt man mit Strg + Q.

Fügt man in .bashrc zwei Zeilen ein ist das Problem behoben:
stty ixany
stty ixoff -ixon


Like it? Share it! Flattr this

Telnet Putty: Escape character is '^]'

Wenn man in Putty zum Testen eine Telnet Verbindung aufgemacht kommt gerne mal Escape character is '^]' zurück.

Dort raus kommt man mit Strg + (neben Enter) und dann quit.

Like it? Share it! Flattr this

Mittwoch, 12. März 2014

Magento Export Customers

If you need to export customer data for Excel this script does the job. If you upload and execute it. A file.csv with you customers will be created. The UTF-8 CSV file can be imported in Excel. Don't forget to delete both files afterwords. Also note that personal records should not be mailed without encryption.

<?php
require_once("app/Mage.php");
Mage::app();
Mage::app()->getStore()->setId(Mage_Core_Model_App::ADMIN_STORE_ID);
$collection = Mage::getModel('customer/customer')
    ->getCollection()
    ->addAttributeToSelect('*');

$fp = fopen('file.csv', 'w');
foreach($collection as $customer) {
 $customerAddressId = $customer->getDefaultBilling();
    if ($customerAddressId){
        $address = Mage::getModel('customer/address')->load($customerAddressId);

        $fields = array(
            $address->getData('company'),
            $customer->getData('prefix'),
            $customer->getFirstname(),
            $customer->getLastname(),
            $address->getData('street'),
            $address->getData('postcode'),
            $address->getData('city'),
            $address->getCountry(),
            $customer->getData('email')
        );
        fputcsv($fp, $fields);
        var_dump($fields); echo "<br>";
    }
}
?>

I converted the code to html using hilite.me looks nice, what do you think?

Like it? Share it! Flattr this