[sane-devel] old Agfa DuoScan / Floating point exception
Daniel Bauer
linux at daniel-bauer.com
Mon Apr 17 16:08:06 UTC 2006
Am Montag, 17. April 2006 17:02 schrieb Matto Marjanovic:
> ...
>
> Ah... I think there is a little bug preventing you from getting more
> debugging output --- fixing it will require modifying the code and
> recompiling the backend.
>
> In this block in the function id_microtek():
>
> if (forcewarn) {
> /* force debugging on, to encourage user to send in a report */
> #ifndef NDEBUG
> DBG_LEVEL = 1;
> #endif
>
> The "DBG_LEVEL = 1;" line should be changed to:
>
> if (DBG_LEVEL < 1)
> DBG_LEVEL = 1;
>
> (This little-exercised codepath is reseting the debugging level back
> to 1 when it prints your "Congratualations" message.)
> ...
Hi Matto,
I've added the above in "microtek.c" and compiled again. Now there's much more
output (all done as root):
venus:~ # export SANE_DEBUG_MICROTEK=128
venus:~ # echo $SANE_DEBUG_MICROTEK
128
venus:~ # scanimage --device-name=microtek:/dev/sg0
[sanei_debug] Setting debug level of microtek to 128.
[microtek] sane_init: MICROTEK says hello! (v0.13.1)
[microtek] sane_init: config-> # Uncomment following line to disable "real
calibration" routines...
[microtek] sane_init: config-> #norealcal
[microtek] sane_init: config-> # Uncomment following line to disable "clever
precalibration" routines...
[microtek] sane_init: config-> #noprecal
[microtek] sane_init: config-> # Using "norealcal" will revert backend to
pre-0.11.0 calibration code.
[microtek] sane_init: config-> scsi * * Scanner
[microtek] attach_scanner: /dev/sg0
[microtek] attach_scanner: opening /dev/sg0
[microtek] attach_scanner: sending INQUIRY
[microtek] id_microtek...
[microtek]
[microtek]
[microtek]
[microtek] ========== Congratulations! ==========
[microtek] Your scanner appears to be supported
[microtek] by the microtek backend. However, it
[microtek] has never been tried before, and some
[microtek] parameters are bound to be wrong.
[microtek]
[microtek] Please send the scanner inquiry log in
[microtek] its entirety to mtek-bugs at mir.com and
[microtek] include a description of the scanner,
[microtek] including the base optical resolution.
[microtek]
[microtek] You'll find complete instructions for
[microtek] submitting an error/debug log in the
[microtek] 'sane-microtek' man-page.
[microtek]
[microtek]
[microtek]
[microtek] parse_inquiry...
[microtek] parse_inquiry: Not an E6 -- pretend recal cannot be disabled.
[microtek] dump_inquiry...
[microtek] === SANE/Microtek backend v0.13.1 ===
[microtek] ========== Scanner Inquiry Block ========mm
[microtek] 06 36 16 01 5b 00 00 00 41 47 46 41 20 20 20 20
[microtek] 44 55 4f 53 43 41 4e 20 20 20 20 20 20 20 20 20
[microtek] 31 2e 36 30 53 43 53 49 20 46 57 20 56 33 2e 36
[microtek] 20 43 54 4c 35 33 38 30 03 4f 8c c5 06 ee 5d 43
[microtek] 01 03 47 00 00 83 00 01 0e 4a 07 05 00 00 00 00
[microtek] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff
[microtek] ========== Scanner Inquiry Report ==========
[microtek] ===== Scanner ID...
[microtek] Device Type Code: 0x06
[microtek] Model Code: 0x5d
[microtek] Vendor Name: 'AGFA ' Model Name: 'DUOSCAN '
[microtek] Vendor Specific String: 'SCSI FW V3.6 CTL5380'
[microtek] Firmware Rev: '1.60'
[microtek] SCSI F/W version: 3.6 Scanner F/W version: 1.6
[microtek] Response data format: 0x01
[microtek] ===== Imaging Capabilities...
[microtek] Modes: Lineart Halftone Gray Color (OnePass)
[microtek] Resolution Step Sizes: 1% 5% Expanded Resolution Support? yes
[microtek] Supported Bits Per Sample: 4 8 10 12
[microtek] Max. document size code: 0x06
[microtek] Max. document size: 8299 x 13499 pixels
[microtek] Frame units: pixels 1/8"'s
[microtek] # of built-in halftones: 12 Downloadable patterns? Yes
[microtek] Data Compression:
[microtek] Contrast Settings: 14 Exposure Settings: 74
[microtek] Adjustable Shadow/Highlight? yes Adjustable Midtone? yes
[microtek] Digital brightness/offset? yes
[microtek] Gamma Table Size: 4096 entries of 2 bytes (max. depth: 12)
[microtek] ===== Source Options...
[microtek] Feed type: flatbed ADF support? yes
[microtek] Document Feeder Support? yes Feeder Backtracking? yes
[microtek] Feeder Installed? no Feeder Ready? no
[microtek] Transparency Adapter Installed? yes
[microtek] Fast Color Prescan? no
[microtek] Selectable Transfer Format? no
[microtek] Color Transfer Sequence: line-by-line, non-sequential with headers
[microtek] Three pass scan support? no
[microtek] ModeSelect-1 and ModeSense-1 Support? yes
[microtek] Can Disable Linearization Table? no
[microtek] Can Disable Start-of-Scan Recalibration? no
[microtek] Internal expanded expansion? no
[microtek] ====== End of Scanner Inquiry Report =======
[microtek] attach_scanner: happy.
[microtek] sane_init: config-> /dev/scanner
[microtek] attach_scanner: /dev/scanner
[microtek] attach_scanner: opening /dev/scanner
[microtek] attach_scanner: open failed
[microtek] sane_open
[microtek] sane_open: find device...
[microtek] sane_open: create scanner...
[microtek] sane_open: initialize scanner dependent stuff...
[microtek] sane_open: All calibration routines disabled.
[microtek] sane_open: init gamma tables...
[microtek] sane_open: init pass-time variables...
[microtek] sane_open: init clever cache...
[microtek] sane_open: initialize options:
[microtek] init_options...
[microtek] init_options: quant yes
[microtek] init_options: done.
[microtek] sane_control_option (opt=0,act=0,val=0xbfe44bc8,info=(nil))
[microtek] sane_control_option (opt=0,act=0,val=0xbfe43ae8,info=(nil))
[microtek] sane_get_option_descriptor (0)...
[microtek] sane_get_option_descriptor (1)...
[microtek] sane_get_option_descriptor (2)...
[microtek] sane_get_option_descriptor (3)...
[microtek] sane_get_option_descriptor (4)...
[microtek] sane_get_option_descriptor (5)...
[microtek] sane_get_option_descriptor (6)...
[microtek] sane_get_option_descriptor (7)...
[microtek] sane_get_option_descriptor (8)...
[microtek] sane_get_option_descriptor (9)...
[microtek] sane_get_option_descriptor (10)...
[microtek] sane_get_option_descriptor (11)...
[microtek] sane_get_option_descriptor (12)...
[microtek] sane_get_option_descriptor (13)...
[microtek] sane_get_option_descriptor (14)...
[microtek] sane_control_option (opt=14,act=0,val=0x8051668,info=(nil))
[microtek] sane_get_option_descriptor (15)...
[microtek] sane_control_option (opt=15,act=0,val=0x805166c,info=(nil))
[microtek] sane_get_option_descriptor (16)...
[microtek] sane_get_option_descriptor (17)...
[microtek] sane_get_option_descriptor (18)...
[microtek] sane_get_option_descriptor (19)...
[microtek] sane_get_option_descriptor (20)...
[microtek] sane_get_option_descriptor (21)...
[microtek] sane_get_option_descriptor (22)...
[microtek] sane_get_option_descriptor (23)...
[microtek] sane_get_option_descriptor (24)...
[microtek] sane_get_option_descriptor (25)...
[microtek] sane_get_option_descriptor (26)...
[microtek] sane_get_option_descriptor (27)...
[microtek] sane_get_option_descriptor (28)...
[microtek] sane_get_option_descriptor (29)...
[microtek] sane_get_option_descriptor (30)...
[microtek] sane_get_option_descriptor (31)...
[microtek] sane_get_option_descriptor (32)...
[microtek] sane_get_option_descriptor (33)...
[microtek] sane_control_option (opt=12,act=0,val=0xbfe43ae4,info=(nil))
[microtek] sane_control_option (opt=13,act=0,val=0xbfe43ae4,info=(nil))
[microtek] sane_control_option (opt=12,act=0,val=0xbfe44bbc,info=(nil))
[microtek] sane_get_option_descriptor (14)...
[microtek] sane_control_option (opt=14,act=1,val=0xbfe44bc0,info=0xbfe43ae8)
[microtek] sane_control_option (opt=13,act=0,val=0xbfe44bbc,info=(nil))
[microtek] sane_get_option_descriptor (15)...
[microtek] sane_control_option (opt=15,act=1,val=0xbfe44bc0,info=0xbfe43ae8)
[microtek] sane_start...
[microtek] sane_get_parameters...
[microtek] sane_get_parameters: regular 1-pass color
[microtek] sane_get_parameters: res_code = 10 ( a)
[microtek] bright_r of 0 set to 0x0
[microtek] sane_get_parameters: dots_per_mm: 3.937008
[microtek] sane_get_parameters: units_per_mm: 39.370079
[microtek] WIDTHPIX: before exp: 830
[microtek] sane_get_parameters: lines: 1350 ppl: 830 bpl: 2490
[microtek] .wait_ready 3...
[microtek] finagle_precal...
[microtek] .scanning_frame...
[microtek] .scanning_frame: in- 0,0 8299,13499
[microtek] .scanning_frame: out- 0,0 8299,13499
[microtek] .accessory...
[microtek] .download_gamma...
[microtek] .download_gamma: 4096 entries of 2 bytes, max 255
[microtek] .download_gamma: by default
[microtek] .mode_select 3...
[microtek] .mode_select: pap_len: 13499
[microtek] .mode_select_1 3...
[microtek] .wait_ready 3...
[microtek] .start_scan...
[microtek] .get_scan_status 3...
[microtek] SENSE! fd = 3
[microtek] sense = 00 00 00 00.
[microtek] get_scan_status(6): 0, 0, 0 -> #0
[microtek] > 0 0 0 0 0 0
Floating point exception
venus:~ #
does this better point to the problem?
>
>
> Oh, quirky, quirky firmware,
> -matt m.
>
>
> PS: The microtek-class of firmware probably isn't much quirkier than
> any other. Why are so many device API's deigned "proprietary"?
> Why won't device manufacturers publish their API's? As anyone
> who has written device drivers will know, it's not because they
> are trying to protect their "intellectual property". It is
> usually a combination of:
> a) having no documentation whatsoever to begin with;
> b) old-fashioned fear of embarrassment.
c) a contract with M$ to let them have at least one pro? ;-)
btw.: VueScan evaluation version works on this machine with this scanner, but
it's not OpenSource, which I'd prefer (and it's not free - which I
understand; everybody has to pay it's bills somehow...). But at least this
tells me that the SCSI-card and the Scanner themselves _can_ work...
Daniel
--
Daniel Bauer photographer Basel Switzerland
professional photography: http://www.daniel-bauer.com
special interest site: http://www.bauer-nudes.com
More information about the sane-devel
mailing list