Am 27.02.2012 12:13, schrieb Mark Morgan Lloyd:
Sven Barth wrote:
Am 27.02.2012 11:07, schrieb Mark Morgan Lloyd:
I'd be happy to be proven wrong, but my understanding is that you do
since there is one specific kernel call (in effect, telling the kernel
to release an unrecognised device to an unprivileged program) that won't
work otherwise.
I already managed the following some time ago for a scanner that was
not supported by SANE:
* setup a Windows VM in QEMU
* tell QEMU to pass the scanner to the VM
If I now started the VM I became a "permission denied" error when it
tried to open the corresponding dev node. Now I simply changed (at
that time without udev rules, because they somehow didn't work as I
wanted them to) the group of the corresponding device file
(/dev/usb/{bus}/{device}) to a group my user is part of and Tada! it
worked. So no, you don't need Root access for an unrecognized device.
The reason it didn't work as expected might have been because the
insertion of otherwise-unrecognised devices in /dev/usb is a
comparatively recent feature. Checking, it's not in 2.6.18 (Debian Etch)
but is in 2.6.32 (Debian Lenny). Allow for a few kernel steppings for it
to actually /work/ :-)
At the time I tested this I run a 2.6.40 or so kernel (ArchLinux) so
this was definitely not the problem ;) Nevertheless: though the udev
rules failed the manual changing of the ownership on the host computer
worked.
But to make those changes (and were they in the host or the guest?) you
needed root access. So you've moved the problem rather than fixing it
permanently.
These changes were on the host and the ownership only needs to be
changed once after the scanner was plugged in (udev would have done that
automatically, but as I didn't need the scanner that often the manual
route was sufficient) otherwise QEMU will complain that it can't open
the USB device file.
Note: I did never look why my udev rule didn't work. Today this is no
longer important as I now have a scanner that works with SANE.
Also I don't see what you want to imply with "moved the problem". The
solution for accessing hardware devices without root access is to change
their permissions one way or the other. You can do that either by udev
rules, manually or in a startup script which is always run (and is run
as root - like /etc/rc.local on ArchLinux) though in the last case the
device needs ot be plugged in at startup.
Regards,
Sven
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus