I recently went through a similar thing with my Galaxy Nexus and Slackware 64 13.37.
I have two suggestions:
(1) Make sure you use the Product ID for your own device in the udev rules file. (Note that the Product ID changes if you're already connected to the phone, e.g. if you're using it as a modem for your Internet connection.
To illustrate this, the device ID for the GT-I9250 is 685c, but when I'm using it as a modem it is 6863.
My rule in /lib/udev/rules.d looks like this however:
Code:
# Samsung Galaxy Nexus GT-I9250
ATTR{idVendor}=="04e8", ATTR{idProduct}=="685c", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
Note that instead of kludging the device permissions by setting the mode as rw for all (0666), I added the user to the audio group.
(2) Use the newest libmtp you can get, because the developer (http://libmtp.sourceforge.net/) only adds device IDs as they are submitted. I am using v1.1.1 and I still had to patch music-players.h for my phone and the S II.
Code:
--- libmtp-1.1.1/src/music-players.h 2012-05-03 09:27:32.230792299 +0200
+++ libmtp-1.1.1/src/music-players.h 2012-05-03 09:38:41.521132922 +0200
@@ -279,6 +279,15 @@
DEVICE_FLAG_PLAYLIST_SPL_V1 },
// From anonymous Sourceforge user
{ "Samsung", 0x04e8, "GT-S5230", 0xe20c, DEVICE_FLAG_NONE },
+ // fskmh 03-05-2012
+ { "Samsung", 0x04e8, "Galaxy S II GT-I9100", 0x685e,
+ DEVICE_FLAG_UNLOAD_DRIVER |
+ DEVICE_FLAG_LONG_TIMEOUT },
+ // fskmh 03-05-2012
+ // DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL
+ { "Samsung", 0x04e8, "Galaxy Nexus GT-I9250", 0x685c,
+ DEVICE_FLAG_UNLOAD_DRIVER |
+ DEVICE_FLAG_LONG_TIMEOUT },
/*
Bookmarks