Android Tablet Blog

Well, not really a blog - I'm updating this as I find things rather than just appending to the bottom...

14 April 2014
With some $100-odd rebate from Best Buy for surrendering an old laptop with XP, I thought I'd try an Android device. Coincidentally, Best Buy are selling a Lenovo A1000L for about $100. I spend about 10 minutes asking a sales associate about things like Bluetooth support, keyboards, SD card capability etc. then say I'll take the Lenovo. When I get it home I can't find the Bluetooth settings. After downloading the manual, it seems there isn't one. So, back to the store it goes. The in-store specifications are pitiful - a couple of lines about CPU speed on a flip book, nothing about 802.11 standards or Bluetooth or USB or GPS

Next, try an Asus ME173X. That's a bit more money, but I'm assured it has Bluetooth, and it has a reasonable back-facing camera as well as the little front one. Get that home, set it up on Wifi. The keyboard sucks, or maybe I just have man-sized fingers. I can't type anything without making dozens of typos, and the autospell keeps "correcting" my name even when I've carefully typed it properly. Everything seems to want a Google account. I'm not going to use my real Google account for testing, so I try and make a new one. That's impossible, because of the keyboard, so I try on my computer. All the easy usernames are taken, like "qazwsxdc" and "okmijnuhb" as well as "qwerty" , but eventually I get one, then log in with the tablet.

Wht the heck are all these preinstalled apps ? Chrome I know, but there's just a screen full of icons with no indication what they do. Half of them say they want a Google account to work, or online access of some kind. Seems if you hit "terms and conditions" or "privacy" you'll be taken to a website where you can backtrack and find out what the thing is without signing up.

Next, try Bluetooth. Yes, it works. Mostly. No problem pairing with my Nokia N810 tablet. No problem pairing with my Garmin GLO GPS. My Ubiquio folding keyboard was always a bit tricky, but I manage to get it paired. However, it won't work (it works with my N810). Can't pair with my E71 phone at all - neither sees the other. The E71 works with the N810 and the GLO OK.

15 April 2014
Try Google Maps (preinstalled). Seems to show my location OK. Try to download Viewranger (which I have on my phone). Seems I have to get the Google account set up and use it with the Play Store app before I can install things from the Play Store site with the browser. Set up the GLO and Viewranger, go for a walk. Still showing my location at home. Looks like the GPS is not actually working. Maybe it has my home location from Google mapping my home access point with the StreetView car.

Go looking for an SSH server (which I have on the N810). Lots of choice - too much, one might think. Most want the phone to be rooted. Try SSH Server by Ice Cold Apps, which doesn't need a rooted phone. So it won't run on the standard privileged port 22. OK. It works - but it doesn't seem to need a username or password or key, either. What the heck? I guess running unrooted it can't access the normal .ssh directory or authentication mechanisms, so its "security" is by using an obscure port and optionally mapping MAC addresses. Not quite what I was hoping for, but it does work. Mostly - it seems to die after a while.

Look for rooting methods, find motochopper and instructions for USB developer mode. Don't try rooting yet, but unzip motochopper and find adb.linux. That works to get a shell over USB. More reliable than the Ice Cold SSH connection. Hmm, the shell's weird - not even BusyBox, let alone a proper Linux OS. The home directory seems to be /data which isn't readable. Still, lots of commands like ls and grep and ps. No vi or more or less or gedit. No scp or telnet or nc. But scp works with the Ice Cold ssh server, so I can copy files off if I can find them.

16 April 2014
Try Viewranger again. It seems to have recorded a track without the GLO running. Hmm, maybe the ME173X does have an internal GPS chip after all. Yes, looks like it does. The GLO doesn't seem to be used - I can't get it to connect, the blue light on the GLO keeps flashing instead of being steady when it's got a good connection. Maybe Bluetooth GPS won't work - pity, because the GLO is better than the builtin chip. Can't find a satellite status display anywhere, in Viewranger or settings or Google Maps, unlike Maemo Mapper on the N810 or for that matter the builtin location app on the E71.

Try the tablet with a Logitech DeNovo Bluetooth mouse. That pairs straightaway, and works. Try with the DeNovo keyboard. Finds the keyboard, won't pair. Try several times, get error message about PIN. Finally, a popup to type a code on the keyboard. Try that, still no luck. Keep trying, another popup with a new pin. Eventually it works, and is paired properly. And works - letters typed on the keyboard show up in the browser. Pity the DeNovo isn't actually mine - I think it cost rather more than the tablet some years ago.

Try watching SonicFoundry mediasite presentations - on-demand seems to work OK in Chrome and the "browser". Usually needs HTML5 with support for MPEG4 and an H.264 codec.

Pick up a capacitative-touch stylus for $2 from the dollar store - excellent, now maybe I can actually type on the keyboard. Try the paint program - OK.

Garmin GLO
GLO manual says "When using the GLO GPS/GLONASS sensor with an Android device, you may need to use an application to allow the sensor to properly communicate with the Android system over Bluetooth technology. The application will allow the Android system to accept non-system (or mock) GPS/GLONASS signals."
Setting for Mock GPS is in the developer settings - have to tap "start" 7 times or something to get this menu to appear. See this post. Find an app "Bluetooth GPS Provider". This seems to work moderately reliably once it's working. One site says it may be necessary to reboot the tablet. I've lost track of all that I did to get it working. See e.g. Using Bluetooth GPS with Android on L-36.com.

SSH Server
Find SSH SFTP Daemon. Docs say "Device MUST be rooted AND have BOTH the SuperUser AND BusyBox apps". OK, my N810 has busybox (Linux multi-app for small devices that has shell, ls, ps etc. etc. rolled into one binary). So try the rooter from Motochopper. Framaroot I think. That works. Install SuperUser, BusyBox and the SSH daemon. That's a bit weird. It supports SSH and SFTP but not SCP. It doesn't seem to care what username is used, just accepts the one-and-only password from the config file, and puts up a shell prompt. "cd" says the home directory is not writable. Have some trouble setting up ssh key access. After contacting the developer and playing around some more, it seems to be a file permissions problem. I'd created a folder /sdcard/.ssh with keys in, but I think that's a VFAT volume or something similar so I can't set the correct modes 700/600 on directory and files. When I create .ssh in /data (initially read-only but "mount -o remount,rw /data" seems to work), then it's OK and I can create an authorized_hosts file and login with a key. sshsftpDaemon is based on dropbear, which has some manpages in the tarball. There's some other binaries in /data/dropbear, so try:

# mount -o rw,remount /system   
# ln -s /data/dropbear/ssh /system/xbin/ssh   
# ln -s /data/dropbear/scp /system/xbin/scp     
# mount -o ro,remount /system  
and I can ssh out from the command line. scp won't work, though.

Tethering

Unlike the N810, the Asus won't tether to my E71 phone. Something else that needs an app. Try various free apps from searching for "bluetooth tethering". Nothing works. Search some more. Find e.g. BlueDUN / BlueVPN, and BlueVPN+. That's not free, but the developer says it should work and he'll give me a refund if it doesn't. Only $3, but I have to register a credit card with Google Play Store. AMEX doesn't work for some reason, so try VISA.
OK, that works nicely. Sets up a VPN on tun0 through the phone. Requires various cell settings which I copy from my N810 e.g. set "internet.com" as the gateway. Browser works, SSH works, Viewranger downloads work. Google Maps does not for some reason. Ask he developer, he says that some apps ask the system whether there's an internet connection, and tunnels do not count. Weird. Send Google some negative feedback.

Movies
Try copying some videos from my desktop. There are about 4 apps that will play video, but they seem to all have the same capability.
FiletypeContainer/Video codec/Audio codecResult
MP4mov/mpeg4/aacOK
webmmatroska/vp8/vorbisOK
AVIavi/mpeg4/mp3Audio only
MP4mov/h264/aacOK
MPEGmpeg/mpeg2video/mp2Audio only
WMVasf/wmv3/wmaproNo
ASFasf/msmpeg4v3/mp3No
AVIavi/msvideo1/-No
AVIavi/mpeg4/mp3Audio only
FLVflv/flv1/mp3Audio only
FLVflv/h264/aacOK

Miracast
Order an "ASUS Miracast/Widi Wireless Display Dongle" from Office Maverick on Amazon. Lots of trouble trying to find specifications - search fails on www.asus.com, and the top hits on Google are all where to buy one not a description. Finally find a specification on the UK Asus site at ASUS Miracast dongle.
When the device arrives (apparently it will be a bilingual Canadian version BEX070 instead of the advertised English verison BEX000), the skimpy manual has a link to www.asus.com/Tablet_Mobile_Accessories with, amazingly, some specifications and a list of other accessories including keyboards.
Miracast is activated under Settings/Display. It does not seem to require any PIN code, unlike Windows Surface. There are no display controls that I can find - on some monitors, the display is perfect. On others, the display is cropped around the edge and soem text is lost, and there is no control to fix it. On a Dell 5100MP projector, the disply seems OK on a plaintext app, but with graphics there are artefacts across the picture.
Google movie player (paid-for service) has a teaser for Shaun the Sheep. That does not seem to work via Miracast - the monitor is blank - although playing MP4 movies works OK. Probably some HDCP/DRM/obfuscation nonsense - the downloaded movie is not a simple file. Makes the idea of paying $19 or something to "buy" a movie, or even $3 to "rent", somewhat risible if it will only play on the small screen. Better to buy a CD and rip it so it plays anywhere. E.g.

$ mencoder -oac copy -ovc copy dvd://1 -o foobar.avi
$ ffmpeg -i foobar.avi -acodec aac -vcodec h264 -strict -2 foobar.mp4
  or
$ ffmpeg -i foobar.avi -strict -2 foobar.webm
which will play in Chrome/Firefox HTML5 on Linux, and on the tablet.
Also ordered a Patec "Wireless Wifi HDMI Display Dongle AirPlay DLNA Adapter" from Amazon, which has not yet arrived. That's supposed to work with Apple as well as Android.

The manual talks about doing a firmware upgrade by pressing the reset button. It's also supposed to work automatically when the tablet connects, but I keep getting an error message like "AMDFirmwareUpdateTool failed", which I presume is from this update feature. It's not entirely clear from the manual, but I try. The miracast dongle displays a message on the monitor with an ip address (192.168.1.10, I think) and a text string. In update mode, it is actually acting as a WiFi access point with this SSID, so what you have to do is connect to that SSID with a laptop or tablet, then go to http://192.168.1.10 where there is a file upload dialog. Download the firmware file from Asus download page, unzip it, then upload the .sbin file to the dongle over WiFi. Turns out it already had the latest firmware version loaded.

ADB
adb (Android Debug Bridge) comes with Motochopper, but it turns out it's also in EPEL repository as android-tools.x86_64. So "yum install adb" works. adb cam be used to copy files to the tablet via USB, and to get a shell, and to reflash the system.

DNS
/etc/resolv.conf has

nameserver 8.8.4.4
nameserver 8.8.8.8
i.e. the Google DNS servers, instead of the servers set from DHCP. That means it won't find hosts listed in my local zone, and will only accept FQDNs for internet-connected hosts. Somewhat annoying. But for some reason, the ssh client will resolve the local zone. Ping and nc won't. There does not seem to be a "host" or "dig" command.

Building Apps
Found some details at developer.android.com/training/basics. Download the SDK and NDK. Or rather, the ADT bundle. Hello World" in the Java SDK seems to work OK, though the C samples built with the NDK keep stopping. One worked one time, though. A bit more complicated than the command-line cross-compiler on my N810 that was able to recompile some X11-based Linux tools like gnuplot. If I don't need device integration but just want a command-line tool, maybe it's possible to do something simpler.


RSS
Andrew Daviel