>> Hi Krzysztof,
>>
>>> Hi Simon,
>>>
>>> Simon Matter via sane-devel <[email protected]>
>>> writes:
>>>
>>>> I have now tried with an old SANE version too. I was unable to compile
>>>> version 1.0.14, which is running on our working systems, so I tried
>>>> 1.0.32.
>>>>
>>>> All in all I have tried with three versions, 1.0.32, 1.2.1 and 1.4.0
>>>> with
>>>> the same results. The scanner would work for some jobs but then quit
>>>> working. That's when scanimage says "open of device
>>>> fujitsu:fi-7160:42929
>>>> failed: Invalid argument".
>>>
>>> Have you posted a log showing this detail? If not, perhaps do.
>>> Also, if still unclear, it could be helpful to run strace on your scan
>>> command. Something like
>>>
>>> strace -fe file,fork,ioctl command...
>>>
>>> maybe coupled with: 2>&1 | grep EINVAL -C10
>>>
>>
>> Thanks for your suggestion. I've created two traces now, the first is
>> taken when all is still well, the second when the scanner doesn't
>> respond
>> anymore.
>>
>> I'm ready to produce more logs if it helps to understand what's going
>> wrong.
>

I've tried again to see how the button daemon fails. Here is the trace
where it happens:


[pid 49097] openat(AT_FDCWD, "/dev/bus/usb/002/003", O_RDWR|O_CLOEXEC) = 8
[pid 49097] ioctl(8, USBDEVFS_GET_CAPABILITIES, 0x262ebcc) = 0
[pid 49097] openat(AT_FDCWD,
"/sys/bus/usb/devices/2-1/bConfigurationValue", O_RDONLY|O_CLOEXEC) = 9
[pid 49097] read(9, "1\n", 19)          = 2
[pid 49097] close(9)                    = 0
[pid 49097] ioctl(8, USBDEVFS_CLAIMINTERFACE, 0x7fff8789d414) = 0
[pid 49097] timerfd_settime(4, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0,
tv_nsec=0}, it_value={tv_sec=4483, tv_nsec=542347271}}, NULL) = 0
[pid 49097] ioctl(8, USBDEVFS_SUBMITURB, 0x26215c0) = 0
[pid 49097] read(3, "\1\0\0\0\0\0\0\0", 8) = 8
[pid 49097] poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8,
events=POLLOUT}], 3, 60000) = 1 ([{fd=8, revents=POLLOUT}])
[pid 49097] ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fff8789d150) = 0
[pid 49097] timerfd_settime(4, 0, {it_interval={tv_sec=0, tv_nsec=0},
it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0
[pid 49097] ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fff8789d150) = -1 EAGAIN
(Resource temporarily unavailable)
[pid 49097] timerfd_settime(4, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0,
tv_nsec=0}, it_value={tv_sec=4483, tv_nsec=542783859}}, NULL) = 0
[pid 49097] ioctl(8, USBDEVFS_SUBMITURB, 0x26215c0) = 0
[pid 49097] poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8,
events=POLLOUT}], 3, 60000) = 1 ([{fd=8, revents=POLLOUT}])
[pid 49097] ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fff8789d150) = 0
[pid 49097] timerfd_settime(4, 0, {it_interval={tv_sec=0, tv_nsec=0},
it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0
[pid 49097] ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fff8789d150) = -1 EAGAIN
(Resource temporarily unavailable)
[pid 49097] timerfd_settime(4, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0,
tv_nsec=0}, it_value={tv_sec=4513, tv_nsec=43098683}}, NULL) = 0
[pid 49097] ioctl(8, USBDEVFS_SUBMITURB, 0x26215c0) = 0
[pid 49097] poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8,
events=POLLOUT}], 3, 60000) = 1 ([{fd=8, revents=POLLOUT}])
[pid 49097] ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fff8789d1b0) = 0
[pid 49097] timerfd_settime(4, 0, {it_interval={tv_sec=0, tv_nsec=0},
it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0
[pid 49097] ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fff8789d1b0) = -1 EAGAIN
(Resource temporarily unavailable)
[pid 49097] timerfd_settime(4, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0,
tv_nsec=0}, it_value={tv_sec=4513, tv_nsec=43355730}}, NULL) = 0
[pid 49097] ioctl(8, USBDEVFS_SUBMITURB, 0x26215c0) = 0
[pid 49097] poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8,
events=POLLOUT}], 3, 60000) = 1 ([{fd=8, revents=POLLOUT}])
[pid 49097] ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fff8789d1b0) = 0
[pid 49097] timerfd_settime(4, 0, {it_interval={tv_sec=0, tv_nsec=0},
it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0
[pid 49097] ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fff8789d1b0) = -1 EAGAIN
(Resource temporarily unavailable)
[pid 49097] timerfd_settime(4, TFD_TIMER_ABSTIME, {it_interval={tv_sec=0,
tv_nsec=0}, it_value={tv_sec=4513, tv_nsec=44519587}}, NULL) = 0
[pid 49097] ioctl(8, USBDEVFS_SUBMITURB, 0x26215c0) = 0
[pid 49097] poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8,
events=POLLOUT}], 3, 60000) = 1 ([{fd=8, revents=POLLOUT}])
[pid 49097] ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fff8789d1b0) = 0
[pid 49097] timerfd_settime(4, 0, {it_interval={tv_sec=0, tv_nsec=0},
it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0
[pid 49097] ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fff8789d1b0) = -1 EAGAIN
(Resource temporarily unavailable)
[pid 49097] ioctl(8, USBDEVFS_CLEAR_HALT, 0x7fff8789d474) = 0
[pid 49097] ioctl(8, USBDEVFS_RELEASEINTERFACE, 0x7fff8789d5a4) = 0
[pid 49097] write(3, "\1\0\0\0\0\0\0\0", 8) = 8
[pid 49097] close(8)                    = 0
[pid 49097] read(7, "", 4096)           = 0
[pid 49097] close(7)                    = 0
[pid 49097] write(2, "Open of device fujitsu:fi-7160:4"..., 62Open of
device fujitsu:fi-7160:42929 failed: Invalid argument
) = 62
[pid 49097] exit_group(1)               = ?


Can it be that the problem is in the usb subsystem of the kernel? Because
it fails where there is interaction with it and it fails always in the
same place.

Thanks,
Simon


Reply via email to