hardware:bizhub_scan
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
hardware:bizhub_scan [2011/10/03 12:23] – reinhold | hardware:bizhub_scan [2013/03/13 10:42] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
Other devices might also use this type of scanning protocol, but I have not had access to them so far. | Other devices might also use this type of scanning protocol, but I have not had access to them so far. | ||
- | The different devices have a similar command set, but slight differences. | + | The different devices have a similar command set, but slight differences |
^ Device | ^ Device | ||
Zeile 127: | Zeile 127: | ||
Each function call and each response has the following form (byte-wise, where the spaces between the actual bytes are not part of the communication): | Each function call and each response has the following form (byte-wise, where the spaces between the actual bytes are not part of the communication): | ||
- | ^ ESC * func ##1 param1 ##2 param2 ... ##n Paramn [opional_binary_data] | + | ^ ESC * func ##1 param1 ##2 param2 ... ##n Paramn [opional_binary_data] ^^^^ |
|\ \ \ | byte 1: | ESC (0x1b) | Escape sequence | | |\ \ \ | byte 1: | ESC (0x1b) | Escape sequence | | ||
|\ \ \ | byte 2: | * (0x2a) | |\ \ \ | byte 2: | * (0x2a) | ||
Zeile 160: | Zeile 160: | ||
^ Box handling ^^^^^ | ^ Box handling ^^^^^ | ||
| Esc*h$B | | Esc*h$B | ||
- | | Esc*h$$F | + | | Esc*h$$F |
| Esc*h$$K | | Esc*h$$K | ||
- | | Esc*h$$L | + | | Esc*h$$L |
^ Error handling ^^^^^ | ^ Error handling ^^^^^ | ||
| Esc*oE | | Esc*oE | ||
Zeile 285: | Zeile 285: | ||
- | ===== Esc*z##G ... Setting image parameters on C202 ===== | + | ===== Esc*z##G ... Setting image parameters on C353series |
Image parameters for the scan. All values are sent in little endian, but in the table they are shown as human-readable hex numbers | Image parameters for the scan. All values are sent in little endian, but in the table they are shown as human-readable hex numbers | ||
Zeile 292: | Zeile 292: | ||
|\ \ \ | ##G | Parameter G: Size of image data parameters (24 bytes), always '' | |\ \ \ | ##G | Parameter G: Size of image data parameters (24 bytes), always '' | ||
|\ \ \ | 24 bytes binary data |||| | |\ \ \ | 24 bytes binary data |||| | ||
- | | | | Byte 1-2: | x? Resolution (little endian, e.g. 0x00c8=200dpi) || | + | | | | Byte 1-2: | x Resolution (little endian) | 0x00c8=200dpi, 0x012c=300dpi; |
- | | | | Byte 3-4: | y? Resolution (little endian, e.g. 0x00c8=200dpi) || | + | | | | Byte 3-4: | y Resolution (little endian) | 0x00c8=200dpi, 0x012c=300dpi; |
- | | | | Byte 5-6: | Color mode: Unknown, FIXME | 0=BW, 1=Gray, ??=Color | | + | | | | Byte 5-6: | Color mode: Unknown, FIXME | 0=BW, 1=Gray, ?? |
- | | | | Byte 7-8: | Bits per pixel, FIXME | BW: 1, Gray: 8, Color: | + | | | | Byte 7-8: | Bits per pixel | BW: 0x0001, Gray: 0x008, Color: |
- | | | | Byte 9-10: | Unknown, FIXME | 0x0082 | | + | | | | Byte 9-10: | Unknown, FIXME | 0x0082 |
- | | | | Byte 11-12: | + | | | | Byte 11-12: |
- | | | | Byte 13:| Contrast?, FIXME | 0xfa=-6 to 0x02=+2 | | + | | | | Byte 13-14:| Remove Background |
- | | | | Byte 14:| Unknown, FIXME | 01, 00 or ff | | + | | | | Byte 15-16:| Rotation | 0x0000=no rotation, |
- | | | | Byte 15:| Rotation | 0x00=no rotation, | + | | | | Byte 17-18:| Duplex |
- | | | | Byte 16:| Unknown, FIXME | always 00 | | + | | | | Byte 19-20:| Preview/ |
- | | | | Byte 17-18:| Duplex? FIXME | 0x0000=simplex, | + | | | | Byte 21-22: |
- | | | | Byte 19-20:| Preview scan: 0x0000=Preview, | + | | | | Byte 23-24:| Paper size / Image area? | First half-byte: 0x0=portrait, |
- | | | | Byte 21-22: | + | |
- | | | | Byte 23-24:| Paper size? | See tabe for ESC*z## | + | |
^ Return data: ESC*s20116r1V ^^^^^ | ^ Return data: ESC*s20116r1V ^^^^^ | ||
|\ \ \ | 20116r | Variable 20116: See below ||| | |\ \ \ | 20116r | Variable 20116: See below ||| | ||
Zeile 319: | Zeile 317: | ||
- | ===== Esc*z##H ... Setting image parameters on 363 ===== | + | ===== Esc*z##H ... Setting image parameters on 423series |
Image parameters for the scan. All values are sent in little endian, but in the table they are shown as human-readable hex numbers | Image parameters for the scan. All values are sent in little endian, but in the table they are shown as human-readable hex numbers | ||
Zeile 328: | Zeile 326: | ||
| | | Byte 1-2: | x Resolution (little endian) | 0x00c8=200dpi, | | | | Byte 1-2: | x Resolution (little endian) | 0x00c8=200dpi, | ||
| | | Byte 3-4: | y Resolution (little endian) | 0x00c8=200dpi, | | | | Byte 3-4: | y Resolution (little endian) | 0x00c8=200dpi, | ||
- | | | | Byte 5-6: | Color mode: Unknown, FIXME | 0=BW, 1=Gray, ??=Color | + | | | | Byte 5-6: | Color mode | 0x0000=B/W, 0x0004=Grayscale, 0x0005=Color | |
| | | Byte 7-8: | Bits per pixel | BW: 0x0001, Gray: 0x008, Color: 0x0018 (=24) | | | | | Byte 7-8: | Bits per pixel | BW: 0x0001, Gray: 0x008, Color: 0x0018 (=24) | | ||
- | | | | Byte 9-10: | Unknown, FIXME | 0x0082 | + | | | | Byte 9-10: | Data compression format |
| | | Byte 11-12:| Duplex | 0x0000=simplex, | | | | Byte 11-12:| Duplex | 0x0000=simplex, | ||
| | | Byte 13-14:| Remove Background | range -6... 2 ('' | | | | Byte 13-14:| Remove Background | range -6... 2 ('' | ||
Zeile 337: | Zeile 335: | ||
| | | Byte 19-20:| Preview/ | | | | Byte 19-20:| Preview/ | ||
| | | Byte 21-22:| Image type | see below for image types | | | | | Byte 21-22:| Image type | see below for image types | | ||
- | | | | Byte 23-24:| Paper size / Image area? | First half-byte: 0x0=portrait, | + | | | | Byte 23-24:| Paper size / Image area | First half-byte: 0x0=portrait, |
| | | Byte 25-26:| Paper discoloration | range -6... 2 ('' | | | | Byte 25-26:| Paper discoloration | range -6... 2 ('' | ||
- | | | | Byte 27:| Unknown, FIXME | 0x00 | | + | | | | Byte 27: |
^ Return data: ESC*s20122r1V ^^^^^ | ^ Return data: ESC*s20122r1V ^^^^^ | ||
|\ \ \ | 20122r | Variable 20122: See below ||| | |\ \ \ | 20122r | Variable 20122: See below ||| | ||
Zeile 348: | Zeile 346: | ||
1b 2a 7a 32 37 48 c8 00 c8 00 00 00 01 00 82 00 ESC*z27H | 1b 2a 7a 32 37 48 c8 00 c8 00 00 00 01 00 82 00 ESC*z27H | ||
00 00 02 00 00 00 00 00 00 00 06 00 63 0e 00 01 00 | 00 00 02 00 00 00 00 00 00 00 06 00 63 0e 00 01 00 | ||
- | 02 00 00 00 10 00 00 00 02 00 00 00 00 01 00 00 . | + | 02 00 00 00 10 00 00 00 02 00 00 00 00 01 00 00 |
02 00 00 00 17 00 00 00 01 00 00 80 | 02 00 00 00 17 00 00 00 01 00 00 80 | ||
1b 2a 73 32 30 31 32 32 72 31 56 | 1b 2a 73 32 30 31 32 32 72 31 56 | ||
- | ^ Paper size id ^ Paper size ^ | ||
- | | 0x0000 (00 00) | Auto size | | ||
- | | 0x1550 (50 15) | whole area | | ||
- | | 0x1103 (03 11) | A3 SEF | | ||
- | | 0x1104 (04 11) | A4 SEF (landscape) | | ||
- | | 0x0104 (04 01) | **A4 LEF(portrait)** | | ||
- | | 0x1105 (05 11) | A5 SEF | | ||
- | | 0x0105 (05 01) | A5 LEF | | ||
- | | 0x1106 (06 11) | A6 SEF | | ||
- | | 0x1204 (04 12) | JIS B4 SEF | | ||
- | | 0x1205 (05 12) | JIS B5 SEF | | ||
- | | 0x0205 (05 02) | JIS B5 LEF | | ||
- | | 0x1206 (06 12) | JIS B6 SEF | | ||
- | | 0x1605 (05 16) | 11x17 SEF | | ||
- | | 0x160b (0b 16) | 8 1/2 x 14 SEF | | ||
- | | 0x160f (0f 16) | 8 1/2 x 11 SEF | | ||
- | | 0x060f (0f 06) | 8 1/2 x 11 LEF | | ||
- | | 0x1618 (18 16) | 5 1/2 x 8 1/2 SEF | | ||
- | | 0x0618 (18 06) | 5 1/2 x 8 1/2 LEF | | ||
- | | 0x1617 (17 16) | 7 1/4 x 10 1/2 SEF | | ||
- | | 0x0617 (17 06) | 7 1/4 x 10 1/2 LEF | | ||
- | | 0x1e63 (63 1e) | 9 x 13cm SEF | | ||
- | | 0x0e63 (63 )e) | 9 x 13cm LEF | | ||
- | | 0x1e62 (62 1e) | 10 x 15cm SEF | | ||
- | | 0x0e62 (62 0e) | 10 x 15cm LEF | | ||
- | | 0x1e61 (61 1e) | 13 x 18cm SEF | | ||
- | | 0x0e61 (61 0e) | 13 x 18cm LEF | | ||
- | | 0x1614 (14 16) | Foolscap SEF | | ||
- | | 0x1803 (03 18) | 8K SEF | | ||
- | | 0x0804 (04 08) | 16K LEF | | ||
- | | 0x1804 (04 18) | 16K SEF | | ||
- | Custom formats use the smallest | + | ^ ^ ^ **Pixel @ 200dpi** |
+ | ^ Paper size ^ **ID** | ||
+ | ^ **Auto size**| | ||
+ | ^ **whole area**| | ||
+ | ^ **A3 SEF**| | ||
+ | ^ **A4 SEF (landscape)**| | ||
+ | ^ **A4 LEF(portrait)**| 0x0104 | ||
+ | ^ **A5 SEF**| | ||
+ | ^ **A5 LEF**| | ||
+ | ^ **A6 SEF**| | ||
+ | ^ **JIS B4 SEF**| | ||
+ | ^ **JIS B5 SEF**| | ||
+ | ^ **JIS B5 LEF**| | ||
+ | ^ **JIS B6 SEF**| | ||
+ | ^ **11×17 SEF**| | ||
+ | ^ **8 1/2 x 14 SEF**| | ||
+ | ^ **8 1/2 x 11 SEF**| | ||
+ | ^ **8 1/2 x 11 LEF**| | ||
+ | ^ **5 1/2 x 8 1/2 SEF**| | ||
+ | ^ **5 1/2 x 8 1/2 LEF**| | ||
+ | ^ **7 1/4 x 10 1/2 SEF**| | ||
+ | ^ **7 1/4 x 10 1/2 LEF**| | ||
+ | ^ **9 x 13cm SEF**| | ||
+ | ^ **9 x 13cm LEF**| | ||
+ | ^ **10 x 15cm SEF**| | ||
+ | ^ **10 x 15cm LEF**| | ||
+ | ^ **13 x 18cm SEF**| | ||
+ | ^ **13 x 18cm LEF**| | ||
+ | ^ **Foolscap SEF**| | ||
+ | ^ **8K SEF**| | ||
+ | ^ **16K LEF**| | ||
+ | ^ **16K SEF**| | ||
+ | Custom formats use the smallest size that encloses the custom format. e.g. 33x21mm and 85x99mm both use A6 SEF (0x1106 = '' | ||
Zeile 425: | Zeile 424: | ||
^ Escape sequence: ESC*f0S ^^^ | ^ Escape sequence: ESC*f0S ^^^ | ||
|\ \ \ | 0S | Parameter S: Start scan | | |\ \ \ | 0S | Parameter S: Start scan | | ||
- | ^ Return data: ESC*s20113r1V | + | ^ Return data: ESC*s20113r1V ^^^ |
|\ \ \ | 20116r | Variable 20113: See below | | |\ \ \ | 20116r | Variable 20113: See below | | ||
|\ \ \ | 1V | Return value: 1..success, 0..failure | | |\ \ \ | 1V | Return value: 1..success, 0..failure | | ||
Zeile 581: | Zeile 580: | ||
| 25 | ADF loaded | bool | 0=NO, 1=YES | | | 25 | ADF loaded | bool | 0=NO, 1=YES | | ||
| 257 | Current error stack size | int | 0 or 1 (for ERROR) | | | | 257 | Current error stack size | int | 0 or 1 (for ERROR) | | | ||
- | | 258 | Scanner capabilities | binary | 30 bytes | [[# | + | | 258 | Scanner capabilities |
| 259 | Current Error Code | int | | return value: >0 for ERROR ([[# | | 259 | Current Error Code | int | | return value: >0 for ERROR ([[# | ||
- | | 261 | FIXME | binary | 16 bytes | Unknown, requested during HDD open; FIXME, '' | + | | 261 | 128-bit encryption key | binary | 16 bytes | encryption key for password encryption |
| 264 | SNMP Device identification | binary | 129 bytes | first 42 byte: SNMP sysObjectID OID, then name, then MAC, see below | | | 264 | SNMP Device identification | binary | 129 bytes | first 42 byte: SNMP sysObjectID OID, then name, then MAC, see below | | ||
| 265 | Image extent | binary | 8 bytes | see below | | | 265 | Image extent | binary | 8 bytes | see below | | ||
- | | 270 | FIXME | binary | 11 bytes | Unknown, FIXME | | + | | 270 | hardware capabilities? |
- | | 273 | + | | 273 | Scanner capabilities |
| 274 | List of data boxes on the scanner | binary | 378 bytes | format: '' | | 274 | List of data boxes on the scanner | binary | 378 bytes | format: '' | ||
| 275 | FIXME | binary | 0 bytes | Unknown, called after list of data boxes, format: '' | | 275 | FIXME | binary | 0 bytes | Unknown, called after list of data boxes, format: '' | ||
| 277 | List of images in selected box | binary | ?? bytes | list images, [[# | | 277 | List of images in selected box | binary | ?? bytes | list images, [[# | ||
- | | 280 | FIXME | binary | 12 bytes | Unknown, requested | + | | 280 | hardware capabilities? |
^ Function success/ | ^ Function success/ | ||
| 20100 | Lock/Unlock success | bool | 1=success, 0=failure | Returned to ESC*w$J commands | | | 20100 | Lock/Unlock success | bool | 1=success, 0=failure | Returned to ESC*w$J commands | | ||
Zeile 615: | Zeile 614: | ||
^ Value | ^ Value | ||
+ | | 1024 | Paper misfeed | | ||
| 10001 | FIXME: Unknown | | | 10001 | FIXME: Unknown | | ||
| 10005 | Authentication error (wrong user/ | | 10005 | Authentication error (wrong user/ | ||
+ | | 10501 | FIXME: Unknown | | ||
| 10503 | Device busy | | | 10503 | Device busy | | ||
| 12003 | ADF error (wrong paper format, paper jam, ) | | | 12003 | ADF error (wrong paper format, paper jam, ) | | ||
Zeile 685: | Zeile 686: | ||
Possible Entries: | Possible Entries: | ||
+ | - Protocol version | ||
+ | - Authentication needed | ||
+ | - public access allowed | ||
- ADF installed | - ADF installed | ||
- ADF duplex | - ADF duplex | ||
- | - Color or B/W | + | - Color or only B/W |
+ | - Compression available | ||
+ | - HDD installed (i.e. scan to/from box) | ||
- | ^ 22 byte length ^^ C353 ^ 423 ^ | + | ^ 11 byte length ^^ C353 ^ 423 ^ |
| byte 1 | Unknown | 00 | 01 | | | byte 1 | Unknown | 00 | 01 | | ||
| byte 2 | Unknown | 00 | 00 | | | byte 2 | Unknown | 00 | 00 | | ||
Zeile 708: | Zeile 714: | ||
^ Param ^ Type ^ Description ^ Comments / returned value ^ | ^ Param ^ Type ^ Description ^ Comments / returned value ^ | ||
- | | 24 | + | | 24 |
- | | 25 | + | | 25 |
| 257 | | | 257 | | ||
| 258 | bin (30) | capabilities | | | | 258 | bin (30) | capabilities | | | ||
| 259 | | | 259 | | ||
- | | 261 | bin (16) | ? | one-time random encryption key? | | + | | 261 | bin (16) | one-time random encryption key (128 bit) | |
| 264 | bin (129) | SNMP identification | | | | 264 | bin (129) | SNMP identification | | | ||
| 265 | bin (8) | Image extent | | | | 265 | bin (8) | Image extent | | | ||
| 267 | bin (?) | ? | | | | 267 | bin (?) | ? | | | ||
| 269 | bin (?) | ? | | | | 269 | bin (?) | ? | | | ||
- | | 270 | bin (11) | + | | 270 | bin (11) |
| 271 | bin (70) | ? | all '' | | 271 | bin (70) | ? | all '' | ||
| 272 | bin (226) | ? | all '' | | 272 | bin (226) | ? | all '' | ||
| 273 | bin (36) | capabilities | 423 series | | | 273 | bin (36) | capabilities | 423 series | | ||
- | | 274 | bin (?) | List of data boxes for HDD TWAIN || | + | | 274 | bin (?) | List of public |
- | | 275 | bin (?) | ? (for HDD TWAIN) || | + | | 275 | bin (?) | FIXME: List of user boxes for HDD TWAIN || |
| 276 | bin (?) | ? | | | | 276 | bin (?) | ? | | | ||
- | | 277 | bin (?) | Images | + | | 277 | bin (?) | List of images |
- | | 280 | bin (12) | + | | 280 | bin (12) |
| 301 | bin (32) | ? | '' | | 301 | bin (32) | ? | '' | ||
| 307 | bin (?) | ? | '' | | 307 | bin (?) | ? | '' | ||
Zeile 789: | Zeile 795: | ||
' | ' | ||
- | ==== Handshake / Opening connection | + | ==== Connecting to the device |
- | ⇒ ESCE | + | ⇒ EscE |
- | ⇐ ESC*s20112r1V | + | ⇐ Esc*s20112r1V |
- | ⇒ ESC*21004E | + | ⇒ Esc*s21004E |
- | ⇐ ESC*s21004d3V | + | ⇐ Esc*s21004d3V |
- | ⇒ ESC*21005E | + | ⇒ Esc*s21005E |
- | ⇐ ESC*s21005d1V | + | ⇐ Esc*s21005d1V |
- | ⇒ ESC*264U | + | ⇒ Esc*s264U Request binary data of variable 264 (device identification) |
- | ⇐ ESC*s264t129W1.3.6.1.4.[....] 129 bytes of SNMP device id. (sysObjectID, | + | ⇐ Esc*s264t129W1.3.6.1.4.[....] 129 bytes of SNMP device id. (sysObjectID, |
- | ⇒ ESC*270U | + | C353series: |
- | ⇐ ESC*s270t11W[.....] | + | ⇒ Esc*s270U Request binary data of variable 270 (C353series) |
- | ⇒ ESC*258U | + | ⇐ Esc*s270t11W[.....] |
- | ⇐ ESC*s258t30W[.....] | + | 423series: |
+ | ⇒ Esc*s280U | ||
+ | ⇐ | ||
+ | |||
+ | ==== Opening the device ==== | ||
+ | [OPTIONAL: If login desired/ | ||
+ | ⇒ Esc*s261U | ||
+ | ⇐ | ||
+ | ⇒ Esc*w100U[public...] | ||
+ | ⇐ | ||
+ | ] | ||
+ | C353series: | ||
+ | ⇒ Esc*s258U Request binary data of variable 258 (scanner capabilities) | ||
+ | ⇐ Esc*s258t30W[.....] | ||
+ | 423series: | ||
+ | ⇒ Esc*s20005E | ||
+ | ⇐ | ||
+ | ⇒ Esc*s20008E | ||
+ | ⇐ | ||
+ | ⇒ Esc*s273U | ||
+ | ⇐ | ||
==== Scanning operation ==== | ==== Scanning operation ==== | ||
- | ⇒ ESC*w0J Lock scanner | + | ⇒ Esc*w0J Lock scanner |
- | ⇐ ESC*s20100r1V | + | ⇐ Esc*s20100r1V |
- | ⇒ ESC*s25E Request variable 25 (ADF loaded) | + | ⇒ Esc*s25E Request variable 25 (ADF loaded) |
- | ⇐ ESC*s25d1V | + | ⇐ Esc*s25d1V |
- | ⇒ ESC*z24G[...] | + | C353series: |
- | ⇐ ESC*s20116r1V | + | ⇒ Esc*z24G[...] |
+ | ⇐ Esc*s20116r1V | ||
+ | 423series: | ||
+ | ⇒ Esc*z27H[...] | ||
+ | ⇐ | ||
+ | all series: | ||
[OPTIONAL: | [OPTIONAL: | ||
- | ⇒ ESC*w0W Wait for button | + | ⇒ Esc*w0W Wait for button |
⇐ | ⇐ | ||
⇐ | ⇐ | ||
- | ⇐ ESC*s20101r1V | + | ⇐ Esc*s20101r1V |
] | ] | ||
- | ⇒ ESC*f0S Start scan | + | ⇒ Esc*f0S Start scan |
- | ⇐ ESC*s20113r1V | + | ⇐ Esc*s20113r1V |
- | ⇒ ESC*s265U | + | ⇒ Esc*s265U |
- | ⇐ ESC*s265t8W[...] | + | ⇐ Esc*s265t8W[...] |
- | ⇒ ESC*w0S | + | ⇒ Esc*w0S |
⇐ | ⇐ | ||
⇐ ' | ⇐ ' | ||
[OPTIONAL: for scan from ADF | [OPTIONAL: for scan from ADF | ||
- | ⇒ ESC*s20201E | + | ⇒ Esc*s20201E |
- | ⇐ ESC*s20201d1V | + | ⇐ Esc*s20201d1V |
[if d1V: | [if d1V: | ||
- | REPEAT from ESC*s265U above | + | REPEAT from Esc*s265U above |
] | ] | ||
] | ] | ||
- | | + | |
- | ⇐ ESC*s20100r1V | + | ==== Closing the session / device ==== |
+ | |||
+ | | ||
+ | ⇐ Esc*s20100r1V | ||
+ | ⇒ Esc*w-1U | ||
+ | ⇐ | ||
==== Error handling ==== | ==== Error handling ==== | ||
- | ⇒ ESC*w1J | + | ⇒ Esc*w1J |
- | ⇐ ESC*s20100r0V | + | ⇐ Esc*s20100r0V |
- | ⇒ ESC*s257E | + | ⇒ Esc*s257E |
- | ⇐ ESC*s257d1V | + | ⇐ Esc*s257d1V |
- | ⇒ ESC*s259E | + | ⇒ Esc*s259E |
- | ⇐ ESC*s259d10001V | + | ⇐ Esc*s259d10001V |
- | ⇒ ESC*oE Reset / cleanup error | + | ⇒ Esc*oE Reset / cleanup error |
hardware/bizhub_scan.1317644584.txt.gz · Zuletzt geändert: 2013/03/13 10:42 (Externe Bearbeitung)