sane-backend 1.0.21 broke on 8.0?

Jason Naughton jason at
Sun Nov 7 00:21:19 UTC 2010

Hi Warren,

> Okay, the other thing to check is permissions to the USB devices.  From
> devfs.rules:
> add path 'ugen*' mode 0660 group operator
> add path 'usb/*' mode 0660 group operator

I have already added the above lines.

# cat /etc/devfs.rules
add path 'ugen*' mode 0660 group operator
add path 'usb/*' mode 0660 group operator

# grep devfs /etc/rc.conf

It's not a permission issue as root also has problems getting anything
back from:

# scanimage -L

I noticed another thing which could cause some issues.  I did the
following (as root) prior to the above commands:

# cd /usr/local/etc/sane.d
# mkdir orig
# mv * orig
# cp orig/epson.conf .

With only epson.conf inside of /usr/local/etc/sane.d, I can as user and as
root perform the following task:

# scanimage -d epson --format=tiff > foo.tiff

Yet both user and root cannot find anything while issuing the command:

# scanimage -L

After your last email I thought I would put everything back into

# pkg_delete -f sane-backends-1.0.21_2
# cd /usr/ports/graphics/sane-backends
# make install

I modified my epson.conf so it had both the product id and vendor id.  Now
if I run:

# scanimage -L
zsh: segmentation fault  scanimage -L


# scanimage -d epson --format=tiff > /tmp/foo.tiff

still works.  If I truss the program I noticed:

# truss scanimage -L 2>&1 |grep open |grep epson

returns nothing.  What I'm doing in the above line is redirecting stderr
to stdout then greping for the open system call then greping to see if
there's an open epson.conf call.  It seems that it's not even bothering to
look at the epson.conf file.

If I issue the following command you can see all the conf files that it's
trying to access:

# truss scanimage -L 2>&1 |grep open |grep conf
open("/etc/libmap.conf",O_RDONLY,0666)           ERR#2 'No such file or
open("./dll.conf",O_RDONLY,0666)                 = 2 (0x2)
open("./xerox_mfp.conf",O_RDONLY,0666)           = 2 (0x2)
open("./umax1220u.conf",O_RDONLY,0666)           = 2 (0x2)
open("./umax.conf",O_RDONLY,0666)                = 2 (0x2)
open("./u12.conf",O_RDONLY,0666)                 = 2 (0x2)
open("./teco3.conf",O_RDONLY,0666)               = 2 (0x2)
open("./teco2.conf",O_RDONLY,0666)               = 2 (0x2)
open("./teco1.conf",O_RDONLY,0666)               = 2 (0x2)
open("./tamarack.conf",O_RDONLY,0666)            = 2 (0x2)
open("./sp15c.conf",O_RDONLY,0666)               = 2 (0x2)
open("./snapscan.conf",O_RDONLY,0666)            = 2 (0x2)
open("./sharp.conf",O_RDONLY,0666)               = 2 (0x2)
open("./sceptre.conf",O_RDONLY,0666)             = 2 (0x2)
open("./s9036.conf",O_RDONLY,0666)               = 2 (0x2)
open("./rts8891.conf",O_RDONLY,0666)             = 2 (0x2)
open("./rts8891.conf",O_RDONLY,0666)             = 2 (0x2)
open("./ricoh.conf",O_RDONLY,0666)               = 2 (0x2)
open("./plustek.conf",O_RDONLY,0666)             = 2 (0x2)
open("./pixma.conf",O_RDONLY,0666)               = 2 (0x2)
open("./pie.conf",O_RDONLY,0666)                 = 2 (0x2)
open("./nec.conf",O_RDONLY,0666)                 = 2 (0x2)
open("./mustek_usb.conf",O_RDONLY,0666)          = 2 (0x2)
open("./mustek.conf",O_RDONLY,0666)              = 2 (0x2)
open("./microtek2.conf",O_RDONLY,0666)           = 2 (0x2)

Looks like one of these is causing a seg fault.  I can move all of them
out of the sane.d folder and add one at a time back to isolate the one
that's causing the seg fault, as with only epson.conf in the folder there
is no seg fault just the standard not found response.

Jason Naughton,  P.Eng, M.E.Sc,
Professional Contractor,
JMN Planning,  Pickering, Ontario,
Office: (416)-509-4886 Fax: (905)-831-3810

More information about the freebsd-ports mailing list