On Wed, May 30, 2001 at 12:46:28AM +0200, Henning Meier-Geinitz wrote:
> Hi,
>
>
> > I'm pretty puzzled with that, 'Inb (port: 890)' means access to
> > CONTROL port. If the failure was due to lack of permission to do
> > direct I/O, the umax_pp should have failed with the very first access
> > to parport which is Inb (0x378).
>
> Yes, I saw this, too, and don't know why.
>
> > Inb(0x37A) is only the third I/O. So I find it strange. A larger part
> > of the gdb backtrace would be helpful.
>
> Starting program: /usr/local/bin/scanimage -L
> Program received signal SIGBUS, Bus error.
> Inb (port=890) at umax_pp_low.c:81
> 81 return value;
> (gdb) bt
> #0 Inb (port=890) at umax_pp_low.c:81
> #1 0x80eef1a in sanei_umax_pp_ProbeScanner (recover=0) at umax_pp_low.c:3957
line 3957 is after detection of the scanner's EPAT chip, so it is pretty
far.
> #2 0x80f9da2 in sanei_umax_pp_attach (port=888) at umax_pp_mid.c:160
> #3 0x80da83d in attach (devname=0xbfbff479 "0x378") at umax_pp.c:186
> #4 0x80dbb95 in sane_umax_pp_init (version_code=0xbfbff6b0,
> authorize=0x804a168 <auth_callback>) at umax_pp.c:849
> #5 0x804ec50 in init (be=0x8150f9c) at dll.c:400
> #6 0x804f142 in sane_dll_get_devices (device_list=0xbfbff78c, local_only=0)
> at dll.c:661
> #7 0x804ddd4 in sane_get_devices (dl=0xbfbff78c, local=0) at dll-s.c:15
> #8 0x804c60d in main (argc=2, argv=0xbfbffbe8) at scanimage.c:1418
> #9 0x804a101 in _start ()
>
> Bye,
> Henning
>
a quick search on google lead to mails that stated that you have to open
'/dev/io' R/W to avoid such errors. We could add fd=open("/dev/io",O_RDWR) and
then check errno to forgive on ENOENT and ENXIO but fail on EACCES.
It may even bring the ability to lock access to parport when scanning.
Shall I give it a try ?
Regards,
Stef
-- Source code, list archive, and docs: http://www.mostang.com/sane/ To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com
This archive was generated by hypermail 2b29 : Tue May 29 2001 - 22:53:21 PDT