|
Hi. I have strange problem. I have Amarok 1.4 beta2, kde 3.5.0 mandriva 2006.1 When i plug in my iriver ifp, and start amarok under normal user (not root) amarok can\'t connect to it but when i start amarok under root, it connect my iriver with no problems. How can i fix it? i don\'t want to use amarok under root. Please help me
Ps. Sorry for my poor english :blush: |
|
Hi, I got exactly the same problem. I use the 1.4 beta2 on Zenwalk 2.2 (kernel 2.6.15.4, udev 088, loosely based on Slack 10.2). We no longer use hotplug (the latest udevs can handle everything hotplug did).
Just like the topic starter, I can only mount my device within amaroK as root. This is a known problem for the libifp package (I used a GUI frontend for it way back, I had to run that with sudo also). I have tried the following: - set up a sudo rule for the ifpline executable (no results) - set the suid on the ifpline executable (now I can run it directly as a regular user, but when invoked by amaroK there is no noticeable change) - set up a udev rule for the iRiver, assigning it to group \'ifp\' (of which my user is a member) and setting permissions to 0660. I have googled many hours on this one (I would like it straightened out, I\'ve been waiting for iRiver support for a long time ). Yet no usable solutions have appeared (I don\'t want to run amaroK as root). It\'s fairly clear this is a problem with the libifp package and not with amaroK. However, maybe it would be possible to change the way amaroK calls on the ifpline executable, so this is not an issue anymore? I don\'t know exactly how the interaction between amaroK and ifpline goes, but it\'s worth a thought I think. |
Registered Member
|
well, I solved it by adding a group parameter to my udev.rules and then adding my user to that group. iirc I used the group called storage. Actually, why don\'t I just post my udev.rules file
[code:1] $ cat /etc/udev/rules.d/ifpdev.rules # udev rules file for supported ifp devices # # To add an USB ifp device, add a rule to the list below between the SUBSYSTEM... # and LABEL... lines. # # To run a script when your ifp is plugged in, add RUN=\"/path/to/script\" # to the appropriate rule. # SUBSYSTEM!=\"usb_device\", ACTION!=\"add\", GOTO=\"libifp_rules_end\" # ifp-1xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1001\", GROUP=\"storage\" # ifp-3xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1003\", GROUP=\"storage\" # ifp-5xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1005\", GROUP=\"storage\" # ifp-7xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1007\", GROUP=\"storage\" # ifp-8xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1008\", GROUP=\"storage\" # ifp-9xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1009\", GROUP=\"storage\" # ifpdev SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1010\", GROUP=\"storage\" # The N10 SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1011\", GROUP=\"storage\" LABEL=\"libifp_rules_end\" [/code:1] |
|
Thanks, I had something similar... but without the ADD parameters and stuff. What is the exclamation mark for?
I have tried the rule (restarted the udev daemon), but no results . Are you still using hotplug in some way? I removed the suid on /usr/bin/ifpline, no results either. I also built the libifp kernel module - I read it would facilitate the access for regular users to the iRiver. Can it be amarok doesn\'t work with this module? I tried to build it with only the kernel module loaded, didn\'t work though. |
Registered Member
|
No, I am not using hotplug. These are rules for the new udev. If you are using hotplug still, this is the rules file I used to use under hotplug.
[code:1] $ cat ifpdev.rules~ # udev rules file for supported ifp devices # # To add an USB ifp device, add a rule to the list below between the SUBSYSTEM... # and LABEL... lines. # # To run a script when your ifp is plugged in, add RUN=\"/path/to/script\" # to the appropriate rule. # SUBSYSTEM!=\"usb_device\", ACTION!=\"add\", GOTO=\"libifp_rules_end\" # ifp-1xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1001\", RUN+=\"/lib/udev/libifpdev.sh\" # ifp-3xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1003\", RUN+=\"/lib/udev/libifpdev.sh\" # ifp-5xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1005\", RUN+=\"/lib/udev/libifpdev.sh\" # ifp-7xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1007\", RUN+=\"/lib/udev/libifpdev.sh\" # ifp-8xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1008\", RUN+=\"/lib/udev/libifpdev.sh\" # ifp-9xx SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1009\", RUN+=\"/lib/udev/libifpdev.sh\" # ifpdev SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1010\", RUN+=\"/lib/udev/libifpdev.sh\" # The N10 SYSFS{idVendor}==\"4102\", SYSFS{idProduct}==\"1011\", RUN+=\"/lib/udev/libifpdev.sh\" LABEL=\"libifp_rules_end\"[/code:1] Then drop this libifpdev.sh script into /lib/udev/. It will accomplish the same result under hotplug. [code:1] #!/bin/sh # This script changes the permissions and ownership of a USB device under # /proc/bus/usb to grant access to this device to users in the storage group. # # Ownership is set to root:«»storage, permissions are set to 0660. # # Arguments : # ----------- # ACTION=[add|remove] # DEVICE=/proc/bus/usb/BBB/DDD # TYPE=usb # latest hotplug doesn\'t set DEVICE on 2.6.x kernels if [ -z \"$DEVICE\" ] ; then IF=`echo $DEVPATH | sed \'s/\\(bus\\/usb\\/devices\\/\\)\\(.*\\)-\\(.*\\)/\\2/\'` DEV=$(cat /sys/${DEVPATH}/devnum) DEVICE=`printf \'/proc/bus/usb/%.03d/%.03d\' $IF $DEV` fi #if [ \"$ACTION\" = \"add\" -a \"$SUBSYSTEM\" = \"usb\" ]; then chown root:«»storage \"$DEVICE\" chmod 0660 \"$DEVICE\" #fi # That\'s an insecure but simple alternative # Everyone has access to the camera # if [ \"$ACTION\" = \"add\" -a \"$TYPE\" = \"usb\" ]; then # chmod 0666 \"$DEVICE\" # fi [/code:1] Post edited by: oggb4mp3, at: 2006/04/02 23:29 |
|
Thanks. I put the script in... But no results, again. As for the first rules set, is the ! doing something special? I didn\'t see it documented in the udev rule writing documentation I used.
I suppose you use the ifp-line (libifp) package, no? There seems more than one way to use the iFP series on Linux... (apart from flashing it to a UMS device of course). |
Registered Member
|
Did you mark the script as executable (+x)? Is your user in the storage group?
Don\'t think so. I modified the ruleset based on the gphoto ruleset on Archlinux and I didn\'t pay much attention to it because it just worked.
yes, I use libifp. I do nothing special, it just works. |
Registered Member
|
oggb4mp3 wrote:
I take that back after taking a closer look at the ruleset. It means not, so SUBSYSTEM!="usb_device", ACTION!="add", GOTO="libifp_rules_end" means if Subsystem is not equal to usb_device and action is not equal to add, go to libifp_rules_end. Basically skipping the rules if there is no device to test. |
|
I did forget to chmod +x the /lib/udev script :blush:. I did that, restarted udev, still the same though . I get some error message when compiling amarok though: \'unable to configure libifp\' (or something like that).
Could you tell me if there are any special commands you put in the configure dialog box? Also, if you got a package for libifp - could i try yours? Thanks |
|
OK. Just to be sure, I checked: amarok is run as user \'stijn\' (i.e. me). So when it accesses ifpline, there shouldn\'t be a difference afaik - because I talk to the ifpline executable as \'stijn\' also, or am I wrong?
|
Registered Member
|
user should be the same.
Here is my ./configure. Nothing special ./configure --prefix=/opt/kde --enable-mysql --with-helix --with-mp4v2 --enable-debug=full if libifp is present, then the amaroK configure should pick it up, unless you are using 1.3.x, then I think there may have been a configure switch. ./configure --help will tell you what it is. |
|
Hi, I\'m back . I just built the new beta, and I thought I\'d post this from my log, maybe it can provide any pointers?
[code:1]checking ifp.h usability... no checking ifp.h presence... yes configure: WARNING: ifp.h: present but cannot be compiled configure: WARNING: ifp.h: check for missing prerequisite headers? configure: WARNING: ifp.h: see the Autoconf documentation configure: WARNING: ifp.h: section \"Present But Cannot Be Compiled\" configure: WARNING: ifp.h: proceeding with the preprocessor\'s result configure: WARNING: ifp.h: in the future, the compiler will take precedence configure: WARNING: ## ------------------------------------------ ## configure: WARNING: ## Report this to the AC_PACKAGE_NAME lists. ## configure: WARNING: ## ------------------------------------------ ## checking for ifp.h... yes[/code:1] |
|
Ok! I found another clue I hope. With the beta3c, I get this message:
[code:1]No new media devices were found. If you feel this is an error, make sure HAL or DBUS are running and KDE has been compiled with support for them.[/code:1] Our KDE build has no HAL or DBUS AFAIK. I\'m gonna test with a full KDE... See what it does. |
|
Hi! I just want to report that I am having this exact problem under Ubuntu Dapper beta. I'm using amarok 1.4 beta3 directly form the repos and I also get the error
I tried all the previous solution proposed on this thread, paying attention to details (chmod +x and user as storage group member), but no luck. I'm pretty much a beginner in the Linux world, but I would really like to see a solution to this. I flashed the UMS firmware with the regular one in the hope this will work. |
Registered Member
|
I have KDE 3.5.2 and Amarok 1.4.0 installed from ubuntu repo as described in installation wiki.
I get "could not connect" to ifp, I have a ifp 890 with UMS firmware. I tried to start amarok as root and still no luck connecting. Then I noticed that because I have the UMS installed in the ifp, KDE automounts the player (/dev/sda) as /media/sda. I cannot add files to the player via that method either. The permissions of /media/sda and of the directories under that are rwxr-xr-x root root, but even when I mount the device from a term as root I cannot write to it....now what? |
Registered users: Bing [Bot], Google [Bot], Sogou [Bot]