Ah. I'm running saned in a container, which runs on the host which has the usb scanner plugged in. I want to share that scanner over the network to other machines.
The scanner is a HP PSC 1200, supported through hpaio (and works great). Hpaio backend is version 3.16.11. Sane is version 1.0.25 Jan On Sat, 29 Jul 2017, at 20:25, m. allan noah wrote: > I'm confused- you mention exposing usb device files to the container, > then you talk about saned. Are you scanning from a network attached > scanner, or USB? And for that matter- what scanner and what version of > sane-backends is this? > > allan > > On Sat, Jul 29, 2017 at 2:20 PM, Jan De Luyck <[email protected]> > wrote: > > Hello, > > > > I'm currently trying to get Sane to run inside a docker container. > > Reasons being that I can't modify the OS of the underlying machine, but > > I can play with docker containers. > > > > By sharing the /dev/bus/usb filesystem to the container, and mapping the > > necessary ports, I've gotten it to run (using runit to keep the services > > up and running). The scanner is detected, and I can start a remote scan > > - unfortunately it never completes, it fails shortly in the scan with a > > SIGPIPE error, and the client app (being scanimage or xsane) bombs out. > > > > The docker container is based on Debian Stable, I have dbus running > > inside it and ahavi is available. > > > > Running scanimage -T returns: > > $ scanimage -T > > scanimage: scanning image of size 638x877 pixels at 24 bits/pixel > > scanimage: acquiring RGB frame, 8 bits/sample > > scanimage: reading one scanline, 1914 bytes... FAIL No data > > scanimage: reading one byte... FAIL No data > > scanimage: stepped read, 2 bytes... FAIL No data > > scanimage: stepped read, 4 bytes... FAIL No data > > scanimage: stepped read, 8 bytes... FAIL No data > > scanimage: stepped read, 16 bytes... FAIL No data > > scanimage: stepped read, 32 bytes... FAIL No data > > scanimage: stepped read, 64 bytes... FAIL No data > > scanimage: stepped read, 128 bytes... FAIL No data > > scanimage: stepped read, 256 bytes... FAIL No data > > scanimage: stepped read, 512 bytes... FAIL No data > > scanimage: stepped read, 1024 bytes... FAIL No data > > scanimage: stepped read, 2048 bytes... FAIL No data > > scanimage: stepped read, 2047 bytes... FAIL No data > > scanimage: stepped read, 1023 bytes... FAIL No data > > scanimage: stepped read, 511 bytes... FAIL No data > > scanimage: stepped read, 255 bytes... FAIL No data > > scanimage: stepped read, 127 bytes... FAIL No data > > scanimage: stepped read, 63 bytes... FAIL No data > > scanimage: stepped read, 31 bytes... FAIL No data > > scanimage: stepped read, 15 bytes... FAIL No data > > scanimage: stepped read, 7 bytes... FAIL No data > > scanimage: stepped read, 3 bytes... FAIL No data > > scanimage: received signal 13 > > scanimage: trying to stop scanner > > Segmentation fault > > > > The last messages I get from saned -d128 are: > > > > [saned] do_scan: trying to write 8192 bytes to client > > [saned] quit: received signal 13 > > > > Stracing saned gave me: > > 960 write(2, "[saned] ", 8) = 8 > > 1960 write(2, "do_scan: trying to read 8188 bytes from scanner\n", 48) > > = 48 > > 1960 write(2, "[saned] ", 8) = 8 > > 1960 write(2, "do_scan: read 8188 bytes from scanner\n", 38) = 38 > > 1960 select(135, [4], [134], NULL, {tv_sec=0, tv_usec=0}) = 1 (out > > [134], left {tv_sec=0, tv_usec=0}) > > 1960 write(2, "[saned] ", 8) = 8 > > 1960 write(2, "do_scan: trying to write 8192 bytes to client\n", 46) = > > 46 > > 1960 write(2, "do_scan: trying to read 8188 bytes from scanner\n", 48) > > = 48 > > 1960 write(2, "[saned] ", 8) = 8 > > 1960 write(2, "do_scan: read 8188 bytes from scanner\n", 38) = 38 > > 1960 select(135, [4], [134], NULL, {tv_sec=0, tv_usec=0}) = 1 (out > > [134], left {tv_sec=0, tv_usec=0}) > > 1960 write(2, "[saned] ", 8) = 8 > > 1960 write(2, "do_scan: trying to write 8192 bytes to client\n", 46) = > > 46 > > 1960 select(135, [4], [134], NULL, {tv_sec=0, tv_usec=0}) = 1 (out > > [134], left {tv_sec=0, tv_usec=0}) > > 1960 write(2, "[saned] ", 8) = 8 > > 1960 write(2, "do_scan: trying to write 8192 bytes to client\n", 46) = > > 46 > > 1960 write(134, > > "\0\0\37\374\372\370\373\372\370\374\373\371\374\373\371\374\373\371\374\373\371\374\373\371\371\370\3 > > 66\372\371\367\372\371\367\373\372\370\373\372\370\372\371\367\372\371\367\371\370\366\372\372\370\372\372\370\372\372\ > > 370\372\372\370\372\372\370\372\372\370\372\372\370\372\372\370\372\372\370\372\372\370\372\372\370\372\372\370\372\372 > > "..., 8192) = -1 EPIPE (Broken pipe) > > 1960 --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=1960, > > si_uid=0} --- > > 1960 write(2, "[saned] ", 8) = 8 > > 1960 write(2, "quit: received signal 13\n", 25) = 25 > > > > Does anyone here have any idea how I could figure out what's going wrong > > here? The first 8192 bytes of data get send, the second always fails. > > > > Thanks in advance for any answers, > > > > Jan > > > > -- > > sane-devel mailing list: [email protected] > > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel > > Unsubscribe: Send mail with subject "unsubscribe your_password" > > to [email protected] > > > > -- > "well, I stand up next to a mountain- and I chop it down with the edge > of my hand" -- sane-devel mailing list: [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel Unsubscribe: Send mail with subject "unsubscribe your_password" to [email protected]
