[Xoom Android Development] roberj13:
First, I didn't know if this should go in development or general since most of the people who are going to be on Ubuntu will be devs, but hopefully this will be useful for everyone.

Honeycomb changed a lot of things. Most of the changes are awesome (as we know) but some of them have made certain things frustrating. Honeycomb marked the move from USB Mass Storage to MTP (media transfer protocol). Although for Windows users it actually works pretty well, for Linux users it doesn't...at least at first.

If anyone has hooked up their Xoom to a Ubuntu box then they know at first nothing happens. There is no selection on the tab to "mount" USB Mass Storage because it is not supported (which I thought Honeycomb was supposed to support both so this may change) It's like the computer doesn't even recognize anything is plugged in.

So this was very frustrating but I have put together a solution. Previously I was using a GUI interface called gMTP to connect to the Xoom and transfer files. This was an ok solution and it worked but I would still rather just use it in Nautilus like every other drive I use. Ok so starting here I will just post the commands and then explain after so no code gets lost.

Start with installing a needed program for all of this to work

sudo apt-get install mtpfs

Next we will create the device rules, so Ubuntu recognizes it as a USB device.

sudo gedit /etc/udev/rules.d/51-android.rules

NOTE: Some of you may have already added the Vendor ID. If you don't this file will start off blank and then you need to add this next line. If it does not come up blank, then make sure you have a line with Vendor ID 22b8 and 18d1 (for bootloader which uses a different VendorId) and you are all set.

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"

You might need to start a new terminal for this change to take effect for adb and bootloader access.

make the mount point and take ownership:

sudo mkdir /media/xoom
sudo chown user:user /media/xoom

NOTE: "user" in the above code is literally your user name for your box.

ANOTHER NOTE: if you stopped here you could mount by typing mtpfs /media/xoom -o allow_other and unmount by typing fusermount -u /media/xoom...but that's no fun

add the mount point to your fstab:

sudo gedit /etc/fstab

In the first unused line available you might want to type a comment like:

# mount point for moto xoom

then add this line after it:

mtpfs /media/xoom fuse user,noauto,allow_other 0 0

Next modify fuse.conf to allow_other:

sudo gedit /etc/fuse.conf

uncomment the last line which should read:

#user_allow_other

uncomment this line by removing the '#' symbol.

add your user to the fuse group:

sudo gedit /etc/group

a long file will open, press CTRL+F to bring up the find dialog and type

fuse

close the dialog and fuse should be selected and visible.

At the end of that line with no space add your user name.

Save that file. Close it.

Lastly reboot your computer.

Now when your computer restarts, if you look at your "Places" menu you will see a Drive marked with 'xoom'

Plug in your xoom, and click on xoom in Places.

Nautilus should open with all your files that you have on your device. It will also place a mounted drive icon on your desktop. If you would like to unmount, right click on that icon and click unmount.

As you can see this was a pain for me, but hopefully this solution will work for everybody. I know the instructions are really long but follow it and you will feel old school mounting your storage in your file browser.

NOTE: THIS WAS TESTED ON UBUNTU 10.10 ONLY, IF THIS WORKS FOR ANYONE ELSE PLEASE POST YOUR FINDINGS.

Also, I am fairly new to Linux actually, so if there is an easier way to mount the storage in nautilus let me know. This works for me and I just want to help out so please no flames.