On 08/16/2016 07:54 PM, Ralph Ronnquist wrote: > fsmithred wrote on 17/08/16 09:34: >> 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. >> > > devuan% which setfacl > /bin/setfacl > > maybe? Ralph.
That's weird. When I run 'which setfacl' I'm told it's at /usr/bin/setfacl. On further examination, that's a symlink to /bin/setfacl. Changing it in the action file didn't make a difference. Assuming this will eventually work, would daemonlet=true need to be added to get vdev to deal with plugging and unplugging the scanner after boot? -fsr _______________________________________________ Dng mailing list [email protected] https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
