With (so no) recent change from devfs to udev, gnomead requires root previleges to access Nomad / Zen mp3 players through USB port. The problem is that with the switch to udev, the device (now under /dev/bus/usb/) is not set with either the correct group or the correct permission to match the model that was used before. The udev config appears to indicate that the nomadjukebox should be run for the device, but it isn't. I don't see any indication that udevd has received an event from the kernel when the nomad was plugged in. And even if it did receive the event and run the script, it won't work because the script expects the device file to be a regular file (which it was under /proc/bus/usb/) rather than a character file (which it is under /dev/bus/usb/). To fix this issue can you had the included attachement to the package.
Created attachment 89909 [details] udev rules to avoid using gnomad as root File to save in /etc/udev/rules.d directory ...
After a little brainstorming any package using libnjb may have this problem (neutrino, etc) Can you include the fix to this library instead ?
First: change SUBSYSTEM!="usb_device", ACTION!="add", GOTO="libnjb_rules_end" to SUBSYSTEM!="usb_device", GOTO="libnjb_rules_end" ACTION!="add", GOTO="libnjb_rules_end" Second: change SYSFS to ATTRS.
Actually, libnjb includes udev rules in their 2.2.5 release. For whatever reason, the ebuild isn't installing them, instead installing the hotplug files. Fixing the ebuild to install the libnjb-provided udev rules shouldn't be too difficult and should fix this problem.
Added udev rules to 2.2.5-r1, modified like Comment #3 suggested. I don't have hardware to test, so report back if it fails..
This should probably use the nomad.rules file from the libnjb source distribution, and not the rules file in the attachment. They are somewhat different.
(In reply to comment #6) > This should probably use the nomad.rules file from the libnjb source > distribution, and not the rules file in the attachment. They are somewhat > different. > Different in sense that ones in sources are invalid for our udev version..