Mounting the Xoom in Linux (as well as adb) - Xoom General

The xoom can mount just fine on Linux but it is an MTP not a Mass Storage device.
Disclaimer: I am not responsible for any damage to your device, computer, relationship, etc.... The following is meant as a guideline and worked for me but as always use your head.
I did this on my Kubuntu Maverick laptop, but it should apply to most *buntus plus debian. Other flavors should be similar, post a request and I will help if I can. I am familiar with Suse and RHEL/Centos as well but beyond those it will be guess work.
The first thing I would recommend doing is making the device read/write to normal users.
Code:
sudo touch /etc/udev/rules.d/51-android.rules
echo "SUBSYSTEM==\"usb\", SYSFS{idVendor}==\"22b8\", MODE=\"0666\"" |sudo tee -a /etc/udev/rules.d/51-android.rules
sudo /etc/init.d/udev restart
NOTE: This also "fixes" adb so it is useable with the xoom as a normal user. If that is all you want you can stop here.
NOTE 2: You could also set an OWNER rather than changing MODE but I chose the most common route for this example/
Now install either mtp-tools or mtpfs for mounting using FUSE. Since I went the fuse route that is what I will conver here. (I installed the mtp-tools package but beyond using it to debug getting mtpfs to work I have never used it before.)
Assuming you already have fuse configured, for (k|x)ubuntu or debian :
Code:
sudo apt-get install mtpfs
If you do not have fuse already configured then do that first. Look it up online if you have any questions. If you get stuck I will try and help but this post is not about how to configure FUSE.
After that it is simple. Plugin your xoom and from the command line type:
Code:
mtpfs mountpoint
and to dismount it
Code:
fusermount -u mountpoint
so in my case I mount it in a subdirectory under home called xoom
Code:
mtpfs /home/janetpanic/xoom
fusermount -u /home/janetpanic/xoom
I have confirmed moving files to and from the actual directories but not from the meta "playlists" directory. I hope that helps...
EDIT: Fixed Typo... had "(idVendor)" instead of the correct "{idVendor}"

Thanks for sharing your workaround. Unfortunately, it's no joy here. After following the procedure described, the terminal returned no error, but on trying to open the Xoom directory via Nautilus, I received the following message:
Code:
Error: Error stating file '/home/sog/Xoom': Transport endpoint is not connected
Please select another viewer and try again.
Unmounting proceeds without error.
Distribution: Ubuntu Lucid x64

Did you connect your xoom before or after you mounted? The most likely problem is the undeveloped configuration .
Change the line in 51-android.rules to
Code:
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYMLINK+="libmtp-%k", MODE="0666"
[\code]
Restart udev and then do a "ls -lah /dev/libmtp*" with the device attached and list the output. I need to figure out if the problem is the udev rule or elsewhere.
If the ls does not show any files then send the result of "lsusb |grep Motorola" which better list a line or there is something weird going on.
Sent from my Xoom using XDA App

Updated 51-android.rules as directed, then:
[email protected]:~$ ls -lah /dev/libmtp*
lrwxrwxrwx 1 root root 15 2011-02-27 19:59 /dev/libmtp-1-4 -> bus/usb/001/004
[email protected]:~$ lsusb | grep Motorola
Bus 001 Device 004: ID 22b8:70a8 Motorola PCS

Wait, you aren't able to get the Xoom to mount as a mass storage device?
ed. The leaked Xoom manual suggests it support mass storage. Phew. You were scaring me there a bit.

as far as I know, it's been confirmed that the current stack does not support mass storage, only mtp.

sogrady said:
as far as I know, it's been confirmed that the current stack does not support mass storage, only mtp.
Click to expand...
Click to collapse
Which stack, Linux or Honeycomb's? Where is it confirmed?
Non-working mass storage is a potential deal breaker.

honeycomb's. see here or here for details.

Thanks for the links.
This is a real WTF.

Can someone try running this attached apk to see if it enables mass storage? (It just runs enable, it won't run disable, so I don't know what will happen, it might cause apps to crash but rebooting should fix it, standard disclaimers apply, you run this at your own risk, etc., etc., etc.)
I don't have a Xoom, otherwise I'd try this myself.
Relevant code snippet for those interested:
Code:
StorageManager s = (StorageManager)getSystemService(Context.STORAGE_SERVICE);
Class c = s.getClass();
Method m = null;
try
{
m = c.getMethod("enableUsbMassStorage", (Class[]) null);
m.invoke(s);
}
catch(Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
There may even be an easier way to achieve this -- I can't verify for myself because Honeycomb isn't in AOSP -- it doesn't work in the sim, but it might on a device: run adb shell, then run "am start -n com.android.systemui/.usb.UsbStorageActivity".

ydaraishy said:
Can someone try running this attached apk to see if it enables mass storage? (It just runs enable, it won't run disable, so I don't know what will happen, it might cause apps to crash but rebooting should fix it, standard disclaimers apply, you run this at your own risk, etc., etc., etc.)
I don't have a Xoom, otherwise I'd try this myself.
There may even be an easier way to achieve this -- I can't verify for myself because Honeycomb isn't in AOSP -- it doesn't work in the sim, but it might on a device: run adb shell, then run "am start -n com.android.systemui/.usb.UsbStorageActivity".
Click to expand...
Click to collapse
I ran the activity manager command and it brought up the usb mass storage screen but did not mount on computer. Also ran the apk but did not mount. Awesome job though. keep fighting the good fight

sogrady said:
Updated 51-android.rules as directed, then:
[email protected]:~$ ls -lah /dev/libmtp*
lrwxrwxrwx 1 root root 15 2011-02-27 19:59 /dev/libmtp-1-4 -> bus/usb/001/004
[email protected]:~$ lsusb | grep Motorola
Bus 001 Device 004: ID 22b8:70a8 Motorola PCS
Click to expand...
Click to collapse
Well that is interesting . You have read write privileges on the xoom. Sounds like it is a fuse configuration issue. Do you have any other fuse file systems you run?
Sent from my Xoom using XDA App

bigrushdog said:
I ran the activity manager command and it brought up the usb mass storage screen but did not mount on computer. Also ran the apk but did not mount. Awesome job though. keep fighting the good fight
Click to expand...
Click to collapse
Damn it. Looks like I actually need a device to get it working, and the AOSP drop. It's so moronic why they disabled mass storage.
Hmm. Can someone run, from adb shell, the output from "mount", and "ls /sys/devices/platform" for me?

Never mind. Mass storage has been defined out of the stingray (Xoom) kernel. It's not even in the default kernel.
To get mass storage support, be prepared to build your own kernel and reflash the device (once that's done, the am command above or the enabler app will work properly).

I've founded a working(ish) solution. This Xoom forum post details an approach that permits transfer of video/music/etc to the Xoom via Linux.
Couple of caveats:
1. The gnomad2 application is very unstable. Crashes frequently.
2. It appears to be write-only: I have not been able to delete files from the Xoom using this interface.

Thanks for the instructions to connect to a xoom tablet via Linux! However, I'm using Opensuse 11.3 and 11.4 on two different systems. I did install the mtp-tools with no issues, however, there is NO file by the name of mtpfs. A search on the net does not reveal it either. Where do I get this, or what package is it part of? Thanks again. If I can't get this tablet to connect to my linux box, I will have to take it back, since I do NOT use winbloze or Mac. Pretty short sited of Motorola IMHO.

Personally, I've given up on MTP + Linux Combo. I just use a straigt FTP transfer over wifi ( FTP Server on tablet ). It's about the same speeds.

any headway on this...
i am getting the: Transport endpoint is not connected error still and i have no real experience with FUSE so im stuck to using windows for any transferring.

stlsaint said:
i am getting the: Transport endpoint is not connected error still and i have no real experience with FUSE so im stuck to using windows for any transferring.
Click to expand...
Click to collapse
try following the directions in this thread:
http://forum.xda-developers.com/showthread.php?t=981774
They are basically a superset of what I posted. If you still have trouble after that post in either thread (this one or that one) and I will try and help as best I can.

followed the thread up unto the fstab part as i dont wan to edit my fstab without confirmation that it will work. But i get the exact same error with the endpoint text. I am trying this on Crunchbang linux which is based off debain the same way ubuntu is. I am probably going wrong with FUSE somehow but i have never messed with it so i dont know how to troubleshoot it.

Related

adb device not found ubuntu 10.10

I am fairly new to linux so I could be missing something simple but when I type adb devices i get a blank reply. It doesn't say "no devices" or anything, it just doesn't show anything. But if I run adbwireless from my phone, i can run adb connect ip adress :5555 and connect just fine. I have also noticed that the only time ubuntu will see my phone at all is if usb debugging is off. I'm not sure if those two are related or not. any suggestions?
4nic8 said:
I am fairly new to linux so I could be missing something simple but when I type adb devices i get a blank reply. It doesn't say "no devices" or anything, it just doesn't show anything. But if I run adbwireless from my phone, i can run adb connect ip adress :5555 and connect just fine. I have also noticed that the only time ubuntu will see my phone at all is if usb debugging is off. I'm not sure if those two are related or not. any suggestions?
Click to expand...
Click to collapse
WORKS FOR EPIC 4G!!!!!
This worked for my BH2 but it may need some tweaking on the rules file to make it work, but I will double check it when I get home.
After downloading the SDK, I moved the adb to the (in my pc is like this) ~/android/tools/ folder and ran the chmod a+rwx adb command.
After this, I took the rules file (attached) and I moved it to the /etc/udev/rules.d/ folder (logged as root). After doing this, I ran the following commands:
su [then placed the password]
chmod a+x 51-android.rules
chown root:root 51-android.rules
Once done, I restarted the PC and its working 100%, I ran the lsusb command to confirm the connection of the device and then a ./adb devices an I got positive return!
Note: Attachment updated!
Thank you for the suggestion. I ran the commands as you said, using the 51-android.rules that i already had and i still get a blank response when running
Adb devices.
However, since running those commands, its mounting my sd on the desktop with or without usb ebugging. So the commands you provided did fix something, just not adb!
Sent from my SPH-D700 using XDA App
4nic8 said:
Thank you for the suggestion. I ran the commands as you said, using the 51-android.rules that i already had and i still get a blank response when running
Adb devices.
However, since running those commands, its mounting my sd on the desktop with or without usb ebugging. So the commands you provided did fix something, just not adb!
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
I will tune the Rules file and test and let you know. Most of the time, when it doesn't work, its the rules file who has the problem.
4nic8 said:
Thank you for the suggestion. I ran the commands as you said, using the 51-android.rules that i already had and i still get a blank response when running
Adb devices.
However, since running those commands, its mounting my sd on the desktop with or without usb ebugging. So the commands you provided did fix something, just not adb!
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
FIXED!!!! download this file and it will work 100%!
Also, please follow my instructions above in the same order.
megabiteg said:
FIXED!!!! download this file and it will work 100%!
Also, please follow my instructions above in the same order.
Click to expand...
Click to collapse
thank you for the suggestion dude, but i think that actually took me back a step, now my sd wont mount anymore. i had a 51-android.rules file already and i deleted it. maybe i will just have to still with adbwireless =(
4nic8 said:
thank you for the suggestion dude, but i think that actually took me back a step, now my sd wont mount anymore. i had a 51-android.rules file already and i deleted it. maybe i will just have to still with adbwireless =(
Click to expand...
Click to collapse
mmmm..
I've tested this with several other friends that use Ubuntu 10.10 and it works fine for them. Are you following step by step on my OP?
Also are you on a desktop or laptop? Please note that while you have USB Debugging on the option to mount your SD card will not be prompted.
If your using a Desktop, please refrain of using front side USB ports. If you need additional help, let me know, I'll be glad to help you getting it working.
send me what the lsusb command dumps if you can, that can help me tweak the rules file for you.
Thanks! after some trial and error..the zip file in the first post worked for me!
FYI, you can just run this command instead of restarting your computer:
Code:
sudo udevadm control –reload-rules; sudo reload udev; adb kill-server; adb devices
Same problem
Hello, I have the same problem, adb don't detect my tablet. I do it from my laptop and this is the lsusb exit:
[email protected]:~$ lsusb
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 007: ID 18d1:0001 Google Inc.
Bus 001 Device 002: ID 174f:a311 Syntek 1.3MPixel Web Cam - Asus A3A, A6J, A6K, A6M, A6R, A6T, A6V, A7T, A7sv, A7U
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[email protected]:~$ adb devices
List of devices attached
[email protected]:~$
Click to expand...
Click to collapse
Is it possible that the integrated webcam generates the conflict? how can I disable it on Ubuntu 10.10?
Thanks
One thing I've noticed is that my phone will come right up (with debugging turned on) on certain usb ports but won't on others. Might be worth trying different USB ports just to see if it makes a difference.
Was this way on both my desktop and my netbook (both running Ubuntu 10.10).
Thanks flatspin, I have tried all my 4 usb ports without luck.
Solved, I forgot to put the tablet on adb mode at boot time.

Getting Nexus S to mount on Linux

I just recently installed Arch Linux with KDE as the GUI and I can't for the life of me figure out how to mount my Nexus S. It doesn't show up in /media so I don't know how on earth I can mount it. I've tried in CWM with mount USB and still nothing shows up anywhere on my system. Prior to Arch I was running OS X (10.7) and it was mounting fine. Obviously very different OS and Arch is a lot more complicated to use. I've spent several hours trying to figure out how to mount it but I can't find anything that solves it. Maybe anybody out there using linux could give me a hand?
Arch is best Good choice.
Easiest way is to mount it manually. First you'll have to find out which device it is. Plenty of ways to do this, using "fdisk -l" in terminal, gparted, etc. It will be something like "/dev/sdc1". Once you know this, you need to create a folder to mount it. Something like:
mkdir /media/nexus
Now, you need to mount it (after you've chosen to mount on the phone). To do this:
mount -t auto /dev/sdc1 /media/nexus
auto is the file system, you can type fat32 also but it can figure it out. Then the disk location, then where to mount.
You may need root permissions or changes to the sudoers file to do these. Type "man mount" or "man command" for just about every commands manual. I'm on the phone so I can't write up anything much better than that.
Also, the arch Linux wiki is an invaluable resource, make the most of it.
Harbb said:
Arch is best Good choice.
Easiest way is to mount it manually. First you'll have to find out which device it is. Plenty of ways to do this, using "fdisk -l" in terminal, gparted, etc. It will be something like "/dev/sdc1". Once you know this, you need to create a folder to mount it. Something like:
mkdir /media/nexus
Now, you need to mount it (after you've chosen to mount on the phone). To do this:
mount -t auto /dev/sdc1 /media/nexus
auto is the file system, you can type fat32 also but it can figure it out. Then the disk location, then where to mount.
You may need root permissions or changes to the sudoers file to do these. Type "man mount" or "man command" for just about every commands manual. I'm on the phone so I can't write up anything much better than that.
Also, the arch Linux wiki is an invaluable resource, make the most of it.
Click to expand...
Click to collapse
Thanks very much for your help. I'll work on this later tonight since I have a lot of school work I need to get done now. Oh yeah you say to mount the device on the computer after pressing mount on the phone but that dialog never actually shows up when I plug the phone in. The phone doesn't recognize it's being plugged into a computer it just shows that it's charging. The arch wiki is definitely a great place for all things arch. Best documentation for any operating system I think I've ever seen.
Try in recovery first if it doesn't show up in Android. If it still doesn't show up I'll try to break my arch and fix it, whether its in android or cwm.
tycruickshank said:
Thanks very much for your help. I'll work on this later tonight since I have a lot of school work I need to get done now. Oh yeah you say to mount the device on the computer after pressing mount on the phone but that dialog never actually shows up when I plug the phone in. The phone doesn't recognize it's being plugged into a computer it just shows that it's charging. The arch wiki is definitely a great place for all things arch. Best documentation for any operating system I think I've ever seen.
Click to expand...
Click to collapse
I've experienced this before as well. It turned out that I had a dodgy cable that's just not compatible with my NS for some reason.
If you want a pop on your KDE desktop when you enable UMS mode on your phone, make sure you udev is added to the daemon list in /etc/rc.conf. Then, you can either reboot or do /etc/rc.d/udev start and restart KDE again.
I've tried everything that you guys have said and still no luck. Its not showing up anywhere. Not in fdisk -l, I tried lsusb, looked in /dev/disk and it wasn't there. Nothing was pointing to a device being connected. I checked the everything.log file as well. Last photo is the everything.log and of course these were all taken with my phone connected to my computer. I tried multiple different USB cables too.
Sent from my Nexus S using Tapatalk 2
Just curious, with the phone on, and screen unlocked, what do you get with:
adb devices
?
Sorry but try to check it with other OS to be sure that your USB host is good .
Sent from my Nexus S
Unplug the USB. Then plug it back in then immediately run lsusb. If you dont see the device should be /dev/sdb1 should be the device according to your current fstab.
If it does not show in /dev/ or lsusb you have a bad cable.
Sent from my Nexus S 4G using xda premium
Well this morning it decided to work. I had turned my computer off last night and I tried it this morning with the same cable and it decided to work. I hope it's not going to be intermittent but seems to be working for now. Thanks everybody for all the help!

MTP on Ubuntu/Mint/Debian

With many devices not supporting mass storage anymore Android seemed to have moved from mass storage to PTP and MTP
With Windows supporting MTP by default and Mac OSX with an application there isn't any native support in Linux.
There are a few work arounds like gMTP but that didn't really work for me.
There also is another work around that requires you to edit some files.
To make it easier for others I wrote a little bash script, that does most for you.
Step 1 : sudo apt-get install mtp-tools mtpfs
Step 2 : Plugin your device
Step 3 : Open up a terminal
Step 4 : Type in : “mtp-detect”
Step 5 : Write the PID and VID down, you will need this later
Step 6 : disconnect your device
Step 7 : Download the script and execute it by sudo ./mtp (don't forget to make it an executable first)
Step 8: Follow the instructions on screen and after it's done reboot and plugin your device
Step 9: Use the command "android-connect" to mount your device and "android-disconnect" to dismount
It's not much, but I hope it helped someone.
Please let me know if it worked for your device/distro.
Original post
Tested and working on the P3110 and P5110.
EDIT 1:
(First) time mount can take up to 1-2 minutes, have had where it would mount in a few seconds, others half a minute. Be patient.
mussieonlinux said:
With many devices not supporting mass storage anymore Android seemed to have moved from mass storage to PTP and MTP
Tested and working on the P3110 and P5110.
Click to expand...
Click to collapse
Thanks for this. I think I have tried all this before and it has not worked, but will try again. A few things come to mind though. First, I think you have to turn USB debugging off, right? There is another thread where several of us are able to see the tablet, but not really get any files. Also there is a way to get the tablet to share PTP or MTP and that changes things too (PTP lets me see the top level but no subdirectories).
Will report back if this works or not.
I think USB debugging has to be on, at least for my phone. Mine is always on on all my devices.
Yeah you can see it in the file manager (1 for each SD card) with MTP but you can't access the files.
I am not sure about the PTP.. However for the MTP I just made a new folder in on my other SD card named extSD since MTP shows all directories of both sdcards in one directory.
mussieonlinux said:
I think USB debugging has to be on, at least for my phone. Mine is always on on all my devices.
Yeah you can see it in the file manager (1 for each SD card) with MTP but you can't access the files.
I am not sure about the PTP.. However for the MTP I just made a new folder in on my other SD card named extSD since MTP shows all directories of both sdcards in one directory.
Click to expand...
Click to collapse
Nope doesn't work with or without USB debug. I think the issue may be due to some problem with mtp-tools on 64 bit Linux. Are you running 32?
The mtpfs mounts but any attempt to list the mounted directory just hangs.
I am using 64bit, did you do the reboot and android-connect? If you are using nautilus you wont see your device under "Devices". You will see it above your filesystem.
Can you tell me what isn't working?
mussieonlinux said:
I am using 64bit, did you do the reboot and android-connect? If you are using nautilus you wont see your device under "Devices". You will see it above your filesystem.
Can you tell me what isn't working?
Click to expand...
Click to collapse
Well I'm using Kubuntu so no Nautilus. And I'm just looking at the mount point. My udev rules already have an entry for the mtd device. I also grabbed the latest libmtd and built it from source.
The fuse mount seems to work but any ls on the mount point just hangs forever.
Very strange.
At times like this I miss ubuntu
On my Arch (+XFCE), I use gMTP (uses mtpfs ofcourse). Most of the times it works, and then there are times when it is a pain in the a##. Gets stuck, does not respond, fails to copy what not.
I find the only reliable way is using adb.
Gosh! I push and pull everytime! :silly:
yeah, after a couple of days I found it not very stable at all, so I too switched over to ADB, it's not the fastest method. But we gotta get around, don't we?
I am also waiting for a permanent fix... Just switched back to Ubuntu from Windows 8 Preview, and I love it!!!
The only issue I have at the moment is the fact that I cannot connect directly to the PC from the Tab, although transfer speeds are better by removing the memory card and inserting it into the computer directly. Would be nice to use Rhythmbox to manage my MP3s.
I've tried a few solutions and nothing seems to work fully. I'll give the ideas mentioned above a try.
I have found my peace finally with qtADB.
By far the fastest, and most efficient app for this job.
qtadb[dot]wordpress[dot]com
Worked on my Galaxy S2 (i9100G) with cm10 nightly TY!
Worked only once! i get this...
Hello, this worked greatly on my ubuntu machine. Would this work on an ArchLinux headless PC? I'm willing to try it out if this doesn't mess anything up.
I can confirm this does not work on virtual box not sure on vmware as i dont have it so idk.
[email protected]:~$ android-connect
fuse: bad mount point `/media/GT-P3100': Transport endpoint is not connected
[email protected]:~$
As you can see above, i tried this for P3100. Can someone tell me what am i doing wrong here? I really want to handle my device from Ubuntu 12.04.
hi there,
in newer kernel - at this thime for example debain testing jessie - is kio-mtp implemented. this compinent load your nexus 4 mtp device autmotically like in windows. can access device via filemenager without doing steps in console before. in long time support distribution - example debian stable wheezy - this is not implemented yet. you can compile own your own to get this working
kio-mtp is for kde
gnome-vfs with mtp is for gnome
Works on Kali Linux with 3.14 kernel - HTC One with 4.4.3. Thanks a lot

MTP, Mass Storage, Linux

So I have my Nexus 7. It ran fine when I was under Windows. Now that I'm back to running linux again (Arch Linux) the mass storage isn't working anymore. After a bit of reading around it's apparently because it using the MTP protocol which is a Microsoft based protocol. I understand that there are hacky libraries that I can install that may or may not make it work properly, but that's not what I want. I just want to be able to go back into mass storage mode like it used to be. I don't want to have to deal with some janky proprietary protocol when it isn't necessary. Is there any way to get back mass storage mode like the way it used to be, or are people over android 3.0 just S.O.L? Is there an option is CyanogenMod or is it something they may be working on at some point? The open standards, flexibility and freedom was the entire reason I chose to use android over ios in the first place.. this is really unfortunate.
Not trying to come off as an entitled twat, but this is really frusterating :/
I've never get it to work in Linux. I've tried updating MTP to the latest subversion/cvs and just couldn't get it to do anything.
I have to use adb to transfer anything!
On Ubuntu, I've managed to get it working with mtpfs and gMTP. Not sure how useful that is for Arch though...
rowanparker said:
I've never get it to work in Linux. I've tried updating MTP to the latest subversion/cvs and just couldn't get it to do anything.
I have to use adb to transfer anything!
Click to expand...
Click to collapse
This is what I do as well.
There are ways to get it working but they (for me) were a pain and for some reason yielded super slow transfers.
Sent from my Nexus 7 using Tapatalk 2
HawkiesZA said:
On Ubuntu, I've managed to get it working with mtpfs and gMTP. Not sure how useful that is for Arch though...
Click to expand...
Click to collapse
I use mtpfs and it works, ish.
The bigger the file, the longer it sits there after I use cp, and then after a bit [maybe 10 secs for 350MB file, much longer for bigger files], it will say something about preserving timestamps not being implemented, and it looks like it finished copying. But it has only just started. So I use du to see how big the file is, and for me I get around 14MB/s once it has started transferring. Not too shabby, but the overhead is ridiculous. I want mass storage mode too!
Hi!
I've made a little solution for mounting Nexus 7 to Linux pc.
Using mtpfs was laggy, don't know why, so I used similar tool, called go-mtpfs for that (project link) with some changes (see here).
Just untar attached archive, and run install.sh.
It uses udev to automatically mount and unmount device on plugging/unplugging. (no non-root unmounting though)
Checked on Ubuntu 12.04, but must work with others versions and distros, i guess.
thanks to everyone for your comments and responses. the way everyone is talking it seems really grim... are we really just stuck with trying to make mtp work? there's no way to have it go back into mass storage mode?
i even tried to mount my sd card in cwm and that didn't even work. later on i'm going to try installing twrp to see if that'll allow me to mount my drive properly.
well, neither cwm nor twrp allow me to mount the sdcard. i did a lot of scouring around and i think I may have found why it won't work in recovery either.
It's true that Galaxy Nexus doesn't support UMC because the sdcard is a subfolder of the data partition instead of independent, like in the Galaxy S2. But I was talking about OTG, it is mounting an usb pendrive to save cwm backups there.
Click to expand...
Click to collapse
http://forum.xda-developers.com/archive/index.php/t-1500008.html
i know this is a different device, but i don't see why it would be any different. i'm gunna start mixing and matching kernels with recoveries to see if i can make that work. and if i truly and honestly can't get it working in mass storage mode i'll just stick with adb push.
vpupkin said:
Hi!
I've made a little solution for mounting Nexus 7 to Linux pc.
Using mtpfs was laggy, don't know why, so I used similar tool, called go-mtpfs for that (project link) with some changes (see here).
Just untar attached archive, and run install.sh.
It uses udev to automatically mount and unmount device on plugging/unplugging. (no non-root unmounting though)
Checked on Ubuntu 12.04, but must work with others versions and distros, i guess.
Click to expand...
Click to collapse
Forgot to mention that you have to restart udev
I am finding it's just less hassle to use Airdroid.
gMTP is the only acceptable method I have found in linux but it seems to hang a lot for me.
I found gMTP to be very slow, appearing to hang at times. So I set up Samba and use ES File Explorer on the tablet to access my shared mount points. It's possibly not as fast as AirDroid but is an easy solution, though it means controlling everything from the Nexus 7.
--
Sent from my Nexus 7 using Tapatalk 2
I simply use adb. I was recently turned onto QtADB which is adb with a gui and some other cool features. I would highly recommended it.
I haz no sig
I use gMTP on ubuntu. I really don't have any complaints about it. It does act like it's hanging at times but I've always found it to recover just fine without any additional issues. It's not wicked fast but it does what I need. I often utilize samba and airdroid for specific uses but sometimes I find gMTP to be an easy wired based solution.
mentose457 said:
I simply use adb. I was recently turned onto QtADB which is adb with a gui and some other cool features. I would highly recommended it.
I haz no sig
Click to expand...
Click to collapse
+1000 for you. That solved all my problems working with my files and my android devices.
adb worked perfectly for me! Download the android SDK and then under platform-tools directory,
./adb push <local> <remote>
fgoyti said:
adb worked perfectly for me! Download the android SDK and then under platform-tools directory,
./adb push <local> <remote>
Click to expand...
Click to collapse
Yes but how fast (slow) does it transfer? 1MB/s?
Sent from my SCH-I500 using xda app-developers app
I transferred 500MB in 1-2 minutes. Sorry, didn't record anything more specific but even at 2 min, that works out to 4MB/s which ain't bad
As many have suggested, just read up on adb and use that. If you need to get something off the N7 and dont quite remember were it went to.. adb shell and cd to the sdcard and ls the dir. It'll print everything cd in to the next folder you think it may be in ls.. it'll show the contents. If you dont like having to put things into the android-sdk-linux/platform-tools and then having to cd into that dir everytime. Just add the platform-tools to your PATH and you can issue commands through any directory. It is very unfortunate that MTP leaves us Linux users in the dark.
Also, if you have a rooted kernel such as Siyah for the Galaxy S2, it lets you force mass storage mode. I haven't tested this but it looks like it should work for linux
ÜBER™ said:
As many have suggested, just read up on adb and use that. If you need to get something off the N7 and dont quite remember were it went to.. adb shell and cd to the sdcard and ls the dir. It'll print everything cd in to the next folder you think it may be in ls.. it'll show the contents. If you dont like having to put things into the android-sdk-linux/platform-tools and then having to cd into that dir everytime. Just add the platform-tools to your PATH and you can issue commands through any directory. It is very unfortunate that MTP leaves us Linux users in the dark.
Click to expand...
Click to collapse
Well, with some little configuration, it's not a big thing to configure MTP or even automount-MTP on Linux systems. A small introduction you can find in my blog http://anddisa.blogspot.de
Sent from my Nexus 7 using xda app-developers app

[NST/G] USB debugging issue

What fun! Windows 10 and the NST
I find that I cannot negotiate ADB access via USB any longer. I don't know when that started, but it looks like maybe sometime in June. These events are displayed in the Device Manager when accessing "Portable Devices":
Driver Management has concluded the process to add Service WUDFWpdFs for Device Instance ID SWD\WPDBUSENUM\_??_USBSTOR#DISK&VEN_B&N&PROD_NOOK_SIMPLETOUCH&REV_0100#7&22272E47&0&3012440020143004&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B} with the following status: 0.
Device SWD\WPDBUSENUM\_??_USBSTOR#Disk&Ven_B&N&Prod_NOOK_SimpleTouch&Rev_0100#7&22272e47&0&3012440020143004&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} was not migrated due to partial or ambiguous match.
Last Device Instance Id: SWD\WPDBUSENUM\_??_USBSTOR#Disk&Ven_B&N&Prod_NOOK_SimpleTouch&Rev_0100#3014760074133009&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
Class Guid: {eec5ad98-8080-425f-922a-dabf3de3f69a}
Location Path:
Migration Rank: 0xF000FFFF0000F102
Present: false
Status: 0xC0000719
Device SWD\WPDBUSENUM\_??_USBSTOR#Disk&Ven_B&N&Prod_NOOK_SimpleTouch&Rev_0100#7&22272e47&0&3012440020143004&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} requires further installation.
It's not beyond belief that the spate of major updates to Windows 10 recently trashed my ability to access the device via ADB/USB. The question is: how to fix it?
On the NST I have the following:
service.adb.tcp.port -1
persist.adb.tcp.port 0
All that stuff indicates that the NST is presenting as UMS.
Have you used UsbView.exe to see what interfaces are being presented?
Have you looked at sys.usb.config, sys.usb.config?
That stuff with adb.tcp is only for ADB over TCP (WiFi).
Renate said:
Have you used UsbView.exe to see what interfaces are being presented?
Click to expand...
Click to collapse
Mmm....is that in your signature (NOT)?
Renate said:
Have you looked at sys.usb.config, sys.usb.config?
Click to expand...
Click to collapse
And this is where?
I should have added that none of my three NST/G devices is connecting properly now (other than as USB file transfer devices) whereas all were formerly able to negotiate USB debugging and ADB.
UsbView.exe is the venerable Microsoft utility, to be found here: https://ftdichip.com/wp-content/uploads/2020/07/usbview.zip
You can also look in Windows Device Manager (devmgmt.msc), especially in "View > Devices by Connection"
Either OmapLink.exe or ImxLink.exe (in sig) will show you if ADB is showing (err, conditional upon the driver being loaded?)
Renate said:
UsbView.exe is the venerable Microsoft utility, to be found here: https://ftdichip.com/wp-content/uploads/2020/07/usbview.zip
You can also look in Windows Device Manager (devmgmt.msc), especially in "View > Devices by Connection"
Either OmapLink.exe or ImxLink.exe (in sig) will show you if ADB is showing (err, conditional upon the driver being loaded?)
Click to expand...
Click to collapse
This is the result from omaplink (green dot for ADB, black for UMS):
Code:
Waiting for bootloader or Fastboot or ADB...
ADB version: 01000000, payload: 4096, type: device
uid=0(root) gid=0(root)
In DeviceManager/Devices by Connection, the Nook shows up as a USB composite device.
And I've attached a screencap from usbview.
Well, OmapLink/ImxLink found your rooted device.
You do have only one Android plugged in?
What part of ADB is not working?
What version adb.exe are you using?
If the version is stone age it goes by VID/PID and it doesn't know about B&N.
Code:
C:\>adb version
Android Debug Bridge version 1.0.41
C:\>adb devices
12345678
Version is not that critical, but should at least be in the high 30's.
(For UsbView you want to click on the device so that you see interesting things in the right panel. But we're past that step.)
Wait, are you talking about UMS not working, not ADB?
Oh, don't tell me that you use UMS?
The NST presents two drives but there may not be anything mounted.
Run Disk Manager (diskmgmt.msc) and see if there are drive letters but nothing inside them.
Renate said:
UsbView.exe is the venerable Microsoft utility, to be found here: https://ftdichip.com/wp-content/uploads/2020/07/usbview.zip
You can also look in Windows Device Manager (devmgmt.msc), especially in "View > Devices by Connection"
Either OmapLink.exe or ImxLink.exe (in sig) will show you if ADB is showing (err, conditional upon the driver being loaded?)
Click to expand...
Click to collapse
This is the result from omaplink (green dot for ADB, black for UMS):
Code:
Waiting for bootloader or Fastboot or ADB...
ADB version: 01000000, payload: 4096, type: device
uid=0(root) gid=0(root)
In DeviceManager/Devices by Connection, the Nook shows up as a USB composite device.
And I've attached a screencap from usbview.
Renate said:
Wait, are you talking about UMS not working, not ADB?
Oh, don't tell me that you use UMS?
The NST presents two drives but there may not be anything mounted.
Run Disk Manager (diskmgmt.msc) and see if there are drive letters but nothing inside them.
Click to expand...
Click to collapse
Unless I am transferring a library book with ADE I like to keep UMS turned off since it locks you out of interacting with the screen while debugging...which now isn't happening for some unknown reason.
I try to do most file transfers wirelessly to save wear and tear on the USB jack.
So, yes, I am talking about ADB. "Device not found" is all I get now. I'll check on the version later today but I don't see why a version which was working just fine before should suddenly stop. Unless its Windows' fault.
nmyshkin said:
"Device not found" is all I get now.
Click to expand...
Click to collapse
Ah, ok.
It's definitely a problem with your adb.exe
OmapLink/ImxLink can find your device, connect and even do shell commands (id).
Those programs, unlike AdbSync, do not go through the ADB port 5037 of adb.exe like a normal ADB client does.
If you actually have adb.exe connected OmapLink/ImxLink won't be able to connect to the already connected device.
So this all means tht your WIndows drivers are fine.
You might have had a few copies of adb.exe and one of them got deleted or the PATH changed or a backup restored the wrong one or...
Also, there was that old C:\Users\Person\.android\usb_adb.ini file which was used by old versions of adb.exe
But you don't want/need that anymore, so forget that I mentioned it!
Renate said:
Ah, ok.
It's definitely a problem with your adb.exe
OmapLink/ImxLink can find your device, connect and even do shell commands (id).
Those programs, unlike AdbSync, do not go through the ADB port 5037 of adb.exe like a normal ADB client does.
If you actually have adb.exe connected OmapLink/ImxLink won't be able to connect to the already connected device.
So this all means tht your WIndows drivers are fine.
You might have had a few copies of adb.exe and one of them got deleted or the PATH changed or a backup restored the wrong one or...
Also, there was that old C:\Users\Person\.android\usb_adb.ini file which was used by old versions of adb.exe
But you don't want/need that anymore, so forget that I mentioned it!
Click to expand...
Click to collapse
ADB version is 1.0.31 (Minimal ADB and Fastboot)
Just to see, I connected up my regular non-Nook tablet and ADB saw the device right away. So the issue is definitely with the NST or the interface of the NST with Windows.
I actually do have that usb_adb.ini file, but again, why work with everything else and "suddenly" stop working with the NST?
When UMS is turned off, I do see the two "empty" drives (internal and sdcard) in Windows when I connect via USB.
Marshmallow came out in October 2, 2015.
That had ADB version 1.0.32
That was the first public release that eliminated vendor white-listing that was changed in November 21, 2014.
I could tell you how to fix the adb_usb.ini, but you really should just update a half decade or so.
Renate said:
Marshmallow came out in October 2, 2015.
That had ADB version 1.0.32
That was the first public release that eliminated vendor white-listing that was changed in November 21, 2014.
I could tell you how to fix the adb_usb.ini, but you really should just update a half decade or so.
Click to expand...
Click to collapse
Huh.
So I updated Minimal ADB and Fastboot to v.1.43 which is ADB version 1.0.39. And it worked right away. I still don't see why the previous version just stopped working with the NST. Like so much else in life, it makes no sense.
Anyway now I have another issue, for this version came with a genuine Windows installer and my previous version was a "dump into the folder of your choice and set up the paths". I'm wondering if it's safe to just delete that entire folder now (probably have to clean up the path statement too...). Ugh.
Once upon a time, adb.exe and fastboot.exe were completely standalone.
Now they require AdbWinApi.dll, AdbWinUsbApi.dll
They also require:
Code:
api-ms-win-crt-private-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-filesystem-l1-1-0.dll
api-ms-win-crt-time-l1-1-0.dll
api-ms-win-crt-utility-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-multibyte-l1-1-0.dll
But these should already be found in the Windows "downlevel" directories.
There's no need to be adding to PATH for every little thing.
If you are invoking adb/fastboot from the command line, you might consider using doskey:
Regedit HKCU\Software\Microsoft\Command Processor AutoRun=\wherever\my-autorun.bat
Code:
doskey /macrofile=\wherever\my-aliases.txt
Code:
adb=C:\some-sort-of-path\adb.exe $*
fastboot=C:\some-sort-of-path\fastboot.exe $*
Edit: I forgot the arguments ($*).
If you are invoking adb/fastboot from a bat or makefile just put the full path in some define.

Categories

Resources