The update went smooth yesterday, but then I had an unknown icon on the small bar on top. I’ve recognized that they’ve renamed “4G” into “LTE” as well, but I couldn’t find out which new application was running.
Apparently they have switched the menu handling too, so on the upper right corner the full expansion must be tipped. Then disable NFC in order to save battery power.
My Galaxy S3 says “automatic backup failed” without any mention of its origin, nor a popup is opened when touched. While looking for a possible solution on the net, I’ve stumble over Google+ trying to sync all photos and media automatically using wifi access. I remember that I had that disabled in Picasa, and told Google not to sync photos from my mobile to my Google+ account, even with wifi access.
Well, Google+ uses a new setting, having that enabled by default – WTF? Kill it with fire.
Well, apparently this is valid for any OS – while hacking around the hard way, I decided to give AirDroid a chance, and yet, it was really satisfying.
This requires your device, your computer and an active wireless lan network connectivity between both. My workstation is attached via a client bridge to the wireless network here at home.
First of all, install AirDroid on your device and start it.
You’ll be prompted to connect to that url, putting the shown token.
On your computer, open the url and work with it – pretty awesome 🙂
Well, since I do not really get it, why the Android firmwares got the mass-storage usb functionality removed (OK, locking the device exclusively is not good, but hey, if I activate storage, I want just storage, right?) instead using Media Transfer Protocol (MTP), this kills usability on Linux not natively supporting this for now. Since I refuse to just boot another OS for using my Galaxy SIII or now even Nexus 7 in order to copy data to it, this needs to be done the hard way. You might figure that there are possible workarounds with ftp/ssh servers or AirDroid, but this would make USB useless, having a bit more speed advantage after all.
Using Debian Sid over here, should work on Wheezy as well. Note: The jmtpfs described here is broken, make fails on getgid() calls, probably some header includes are wrong, but I won’t debug that.
Note: Since libmtp will not identify the newer Nexus 7, we will need to install the latest libmtp ourselves (Debian sid still ships 1.1.3). Note: I will install to /usr/local/bin/ avoiding collision with existing package installs.
Second Note: You can install the latest tarball 1.1.5 release, as Nexus 7 support was added in the latest release. Newer devices like Nexus 4 are in git only so let’s just install latest HEAD. See e.g. this bug entry. Check src/music-players.h in your source tree (or git here) if your device is already supported.
$ apt-get install git-core build-essential
$ git clone git://git.code.sf.net/p/libmtp/code libmtp-code
$ cd libmtp-code
$ sh autogen.sh
$ ./configure --prefix=/usr/local
$ sudo make install
Important: Copy the udev rules first before proceeding! Otherwise your USB plugged device won’t be recognized as such.
$ sudo cp 69-libmtp.rules /etc/udev/rules.d/
Reboot. Otherwise udev won’t load the new ruleset for recognizing the device properly.
$ sudo apt-get install golang fuse git-core libmtp-dev libfuse-dev
$ sudo adduser $USER fuse
$ mkdir ~/tools/go-mtpfs
$ GOPATH=/home/dnsmichi/tools/go-mtpfs go get github.com/hanwen/go-mtpfs
$ sudo cp ~/tools/go-mtpfs/bin/go-mtpfs /usr/local/bin/
$ sudo chmod a+x /usr/local/bin/go-mtpfs
$ sudo mkdir /media/Nexus7
$ sudo chmod 777 /media/Nexus7
Important: Fuse does not allow to access file systems to others other than the user having mounted it by default. Re-enable that one with
$ sudo chmod a+r /etc/fuse.conf
$ sudo vim /etc/fuse.conf
# Allow non-root users to specify the allow_other or allow_root mount options.
If required, reboot once more.
Now, mount the filesystem.
$ go-mtpfs /media/Nexus7
2013/01/27 14:37:10 compiled against libmtp 1.1.5
Device 0 (VID=18d1 and PID=4e41) is a Google Inc (for Asus) Nexus 7 (MTP).
2013/01/27 14:37:10 found device Google Inc (for Asus): Nexus 7 (MTP) (18d1:4e41) @ bus 5, dev 2
Android device detected, assigning default bug flags
2013/01/27 14:37:10 storage ID 65537: Interner Speicher
2013/01/27 14:37:10 backing data /tmp/go-mtpfs338939414
2013/01/27 14:37:10 starting FUSE unknown
$ ls /media/Nexus7/Interner Speicher/
Alarms/ Android/ DCIM/ Download/ Movies/ Music/ Notifications/ Pictures/ Podcasts/ Ringtones/
Look, how beautiful 🙂
If you’re done and want to safely unmount, just call
$ umount /media/Nexus7
Anyhow, this method requires a lot of compiling, hacking and may not be upgrade safe after all. Likely, you prefer the easy way.
Press Poweroff and Volume Down for approx. 2 seconds.
On Android, you will likely want to login into your ssh shell (using screen irssi and so on). The original ConnectBot is nice, but does not allow you to use public ssh keys. So I am using VX ConnectBot for that task, being sort of a fork of the original iirc. Plus Hacker’s Keyboard, getting a feature rich keyboard replacement with cursor keys and so on (within its settings, make sure to select the keyboard mode portrait with “full-5-row input” in order to make this work with VX Connectbot).
Within VX Connectbot’s settings choose “Manage Pub Keys”, choose settings again with “Generate”, give it a name, add a passphrase (leave it blank, if you do not want to be asked everytime, insecure but well). Important – select to load the key at startup!
The newly generated key will be listed – now hold down your finger on it to open the options – choose “Export Public Key” and save it to the default (/storage/sdcard0/dnsmichi.pub).
In order to export your public ssh key to the host, this gets a bit tricky – if you do not want to fiddle with copy paste here. Workaround – send yourself an email with an attachment using Astro File Manager as selection source (make sure to have it installed).
Once received the file on your workstation, copy the new pubkey to your user.
# ssh-copy-id -i dnsmichi.pub email@example.com
Back on the Android – remember that you have chosen to load your key on startup – just connect again to your ssh host. Voila!