Sample Header Ad - 728x90

Samsung SCX-3205 multi function device fails to scan (with sane) after printing (with cups)

0 votes
1 answer
12 views
I have a very old Samsung SCX-3205 printer/copier/scanner. It scans fine and works fine. HOWEVER, when I print with CUPS, it stops scanning. "scanimage -L" tells for the first run after printing that the device is still there, but the next run it cannot find it anymore. I have done a strace, check the differences: Non-working case: ppoll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLOUT}], 3, {tv_sec=60, tv_nsec=0}, NULL, 8) = 1 ([{fd=6, revents=POLLIN}], left {tv_sec=59, tv_nsec=4341630}) ioctl(8, USBDEVFS_DISCARDURB, 0x55933dbfb0) = 0 timerfd_settime(6, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0 ppoll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLOUT}], 3, {tv_sec=60, tv_nsec=0}, NULL, 8) = 1 ([{fd=8, revents=POLLOUT}], left {tv_sec=59, tv_nsec=999980518}) ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fc9c97a50) = 0 timerfd_settime(6, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0 ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7fc9c97a50) = -1 EAGAIN (Resource temporarily unavailable) ioctl(8, USBDEVFS_CLEAR_HALT, 0x7fc9c97cb4) = 0 ioctl(8, USBDEVFS_CLEAR_HALT, 0x7fc9c97eb4) = 0 ioctl(8, USBDEVFS_CLEAR_HALT, 0x7fc9c97eb4) = 0 ioctl(8, USBDEVFS_RELEASEINTERFACE, 0x7fc9c97e5c) = 0 Working case: ppoll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=8, events=POLLOUT}], 3, {tv_sec=60, tv_nsec=0}, NULL, 8) = 1 ([{fd=8, revents=POLLOUT}], left {tv_sec=59, tv_nsec=999981204}) ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7ff3d45d80) = 0 timerfd_settime(6, 0, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=0, tv_nsec=0}}, NULL) = 0 ioctl(8, USBDEVFS_REAPURBNDELAY, 0x7ff3d45d80) = -1 EAGAIN (Resource temporarily unavailable) ioctl(8, USBDEVFS_CLEAR_HALT, 0x7ff3d461e4) = 0 ioctl(8, USBDEVFS_CLEAR_HALT, 0x7ff3d461e4) = 0 ioctl(8, USBDEVFS_RELEASEINTERFACE, 0x7ff3d4618c) = 0 So I can see there is extra ppoll ("fd=6, revents=POLLIN") in the mix for the failing case. FD is from here: timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC|TFD_NONBLOCK) = 6 I'm running a Alpine Linux 3.15.0 on Raspberry Pi 4 Model B Rev 1.1.
Asked by Janne Paalijarvi (43 rep)
Feb 2, 2025, 10:17 AM