On 08/16/2016 12:49 PM, shraptor wrote: > On 2016-08-16 18:19, shraptor wrote: >> On 2016-08-16 18:11, shraptor wrote: >>>> I got the scanner working. >>>> >>>> If I boot with udev, the scanner works, and the permissions on the device >>>> look like this: >>>> >>>> ls -l /dev/bus/usb/002/ >>>> crw-rw-r--+ 1 root root 189, 137 Aug 16 10:30 010 >>>> >>>> and with vdev, it looks like this: >>>> crw------- 1 root root 189, 131 Aug 16 10:39 004 >>>> >>>> I changed the permissions and added myself to the scanner group (oops!) >>>> and now xsane finds the scanner when I'm running vdev. I hope someone >>>> knows what to do with this information, because I'm in new territory >>>> here. >>>> (and I don't know C.) >>>> >>>> If udevadm output for the scanner would help, I'll post it. The udev >>>> rules >>>> for scanners are in /lib/udev/rules.d/60-libsane.rules >>> >>> >>> Maybe you should write a vdev action for your scanner >>> on my system they actions are in /etc/vdev/actions >>> >>> for instance optical.act contains >>> >>> [vdev-action] >>> event=any >>> path=^sr[0-9]*$ >>> VAR_OPTICAL_OWNER=root >>> VAR_OPTICAL_GROUP=optical >>> VAR_OPTICAL_MODE=0660 >>> helper=optical.sh >>> daemonlet=true >>> if_exists=run >>> >>> >>> >>> No C is needed. Write something that matches path like for optical >>> path=^sr[0-9]*$ >>> then set needed permissions and group and vdev will fix it for you >>> >>> >>> When you succeed you may contribute that .act file for others, yeah? >> >> >> Maybe you can use something like null.act >> >> [vdev-action] >> event=add >> path=^null$ >> VAR_PERMISSIONS_MODE=0666 >> helper=permissions.sh >> if_exists=run >> >> >> >> I mean the permissions.sh >> >> >> so something like >> >> scanner.act >> >> [vdev-action] >> event=add >> path=^null$ > >> VAR_PERMISSIONS_MODE=0664 >> helper=permissions.sh >> if_exists=run >> >> Dunnow wot path you should use but maybe you could figure it out? > > > perhaps? > > scanner.act > > [vdev-action] > event=add > path=^bus/usb/1$ > VAR_OWNER=root > VAR_GROUP=scanner > VAR_PERMISSIONS_MODE=0664 > helper=permissions.sh > if_exists=run > > > Does debian use something like /dev/usbscanner0 or /dev/usb/scanner0? > Then maybe a new helper scanner.sh is needed, like optical.sh? > > In the beginning of vdev creation we dreamt of a udev rules to vdev action > parser > >
I now have a better idea of what such dreams would entail. Getting close... This mostly works. I can get the right permissions on the device, but when I add the setfacl command, vdev fails. Error is "Invalid action" and it lists /usr/etc/vdev/actions/scanner.act. If I run the command in the console, it works correctly. I tried it with the command before and after "if_exists=run". [vdev-action] event=add path=^bus/usb/*/[001-999] OS_SUBSYSTEM=usb OS_TYPE=255/255/255 VAR_OWNER=root VAR_GROUP=scanner VAR_PERMISSIONS_MODE=0664 helper=permissions.sh if_exists=run command:/usr/bin/setfacl -m g:scanner:rw $VDEV_MOUNTPOINT/$VDEV_PATH Any ideas on how to get setfacl to work are welcome. Thanks. -fsr _______________________________________________ Dng mailing list [email protected] https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
