The packages for MTP in the Ubuntu 11.10 repos are built from outdated source and are the cause of most of the MTP file transfer woes. I've gone ahead and removed the updated packages from the Ubuntu 12.04 repos both 32 & 64 bit versions. These have to be installed in a certain order to avoid issues so install as follows:
sudo dpkg -i libmtp9_1.1.1-1_amd64.deb
sudo dpkg -i libmtp-common_1.1.1-1_all.deb
sudo dpkg -i libmtp-runtime_1.1.1-1_amd64.deb
sudo dpkg -i mtp-tools_1.1.1-1_amd64.deb
Final package that needs to be install:
sudo apt-get install -y mtpfs
*After install make sure that the following packages are installed
mtp-tools libmtp-runtime libmtp9 libmtp-common mtpfs
SUBSYSTEM=="usb", SYSFS{idVendor}=="0502", MODE="0666"
#Dell
SUBSYSTEM=="usb", SYSFS{idVendor}=="413c", MODE="0666"
#Foxconn
SUBSYSTEM=="usb", SYSFS{idVendor}=="0489", MODE="0666"
#Garmin-Asus
SUBSYSTEM=="usb", SYSFS{idVendor}=="091E", MODE="0666"
#Google
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
#HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
#Huawei
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666"
#Kyocera
SUBSYSTEM=="usb", SYSFS{idVendor}=="0482", MODE="0666"
#LG
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"
#Motorola
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"
#Nvidia
SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666"
#Pantech
SUBSYSTEM=="usb", SYSFS{idVendor}=="10A9", MODE="0666"
#Samsung
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
#Sharp
SUBSYSTEM=="usb", SYSFS{idVendor}=="04dd", MODE="0666"
#Sony Ericsson
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"
#ZTE
SUBSYSTEM=="usb", SYSFS{idVendor}=="19D2", MODE="0666"
sudo dpkg -i libmtp9_1.1.1-1_amd64.deb
sudo dpkg -i libmtp-common_1.1.1-1_all.deb
sudo dpkg -i libmtp-runtime_1.1.1-1_amd64.deb
sudo dpkg -i mtp-tools_1.1.1-1_amd64.deb
Final package that needs to be install:
sudo apt-get install -y mtpfs
*After install make sure that the following packages are installed
mtp-tools libmtp-runtime libmtp9 libmtp-common mtpfs
- First we must create a mount point for your Galaxy Nexus:
- Now we must assign the proper read/write privileges to the directory:
- We have to create a file the enables your Linux system to see your Galaxy Nexus:
- Copy & Paste the following into the file then save and close:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0502", MODE="0666"
#Dell
SUBSYSTEM=="usb", SYSFS{idVendor}=="413c", MODE="0666"
#Foxconn
SUBSYSTEM=="usb", SYSFS{idVendor}=="0489", MODE="0666"
#Garmin-Asus
SUBSYSTEM=="usb", SYSFS{idVendor}=="091E", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
#HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
#Huawei
SUBSYSTEM=="usb", SYSFS{idVendor}=="12d1", MODE="0666"
#Kyocera
SUBSYSTEM=="usb", SYSFS{idVendor}=="0482", MODE="0666"
#LG
SUBSYSTEM=="usb", SYSFS{idVendor}=="1004", MODE="0666"
#Motorola
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", MODE="0666"
#Nvidia
SUBSYSTEM=="usb", SYSFS{idVendor}=="0955", MODE="0666"
#Pantech
SUBSYSTEM=="usb", SYSFS{idVendor}=="10A9", MODE="0666"
#Samsung
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
#Sharp
SUBSYSTEM=="usb", SYSFS{idVendor}=="04dd", MODE="0666"
#Sony Ericsson
SUBSYSTEM=="usb", SYSFS{idVendor}=="0fce", MODE="0666"
#ZTE
SUBSYSTEM=="usb", SYSFS{idVendor}=="19D2", MODE="0666"
- Now we must make the file executable:
- Download and unzip the mount/unmount scripts I've written for you in your home directory:
- Make the scripts executable:
- Enable MTP transfer on your Galaxy Nexus by entering into Settings-Device-Storage select Menu in the bottom right hand corner then "USB computer connection" make sure "Media device (MTP)" is selected.
- Connect the Galaxy Nexus to your computer: *USB Debugging must be disabled*
- With the mount and unmount scripts in your home directory execute the mount command by typing the following:
- Execute the unmount command by typing the following:
guide followed to the letter until the end but when I give the command
ReplyDelete. / mount-nexus.sh
nexux the partition appears on your desktop but if I double click it I get this message with the ban and says that the file type is unknown: (
Soluziuoni please: P
Sorry for my English but I am Italian and I do not know English so I tried to use google translate xD
@killJoy I'm pretty sure you have the Nexus set to connect as "Camera" (PTP) not "Media device" (MTP)
ReplyDeleteok man risolto grazie thanks
ReplyDeleteFollowed everything exactly, however, when I try to mount I get "command not found"
ReplyDelete@Zach Are the scripts in your home folder and are you trying to execute them from the home folder? Did you identify them as executables by "chmod +x"?
ReplyDeleteHi,
ReplyDeleteI'm under Ubuntu 11.10.
I was experiencing a huge speed issue when I used PTP. So, I've been looking for advices and found another site before yours explaining how to mount GN as an MTP device . Same speed problem. So I've found yours, followed each step thoroughly... but the speed problem was the same... I did it twice, but the result was still be the same (But no pb under XP on anorther computer... arrrgh !!! :) ) My usb slots work correctly : I used them all with my GN and usb keys.
Have you got any suggestion ?
Did everything you said till I got to:
ReplyDelete./mount-nexus.sh
However I got the following error:
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option
Not sure what exactly that means...and what is wrong.
Do you have any idea?
Hi everbody,
ReplyDeleteI've found kind of a solution that could be usefull to some of you... At least, for me it worked to fix my speed issues.
Here's the link :
http://www.humans-enabled.com/2011/12/how-to-fix-samsung-galaxy-nexus-mtp.html
May be a tuto mixing all this shall be made by someone (I might write one in french if I've got time enough) ;)
Hope it can help.
worked perfectly in Linux Mint 12 for me, thanks!
ReplyDeleteI'm having a big problem doing this in Mint 12.
ReplyDeleteWhen I enter this command:
sudo gedit /etc/udev/rules.d/99-android.rules
It opens a window where I can copy and paste as you instruct and then save the file, however I get this response in the terminal. As you can imagine, plugging my phone in and running the mount/unmount files does not work:
(gedit:12648): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel', but failed: Failed to create file '/root/.local/share/recently-used.xbel.WFJR7V': No such file or directory
(gedit:12648): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel', but failed: No such file or directory
(gedit:12648): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel', but failed: Failed to create file '/root/.local/share/recently-used.xbel.2MAV7V': No such file or directory
(gedit:12648): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel', but failed: No such file or directory
(gedit:12648): Gtk-WARNING **: Attempting to store changes into `/root/.local/share/recently-used.xbel', but failed: Failed to create file '/root/.local/share/recently-used.xbel.MM7I7V': No such file or directory
(gedit:12648): Gtk-WARNING **: Attempting to set the permissions of `/root/.local/share/recently-used.xbel', but failed: No such file or directory
Any ideas? I'm by no means a Linux expert yet but I followed your directions exactly with one exception. I had some of the MTP packages installed already, however, I removed them completely before trying your method. I'm hoping that you maybe have a little insight for me. It'd be nice to be able to mount this thing. Ugh, why did they have to use MTP?
Thanks in advance!
Hey Dmoralize, I got that same error, but mine still works and Im on Mint 12. Ive noticed it can take a minute or so to mount. So just run Lou's mount script and just wait a little while and see if it mounts. Like I said, mine takes about a minute to mount...
ReplyDeleteLou! thank you so much for you work...i need help. i followed your steps to the tee..i'm on ubuntu 11.10
ReplyDeleteCould not display "/media/Nexus".
Error: Error stating file '/media/Nexus': Transport endpoint is not connected
Please select another viewer and try again.
Hi,
ReplyDeleteI'm in the same point as andrewp3481. Did this got a solution?
Just gave this a try on my Verizon G-Nexus... After mounting, the connection is very, very slow. I don't get any notifications when connecting (I'm using Kubuntu BTW), but the 'Nexus' folder shows up in the Dolphin file manager, and several minutes later, the 'Playlist' folder shows up inside the 'Nexus' folder, but no other folders show up (possibly a permissions problem?). It won't allow me to create any new directories inside either 'Nexus' or 'Playlist', and it's not showing any files in either folder.
ReplyDeleteVery disappointing. I love the phone, and especially the pure Android experience, but this is not a viable solution if I can't get my files over to the phone. I've tried doing it on a Windows computer, but it didn't give me all of the files I asked it to copy over (?). I really don't know another phone I could change over to; I had so much trouble with my DroidX that I'm not going back to Moto anytime soon. Just have to wait, I guess. Thanks anyway Lou, I could see how this solution might work, but I don't think my phone is cooperating.
I'm running stable Debian squeeze. I've always seen "Don't mix stable with anything." Most of the mixed systems tutorials are for mixing testing and unstable. So without libmtp9 installing what are my real options....
ReplyDeleteI just tried to follow your instructions on Ubuntu 11.04 and hit a roadblock downloading the mount/unmount scripts it seems something terrible has happened to the server hosting them...
ReplyDeleteI am having the same problem as ServiceComputers, help! Btw, Lou you are amazing
ReplyDelete@Tara @ServiceComputers sorry guys Multiupload the site I was using to host the scripts as well as the MTP packages decided to shut down quite a bit of their content I'm assuming due to the Megaupload debacle. I will include the contents of the scripts below just copy and paste into gedit title them whatever you want but make shure ".sh" is at the end also make sure you make them executable by "chmod +x nameofyourscript.sh"
Deletemount-nexus.sh
#!/bin/sh
sudo mtpfs -o allow_other /media/Nexus
unmount-nexus.sh
#!/bin/sh
sudo umount /media/Nexus
Hope this helps!
This comment has been removed by the author.
DeleteHey Lou,
ReplyDeleteI tried using the steps you provided here, but I'm getting the following:
kimbo@kimbo-laptop ~/Downloads $ sudo dpkg -i libmtp9_1.1.1-1_amd64.deb
dpkg: error processing libmtp9_1.1.1-1_amd64.deb (--install):
cannot access archive: No such file or directory
Errors were encountered while processing:
libmtp9_1.1.1-1_amd64.deb
I looked and saw that I had the packaged installed (except for mtpfs, which I installed), and I tried going through the rest of the instructions as you had them laid out. The mount point was created and it looks like it was mounted, but when I try to open the Nexus folder it just spins its wheels. Help!
EDIT: Actually, it does appear that my laptop sees it (took a while), but the only folder that shows up is Playlists...
Are the MTP packages available anywhere else, since multiupload isn't responding?
ReplyDeleteDo you know how old a version of ubuntu this will work with? I'm running 10.04 on my netbook. We a machine with a more recent version, but it is usually booted to windows..
Thanks.
Hi does anybody knows were to get the ./mount-nexus.sh and ./unmount-nexus.sh scripts now? the posted links doesn't seem to be working now.
ReplyDeleteThanks
Cocha, on Feb 4th Lou posted the source to the scrips above, look up!!! I found that the sudo is not needed since your OS should reset the ownership and group of the /media/Nexus dir to whoever ran the script.
ReplyDeleteI just put this in my .bash_aliases file:
alias android-connect="mtpfs -o allow_other /media/Nexus"
alias android-disconnect="fusermount -u /media/Nexus"
However the real issue now is that libmtp-common_1.1.1-1_all.deb is no longer available anywhere, not even on Ubuntu sites. There is a newer version but it is guaranteed to break your install so don't try it.
I just found the libmtp-common_1.1.1-1_all.deb package. I have put them all on my server, see below. Just cd to the directory where you downloaded them and run:
ReplyDeletehttp://tetrasys-design.net/download/libmtp/
sudo dpkg -i libmtp9_1.1.1-1_amd64.deb libmtp-common_1.1.1-1_all.deb libmtp-runtime_1.1.1-1_amd64.deb mtp-tools_1.1.1-1_amd64.deb
This worked for me, now everything works and I can read and write to the Nexus. There are also the taralls in that directory which you will not need on Ubuntu.
This comment has been removed by the author.
ReplyDelete"Download and unzip the mount/unmount scripts I've written for you in your home directory:"
ReplyDeleteErrr..where from?
Hi Lou!
ReplyDeleteI'm kind of new linux user and I have a Galaxy S2, can you help me to enable MTP on this device to interact with Linux Mint 12?
Where is your script file?
ReplyDeleteHi Lou: Nice tutorial, I also just got and love the phone but I cannot find the script archive file to download from your blog. Thanks, Augie
ReplyDeleteHEY WENT THROUGH ALL THE STEPS LOOKS LIKE I WAS DOING GOOD I MADE GEDIT SCRIPTS FOR MOUNT AND UNMOUNT IN MY HOME DIRECTORY WHEN IT CAME TIME TO MOUNT MY GNEX I GOT THIS ERROR,
ReplyDelete./mount-nexus.sh: line 1: mount-nexus.sh: command not found
Listing raw device(s)
Device 0 (VID=04e8 and PID=685c) is a Samsung Galaxy Nexus/Galaxy S i9000/i9250, Android 4.0 updates.
Found 1 device(s):
Samsung: Galaxy Nexus/Galaxy S i9000/i9250, Android 4.0 updates (04e8:685c) @ bus 1, dev 9
Attempting to connect device
Android device detected, assigning default bug flags
DEBUGGING IS DISABLED PER YOUR REQUEST, PLEASE ASSIST