[sane-devel] FUJITSU fi-4340Cd ADF and page-height

Mario Goppold mgoppold at tbz-pariv.de
Tue Jun 28 13:05:02 UTC 2011


Am 28.06.2011 14:09, schrieb m. allan noah:
> you must set the page-height option. it is disabled when you are in
> flatbed mode. flatbed mode is the default for fujitsu machines which
> have flatbed. so you should see it like this:
> 

Thank you, I have tried ltxy before source and after but without
page_height and that is the trick.

Could we list the options in the order of their significance and a note
to respect them?

Is a test or a warning possible if page-height is after y or in general
the wrong order?

> scanimage --source="ADF duplex" -h
> 
> Note also that the backend operation is dependent on the order of the
> options, so you should likely set the 'fundamental' (for lack of
> better term) options before the scan area options:
> 
> scanimage --source "ADF Duplex" --mode Gray --page-height=297 -l 0 -t
> 0 -x 210 -y 297 --batch-start=1 --batch-count=2 --resolution 200
> 
> allan
> 
> On Tue, Jun 28, 2011 at 7:56 AM, Mario Goppold <mgoppold at tbz-pariv.de> wrote:
>> Hi,
>>
>> I have some problems to scan A4 sized pages form ADF with the fujitsu
>> backend.
>>
>> Every time the backend rounds the page to letter:
>>
>> SANE_DEBUG_FUJITSU=25 scanimage -l 0 -t 0 -x 210 -y 297 --source "ADF
>> Duplex" --mode Gray --batch-start=1 --batch-count=2 --resolution 200
>> --verbose
>>
>> [fujitsu] update_params: start
>> [fujitsu] update_params: x: max=10368, page=10200, gpw=10368, res=600
>> [fujitsu] update_params: y: max=72816, page=13200, gph=72816, res=600
>> [fujitsu] update_params: area: tlx=0, brx=10200, tly=0, bry=13200
>> [fujitsu] update_params: params: ppl=5100, Bpl=15300, lines=6600
>> [fujitsu] update_params: params: format=1, depth=8, last=1
>> [fujitsu] update_params: finish
>> ...
>> [fujitsu] update_params: start
>> [fujitsu] update_params: x: max=10368, page=10200, gpw=10200, res=200
>> [fujitsu] update_params: y: max=72816, page=13200, gph=13200, res=200
>> [fujitsu] update_params: area: tlx=0, brx=9923, tly=0, bry=13200
>> [fujitsu] update_params: params: ppl=1653, Bpl=1653, lines=2200
>> [fujitsu] update_params: params: format=0, depth=8, last=1
>> [fujitsu] update_params: finish
>>
>> The second update_param happens due to the iterpretation of the source=ADF.
>>
>> The options --page-width/--page-height are inactive so I can't set them
>> as you suggested in "Not able to scan A3 size with Fujitsu fi-5650c"
>> 05.02.2011
>>
>> In fujitsu.c:get_page_height I find the following:
>>
>>  /* current paper size for adf not overscan */
>>  if(s->overscan != MSEL_ON){
>>      return s->page_width;
>>  }
>>
>> My questions is why returns get_page_height s->page_width an not s->max_y?
>>
>> If get_page_height returns s->max_y I can scan pages in A4 and all other
>> greater then letter:
>>
>> [fujitsu] update_params: start
>> [fujitsu] update_params: x: max=10368, page=10200, gpw=10368, res=600
>> [fujitsu] update_params: y: max=72816, page=13200, gph=72816, res=600
>> [fujitsu] update_params: area: tlx=0, brx=10200, tly=0, bry=13200
>> [fujitsu] update_params: params: ppl=5100, Bpl=15300, lines=6600
>> [fujitsu] update_params: params: format=1, depth=8, last=1
>> [fujitsu] update_params: finish
>> ...
>> [fujitsu] update_params: start
>> [fujitsu] update_params: x: max=10368, page=10200, gpw=10200, res=200
>> [fujitsu] update_params: y: max=72816, page=13200, gph=72816, res=200
>> [fujitsu] update_params: area: tlx=0, brx=9923, tly=0, bry=14033
>> [fujitsu] update_params: params: ppl=1653, Bpl=1653, lines=2338
>> [fujitsu] update_params: params: format=0, depth=8, last=1
>> [fujitsu] update_params: finish
>>
>>
>> I think the problem lies in the interpretation/evaluation of br_y. But
>> I can not see where the value changes.
>>
>> Original Code with some more debugs:
>>
>> [fujitsu] sane_get_option_descriptor: 10
>> [fujitsu] MG get_page_height: x: max=10368, page=10200, res=200
>> max_basic=5184 basic_res=600
>> [fujitsu] MG get_page_height: y: max=72816, page=13200, res=200
>> max_basic=36408 basic_res=600
>> [fujitsu] MG get_page_height: area: tlx=0, brx=9923, tly=0, bry=13200
>> [fujitsu] MG get_page_height: Fall s->overscan != MSEL_ON return 13200
>> [fujitsu] MG get_page_height: x: max=10368, page=10200, res=200
>> max_basic=5184 basic_res=600
>> [fujitsu] MG get_page_height: y: max=72816, page=13200, res=200
>> max_basic=36408 basic_res=600
>> [fujitsu] MG get_page_height: area: tlx=0, brx=9923, tly=0, bry=13200
>> [fujitsu] MG get_page_height: Fall s->overscan != MSEL_ON return 13200
>> [fujitsu] MG sane_get_option_descriptor: option==OPT_BR_Y
>> get_page_height 13200
>> [fujitsu] MG sane_get_option_descriptor: option==OPT_BR_Y br_y_range.max
>> 18308400
>> MG scanimage: option br-y = 297
>> [dll]
>> sane_control_option(handle=0x805a8b0,option=10,action=1,value=0xbfa0aeb0,info=0xbfa0addc)
>> [fujitsu] sane_control_option: set value for 'br-y' (10)
>> [fujitsu] MG sane_control_option set : OPT_BR_Y   val_c/(1 << 16)=
>> 279.36
>> [fujitsu] MG sane_control_option set : OPT_BR_Y             val_c=
>> 18308400
>> [fujitsu] MG sane_control_option set : OPT_BR_Y           s->br_y=
>>  13200
>> [fujitsu] MG sane_control_option set : OPT_BR_Y no update needed
>> MG scanimage: option br-y = 279.364
>> scanimage: rounded value of br-y from 297 to 279.364
>>
>>
>>
>>
>>
>> and with get_page_height returns s->max_y:
>>
>> [fujitsu] sane_get_option_descriptor: 10
>> [fujitsu] MG get_page_height: x: max=10368, page=10200, res=200
>> max_basic=5184 basic_res=600
>> [fujitsu] MG get_page_height: y: max=72816, page=13200, res=200
>> max_basic=36408 basic_res=600
>> [fujitsu] MG get_page_height: area: tlx=0, brx=9923, tly=0, bry=13200
>> [fujitsu] MG get_page_height: Fall s->overscan != MSEL_ON return
>> s->max_y 72816
>> [fujitsu] MG get_page_height: x: max=10368, page=10200, res=200
>> max_basic=5184 basic_res=600
>> [fujitsu] MG get_page_height: y: max=72816, page=13200, res=200
>> max_basic=36408 basic_res=600
>> [fujitsu] MG get_page_height: area: tlx=0, brx=9923, tly=0, bry=13200
>> [fujitsu] MG get_page_height: Fall s->overscan != MSEL_ON return
>> s->max_y 72816
>> [fujitsu] MG sane_get_option_descriptor: option==OPT_BR_Y
>> get_page_height 72816
>> [fujitsu] MG sane_get_option_descriptor: option==OPT_BR_Y br_y_range.max
>> 100995792
>> MG scanimage: option br-y = 297
>> [dll]
>> sane_control_option(handle=0x805a8b0,option=10,action=1,value=0xbfb4bc40,info=0xbfb4bb6c)
>> [fujitsu] sane_control_option: set value for 'br-y' (10)
>> [fujitsu] MG sane_control_option set : OPT_BR_Y   val_c/(1 << 16)=
>> 296.99
>> [fujitsu] MG sane_control_option set : OPT_BR_Y             val_c=
>> 19463771
>> [fujitsu] MG sane_control_option set : OPT_BR_Y           s->br_y=
>>  13200
>> [fujitsu] MG sane_control_option set : OPT_BR_Y new br_y=14033 reload
>> PARAMS+OPTIONS
>> MG scanimage: option br-y = 296.994
>> scanimage: rounded value of br-y from 297 to 296.994
>>
>>
>>
>> Why is val_c in the above Log 18308400 and not 19463771 and how depends
>> it on page_height?
>>
>> The whole logs are available on reqest.
>>
>> Thanks in advance.
>>
>> Mario
>>



More information about the sane-devel mailing list