Both sides previous revisionPrevious revisionNext revision | Previous revision |
projekte:cis:canon_mf4370dn [2016-06-15 00:11] – [Reversing] cracki | projekte:cis:canon_mf4370dn [2017-01-17 01:01] (current) – external edit 127.0.0.1 |
---|
* 01 70315 | * 01 70315 |
* FK2-9569-000 | * FK2-9569-000 |
* 01 57038164 F (Barcode) | * das ist die Typbezeichnung für den CIS |
| * 01 57038164 F |
| * Barcode: Format ITF, Typ Text, Wert 57038164 |
| |
| ===== Pinout ===== |
| |
| * 6 Clock |
| * 7 Startpuls |
| * 8 Vref |
| * 9 VCC (5V) |
| * 10 GND |
| * 11 DPI (low: 300, high: 600, pullup) |
| * 12 Aout |
| * 2-4 V Ausgang, geht nie runter auf 0 |
| |
| * regelmäßige blinde Flecke, ca 0.5mm breit jeweils |
| * doppelt so viele blinde Flecke, wenn Spannung an DPI > VCC |
| |
===== Reversing ===== | ===== Reversing ===== |
| |
Pins gezaehlt von innen (links) nach aussen (rechts). | Pins gezaehlt von innen (links) nach aussen (rechts). |
| |
| Bis auf GND sind 1-5 und 6-12 getrennt. Insbesondere 5, trotz weiterer Abzweigung, scheint mit nix weiter zu interagieren. |
| |
| ==== Messungen ==== |
| |
| Spannungen bei 10 mA und 3.4V: |
| |
| ^ + \ - ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ Beschreibung des Pins ^ |
| | 1 | <typo bg:#ffb2b2>0.00</typo> | | | | | GND | |
| | 2 | | <typo bg:#ffb2b2>0.00</typo> | | | | GND Rot | |
| | 3 | | | <typo bg:#ffb2b2>0.00</typo> | | | GND Grün | |
| | 4 | | | | <typo bg:#ffb2b2>0.00</typo> | | GND Blau | |
| | 5 | | <typo bg:#ffb2d0>1.87</typo> | <typo bg:#b2ffcc>2.78</typo> | <typo bg:#b2fff3>2.95</typo> | <typo bg:#ffb2b2>0.00</typo> | VCC (Test: 3.35V 10mA) | |
| |
| auch: |
| * 2 GND Rot, ~2.3V 50mA |
| * 3 GND Gruen, ~3.45V 50mA |
| * 4 GND Blau, ~3.45V 30mA |
| |
| bei ~4.5V Versorgung in die LEDs folgende Widerstände nach Erde: |
| * Rot: 220 |
| * Grün: 50 |
| * Blau: 100 |
| |
Spannungen bei 1 mA: | Spannungen bei 1 mA: |
| |
^ + \ - ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^ 8 ^ 9 ^ 10 ^ 11 ^ 12 ^ Beschreibung des Pins ^ | ^ + \ - ^ 6 ^ 7 ^ 8 ^ 9 ^ 10 ^ 11 ^ 12 ^ Aufgabe ^ Beschreibung ^ |
| 1 | <typo bg:#ffb2b2>0.00</typo> | | | | | <typo bg:#b2ffbe>0.72</typo> | <typo bg:#b2ffbe>0.72</typo> | <typo bg:#c6ffb2>0.58</typo> | <typo bg:#e8ffb2>0.43</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#b2ffbe>0.72</typo> | <typo bg:#ddffb2>0.48</typo> | LED Pin 1 (unten): GND | | | 6 | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#b2deff>1.14</typo> | <typo bg:#c8b2ff>1.43</typo> | <typo bg:#b2ffc7>0.76</typo> | <typo bg:#b2ffff>1.00</typo> | <typo bg:#b2deff>1.14</typo> | <typo bg:#bdb2ff>1.38</typo> | Clock | Betrieb: floating | |
| 2 | | <typo bg:#ffb2b2>0.00</typo> | | | | | | | | | | | LED Pin 2 | | | 7 | <typo bg:#b2deff>1.14</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#c8b2ff>1.43</typo> | <typo bg:#b2ffc7>0.76</typo> | <typo bg:#b2ffff>1.00</typo> | <typo bg:#b2deff>1.14</typo> | <typo bg:#bdb2ff>1.38</typo> | Startpuls | Betrieb: floating | |
| 3 | | | <typo bg:#ffb2b2>0.00</typo> | | | | | | | | | | LED Pin 3 | | | 8 | <typo bg:#b2eeff>1.07</typo> | <typo bg:#b2eeff>1.07</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#b2ffb7>0.69</typo> | <typo bg:#b2fff5>0.96</typo> | <typo bg:#b2eeff>1.07</typo> | <typo bg:#b2fffa>0.98</typo> | Vref | betrieb: low, driftet langsam (Vref?) | |
| 4 | | | | <typo bg:#ffb2b2>0.00</typo> | | | | | | | | | LED Pin 4 | | | 9 | <typo bg:#b2ffc3>0.74</typo> | <typo bg:#b2ffc3>0.74</typo> | <typo bg:#b2eaff>1.09</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#b2ffb3>0.67</typo> | <typo bg:#b2ffc3>0.74</typo> | <typo bg:#b2f5ff>1.04</typo> | VCC | | |
| 5 | | <typo bg:#ffb2fe>1.67</typo> | | | <typo bg:#ffb2b2>0.00</typo> | | | | | | | | LED Pin 5 | | | 10 | <typo bg:#b2ffbe>0.72</typo> | <typo bg:#b2ffbe>0.72</typo> | <typo bg:#c6ffb2>0.58</typo> | <typo bg:#e8ffb2>0.43</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#b2ffbe>0.72</typo> | <typo bg:#ddffb2>0.48</typo> | GND | kupferne Masseflaeche, aufgeklebt | |
| 6 | <typo bg:#b2ffff>1.00</typo> | | | | | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#b2deff>1.14</typo> | <typo bg:#c8b2ff>1.43</typo> | <typo bg:#b2ffc7>0.76</typo> | <typo bg:#b2ffff>1.00</typo> | <typo bg:#b2deff>1.14</typo> | <typo bg:#bdb2ff>1.38</typo> | | | | 11 | <typo bg:#b2dcff>1.15</typo> | <typo bg:#b2dcff>1.15</typo> | <typo bg:#cab2ff>1.44</typo> | <typo bg:#b2ffc5>0.75</typo> | <typo bg:#b2fcff>1.01</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#bfb2ff>1.39</typo> | DPI | Betrieb: high | |
| 7 | <typo bg:#b2ffff>1.00</typo> | | | | | <typo bg:#b2deff>1.14</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#c8b2ff>1.43</typo> | <typo bg:#b2ffc7>0.76</typo> | <typo bg:#b2ffff>1.00</typo> | <typo bg:#b2deff>1.14</typo> | <typo bg:#bdb2ff>1.38</typo> | | | | 12 | <typo bg:#b2ecff>1.08</typo> | <typo bg:#b2ecff>1.08</typo> | <typo bg:#b2fff5>0.96</typo> | <typo bg:#b2ffb3>0.67</typo> | <typo bg:#b2fff5>0.96</typo> | <typo bg:#b2ecff>1.08</typo> | <typo bg:#ffb2b2>0.00</typo> | Aout | Betrieb: floating low, scheint digitale Werte zu produzieren | |
| 8 | <typo bg:#b2fff5>0.96</typo> | | | | | <typo bg:#b2eeff>1.07</typo> | <typo bg:#b2eeff>1.07</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#b2ffb7>0.69</typo> | <typo bg:#b2fff5>0.96</typo> | <typo bg:#b2eeff>1.07</typo> | <typo bg:#b2fffa>0.98</typo> | | | |
| 9 | <typo bg:#b2ffb3>0.67</typo> | | | | | <typo bg:#b2ffc3>0.74</typo> | <typo bg:#b2ffc3>0.74</typo> | <typo bg:#b2eaff>1.09</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#b2ffb3>0.67</typo> | <typo bg:#b2ffc3>0.74</typo> | <typo bg:#b2f5ff>1.04</typo> | | | |
| 10 | <typo bg:#ffb2b2>0.00</typo> | | | | | <typo bg:#b2ffbe>0.72</typo> | <typo bg:#b2ffbe>0.72</typo> | <typo bg:#c6ffb2>0.58</typo> | <typo bg:#e8ffb2>0.43</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#b2ffbe>0.72</typo> | <typo bg:#ddffb2>0.48</typo> | GND, kupferne Masseflaeche, aufgeklebt | | |
| 11 | <typo bg:#b2fcff>1.01</typo> | | | | | <typo bg:#b2dcff>1.15</typo> | <typo bg:#b2dcff>1.15</typo> | <typo bg:#cab2ff>1.44</typo> | <typo bg:#b2ffc5>0.75</typo> | <typo bg:#b2fcff>1.01</typo> | <typo bg:#ffb2b2>0.00</typo> | <typo bg:#bfb2ff>1.39</typo> | | | |
| 12 | <typo bg:#b2fff5>0.96</typo> | | | | | <typo bg:#b2ecff>1.08</typo> | <typo bg:#b2ecff>1.08</typo> | <typo bg:#b2fff5>0.96</typo> | <typo bg:#b2ffb3>0.67</typo> | <typo bg:#b2fff5>0.96</typo> | <typo bg:#b2ecff>1.08</typo> | <typo bg:#ffb2b2>0.00</typo> | | | |
| |
==== Hypothesen ==== | ===== Arduino Code ===== |
* 6,7,11 gleich | |
* 8,12 gleich | <code> |
* 10 GND | #define START 2 |
* 5 VCC? | #define CLOCK 3 |
| #define DPIMODE 4 |
| #define LEDR 5 |
| #define LEDG 6 |
| #define LEDB 7 |
| |
| bool dpimode = 1; |
| uint16_t pixels = dpimode ? 5184 : 2592; |
| |
| uint32_t linetime = 4000; // us |
| uint32_t sched = 0; |
| |
| uint8_t lightcolor = 0; |
| |
| void set_lighting(uint8_t active) |
| { |
| digitalWrite(LEDR, !(active & 0b001)); |
| digitalWrite(LEDG, !(active & 0b010)); |
| digitalWrite(LEDB, !(active & 0b100)); |
| } |
| |
| void setup() { |
| pinMode(START, OUTPUT); |
| pinMode(CLOCK, OUTPUT); |
| pinMode(DPIMODE, OUTPUT); |
| |
| pinMode(LEDR, OUTPUT); |
| pinMode(LEDG, OUTPUT); |
| pinMode(LEDB, OUTPUT); |
| |
| digitalWrite(DPIMODE, dpimode); |
| |
| sched = micros(); |
| } |
| |
| void loop() { |
| |
| set_lighting(0); |
| |
| digitalWrite(START, HIGH); |
| digitalWrite(CLOCK, HIGH); |
| digitalWrite(CLOCK, LOW); |
| digitalWrite(START, LOW); |
| |
| set_lighting(1 << lightcolor); |
| |
| for (uint16_t counter = 82 + pixels; counter-- > 0; ) |
| { |
| PORTD |= _BV(PORTD3); |
| PORTD &= ~_BV(PORTD3); |
| } |
| |
| lightcolor = (lightcolor+1) % 3; |
| |
| sched += linetime; |
| int32_t dt = sched - micros(); |
| while (dt > 0x4000) |
| { |
| delayMicroseconds(0x4000); |
| dt -= 0x4000; |
| } |
| if (dt > 0) |
| delayMicroseconds(dt); |
| } |
| </code> |