Tag Archives: android

My daughter uses an Android Samsung tablet (coded GT-P7510) which ended official support on Android 4.0.4. Unfortunately I didn’t pay any attention to this issue until the apps she most wanted to use, namely Netflix and YouTube stopped working on it as the Android version was too low.

I found a ROM to upgrade to Android 7.1 (Nougat) with some cost – for instance, the camera doesn’t work, but Aimee doesn’t care about that. So I decided to try upgrading it since the tablet was otherwise now utterly useless.

To make things more difficult, most of the information on upgrading this tablet on the Internet is outdated or wrong, or pre-supposes that the device was long since updated. I also don’t run Windows, and ran into some problems with the Heimdall alternative.

So this quick article is the result of a couple of evenings running into dead ends. It might help someone else. Certainly if I ever need to do it again it’ll help me.

But as usual, if you break something, you own all the parts. These instructions are completely specific to this particular tablet, and the wifi only version at that. Make sure your device is fully charged before you start.

A new recovery image had to be installed first, and some steps had to be undertaken just to get that far.

Heimdall

First of all there’s supposed to Windows software called Odin that is used to update the ROM, especially from a stock start. I can’t run that without emulation since I don’t run Windows, and in any case, I suspect it might behave badly in a virtual machine, and probably wouldn’t run correctly on modern Windows.

So I installed a Free and Open Source alternative known as Heimdall. For me, this was simple as it was Debian packaged. I couldn’t get the frontend to be useful, and I couldn’t get the Java version of the frontend to work online or offline. So I defaulted to the command line.

So, as root on Debian GNU/Linux:

1

aptitude install adb heimdall

This is also ensuring all the command line tools for android debugging are installed (I already had these).

Receiving TWRP

The device needs to be made ready for Odin / Heimdall upload. Turn the device off, and then hold Power and Volume Down till it appears with two icon choices. You want the one on the right. Use Volume Up to select, and use Volume Up again to bypass the dire warnings.

I had no success in using the Heimdall frontend, your mileage may vary. I got the correct archive for my purposes from here.

I downloaded the archive, and used tar xvf to extract the contents. You will find two .img files, recovery.img and hidden.img. You’ll need both.

Note that the partition target on the device for recovery is not called recovery but is called SOS at least on my device.

1

heimdall flash--SOS recovery.img--no-reboot

Because of the no-reboot option note that the tablet will continue to warn you not to restart it. You’ll need to watch the command line progress carefully to ensure that it is on. Now reboot the machine once again into the Odin / Heimdall mode again. I.e. power it off, and turn it on with Power and Volume Down.

Now flash

1

heimdall flash--HID hidden.img

For me this successfully got TWRP 3.0.3 loaded. It was a major odyssey of conflicting information to get this far. When you reboot make sure you hold down volume down to get to the recover menu, (and now choose the left hand option). If you don’t do this, the stock ROM overwrites the new one and you’ll need to start again.

Using TWRP

From here, things were relatively plain sailing. I got the ROM from here. Incidentally, I’d tried other recovery ROMs I got onto the device before when I couldn’t get TWRP onto it, they did not allow the following steps to work.

I then used TWRP’s wipe option to wipe Cache, Data, and Dalvik Cache.

I used the Advanced button and put the device into sideload mode.

I then, from the Linux command prompt executed

1

adb sideload aosp-7.1-p4wifi-20170320.zip

I then did not reboot but went back in TWRP and selected sideload again, this time I was careful to uncheck the wipe data and cache items since I’m loading other items on top of the basic ROM image.

1

adb sideload P7500-open_gapps-arm-7.1-pico-20170119.zip

and I repeated the same for the last package

1

adb sideload superuser.zip

finally I selected to reboot the tablet. It took a pretty long time to boot. Don’t forget it’s a relatively underpowered device.

The device is up and running and now runs the apps my daughter wants again.

I have been asked by a few friends to document how I did this. All the information is derived from elsewhere and its currency may be limited. Trying to root and flash phones is potentially dangerous. You need to take your time and consider what you are doing carefully. If you break your phone, you own the pieces. This worked for me, but I can make no guarantees. You get the idea.

Read the whole article before you start please.

The HTC Desire is a lovely phone, but it has two pretty annoying flaws. First of all the battery life isn’t great, but that’s not what this article is about, and secondly, the internal memory is very limited. I thought when I got the phone that Froyo would save me because it had apps2sd. Apps2sd allows you to move applications from the internal memory to the SD card, but it has some serious limitations:

apps with widgets and some other bits won’t work properly from SD

many apps only partially move to SD

some huge apps won’t move at all (I’m looking at you Google).

The ROM images I was getting, from Google to HTC to O2 were out of date, and they clearly didn’t even care about fixing some significant issues (like the broken authentication in the HTC Peep program). This wouldn’t matter because you could install a decent twitter client if you had the memory… oh… you get the idea. I was rapidly having to remove apps hand over fist with every upgrade, and my Daughter was complaining about their absence. So I decided to sort it out.

Some ROM images have the rather different data2sd. This allows you to treat part of your SD card as the internal memory of the phone. This makes a crucial difference, no messing about partially moving to “SD”, but allowing a large amount of memory to be treated as internal.

Step Zero: You will need

This process will take some time, during which you won’t really be able to use your phone. Make sure you have time. If it works you will have to do some work setting some things back up, it will to some extent be like having a new phone; some work can be done to minimise this. See below.

For this to work you will need a half decent SD card. Mine is a class 6, 8G card. The class information is written in the card in a number with a circle on it, and has to do with the speed of the card. Class 2 will apparently be painful. Class 4 is apparently fine. But I already had class 6. Get a decent card.

Some means of mounting the card on your PC, usually an SD to micro SD adapter.

Possibly a blank CD, and some spare Hard Disc space for backups.

Step One: Backup Your Phone…. Really

Even if this all works it will be like having a new phone to some extent, so expect to do some setup again. If you don’t have time, don’t start. Backup your phone. I had Backup PRO which I used to backup everything. I did this to the SD card this time, but actually, I should have done it online instead (or as well). I’ll explain why later. Backup PRO wasn’t free, but it was cheap and has been more than worth it for me. I’ve used it several times.

Now backup your SD card. Either mount it as a drive or take it out of the phone and put it in your adapter or whatever. Copy everything to your PC as files (in the past I’ve used dd, but this is not needed).

Step Two: Root Your Phone

At some points in the past this has been very tricky, but this was easy this time. I went to the Unrevoked website, and downloaded the software to flash the phone. Follow the instructions carefully and read all the guidance. Click on the Desire, and your OS, and download what’s needed (some extra drivers for Windows please note). I was using Debian GNU/Linux at the time.

Turn on “USB Debugging” (Menu >> Settings >> Applications >> Development) on the phone, and then plug the phone in (leave it as charge only when it prompts you). Run the software, wait, and in a few minutes your phone should reboot with ClockworkMod and root access. Note some people suggest you need to run the program on your PC as root, I did need to do so.

Step Three: Check you can access recover mode

For some reason I couldn’t do this with the volume buttons on power on, so I did the following. Power off the phone. Hold the “back” (hardware button) down. Now press power on. You will get to the Bootloader screen. By using the power button you can run the Bootloader. This brings another menu and (after some patience) allows you to move up and down with the volume buttons until you pick “Recovery”. Now press the power button again. When the phone reboots it will be into recovery mode. Peruse the options, see that you can navigate with the optical trackball and the back button.

Step Four: Possibly install a ROM manager

Now you can pick an alternative ROM of your choice. But this article following on below is specific to the Supernova ROM.

I installed ROM Manager (and it’s cheap but not free upgrade) to allow me to download ROMs and flash them, and I flashed Cyanogen… but I didn’t like it. I did it for old time’s sake and much as I tried to bring myself to like it I found I missed the HTC Sense stuff (that surprised me). You can experiment with all of this. I strongly recommend you opt to wipe user data on a major ROM change, the phone will probably hang if you don’t when you reboot, and you’ll have to get into recovery mode anyway and do it there.

Step Five: Get the ROM files

The ROM I went for was Supernova since essentially it’s a good, HTC Sense oriented, Gingerbread based ROM with the data2sd extra. In other words, you get newer Android goodies with much the same user experience, but don’t have to worry so much about the memory. You need to sign up to the website and then go to the download links and get the ROM and data2sd installer. Copy them to your hard disc for now.

Step Six: Prepare your SD card

For the data2sd to work, you need to prepare your SD card with a FAT32 partition (for general use) followed by an ext4 partition (for use as internal memory). Don’t panic if you’re not a Linux user. There is a way to do this for you.

In Debian, I installed gparted. I then put the SD card in its adapter and in the machine. The machine may mount it automatically… make sure you unmount it before proceeding. Run gparted and follow on below.

Make sure the GParted is accessing the correct device in the pull down before you start, make sure the disc space in front of you looks correct. YOU DO NOT WANT TO ACCIDENTALLY REPARTITION YOUR COMPUTER’S HARD DISC. TAKE YOUR TIME. Personally I went for about 7000 MB on FAT32 and the remainder for my ext4 partition.

Get out of GParted, back into your regular environment (close GParted, reboot or whatever). Now copy your SD card backup (remember that, right?) back onto the card. Finally copy the two ZIP files from the Supernova website (the ROM and data2sd installer) into the root of the SD card. Dismount the card and put it in your phone.

Step Seven: Install the ROM and data2sd bits

I recommend you read and follow the official instructions carefully from here in. Note I didn’t bother with the radio code because I was confident it was already very recent. Follow the instructions very carefully to be sure the data2sd will work correctly… note there are a few very specific things you must do and must not do in between boots.. Basically you need to use reovey mode to do a factory reset, navigate to the ROM ZIP and install, reboot, change a few settings, back to recovery, navigate to the data2sd ZIP, install, reboot.

Step Eight: Restore as needed

You should now have loads of space in internal memory. Check in Menu >> Settings >> Applications >> Storage.

I then put in my Google credentials and restored everything after downloading Backup PRO again. Because my backup was on the SD and it was copying to SD, it was slow. I recommend using the online option. Be patient, if you are restoring call logs and SMS messages it will take time, do not navigate away. Wait for it to finish and immediately restart. Think twice about copying “settings”, I always worry it will cause the newer ROM to cease. Your mileage may vary.

I have both these phones. The HTC Desire is my personal phone, and runs Android (in this case Froyo, Android 2.2). I’ve been using Android for some time now, and regular readers will know I haven’t been shy about commenting on its problems in the early releases. I also have, and have had for about the last month, an Apple iPhone 4, running iOS 4, for work. I’ve been promising some people a comparison.

Disclosure: I’m not really an Apple fan. From the moment I started to play with some in QUB, I disliked the single button, the cotton wool interface that kept you from “harming yourself”, or doing anything deep. But I know that has changed somewhat, the latest Apple computers, while still having that fluffy exterior now have a decent operating system underneath. So I’m going to try to be as fair as I can be.

First a comment about the build quality. Both phones feel very similar both in the hand and in the pocket, the iPhone feels like it has a better build quality, but then you do expect solid hardware from Apple. Both phones have a button on the top to “wake” the device. Both have volume controls on the side. The iPhone has a nice feature of a slider button that mutes the device at one go; the Desire requires you to put the volume slider to zero (there are other ways, I know). The iPhone has one big button at the bottom, reminiscent of the one button mouse, and this is an area where the Desire wins hands down, with more physical buttons including the search, back button, the menu button, the home button and the optical trackball.

A note on the intuitiveness of the interface. Apple claims that their interface is so intuitive you don’t need any instructions. I must say I find the Android (Desire) interface more intuitive, and when you start that phone for the first time, it walks you through the basics. Very helpful for beginners.

Anyway, time is short and some people are waiting on this review, so here’s a potted comparison.

Feature

iPhone

Desire

Basic Interface

Uncluttered, but uninformative, no widgets, no live wall paper, no active folders. Dull, one size fits all. Switching between tasks and back again is inelegant. Notification of outstanding items is cleaner than standard Android.

Very rich, combinations of apps on the desktop, widgets and all the things mentioned by their absence for the iPhone. Much more personalised. Task switching, particularly the back button, is much more elegant. HTC Sense is nicer.

Phone

Disastrous. Frequently won’t connect calls when my Desire will. There seems to be something else at play here and I’ve reported it. Both phones are on the same network BTW. It’s more awkward to change numbers on the fly and many other things. But it’s very pretty.

Much improved in Android over the last few versions, the ease of dialling, changing numbers is much better. Finding contacts to dial is much easier and faster. Oh, did I mention it works?

Voicemail

Fancy. Asks me to set it up every single time I turn on the phone. Recently while travelling, I couldn’t pick up a voicemail because of this for about an hour, by which time I was sitting with the caller.

Not Fancy. Works all the time.

Workplace

The stock mail client is very pretty, and for example, links to appointments easily (but makes it hard to see if you are free). It has limited threading support which is really nice.

The Android exchange support is, in my opinion, superior. It lacks threading, but does have follow up support, which I take to be vastly more important.

Apps

Legendary, but there are relatively few free quality apps. For example, I struggled (still haven’t) found a decent calculator (not the built in one) that is free. I find the market app rather clunky. Can’t find any decent external exchange apps that work.

Many problems with the Market were fixed in Froyo, the apps available seem to be broader in nature, and many more are free (my perception). Choice of several exchange apps, more fully featured than iOS.

Software Keyboard

Simple, elegant, but frustratingly difficult to type complex content, having to change layouts all the time.

More cluttered, but actually as easy to use, better word prediction, less switching between layouts.

Battery Life

Initially winning hands down, but now hogging battery like no tomorrow, can’t make it through an average day. I don’t know what’s causing the problem and so I’m just deleting apps all over the show.

Vastly improved over other phones, still an issue, but actually appreciating it more after the iPhone

Music

Very pretty. iTunes integration. This is also the problem. A cheap player I bought for my Daughter allows me to just dump music on it and it works. What I had to go through to get Music onto the iPhone because of my unusual setup, well, it wasn’t easy. Oh, and by the way. iTunes sucks. I mean really… disastrous, but with no alternative.

Bulk device, you can just copy the music on and it works. Plays music just as well as the iPhone, in fact better because the former occaisionally and inexplicably stops. Wide variety of music players.

Video

Flash.

Web

Browser is probably prettier than Android’s and allows more Tabs, seems to be slower though.

Native Flash is an advantage here too.

Notifications

Really dreadful, and a well known problem in the Apple community. Poorly handled, and when they pop up, and you go to use the phone the notification is just gone.

Elegant system that allows multiple notifications each of which take you straight to the issue. Persist, unobtrusively, until dismissed.

Calendaring / Time

Automatically setting the time to the wrong time since the clocks changed. Manually fixing this makes calender entries wrong. Setting it back to automatic makes the time wrong again.

Google Calendar back end more open than Exchange. Exchange functionality built in too. Minor quibble, cannot change the colour of the Exchange calendar. Date / Time works. Minor quibble, on a non rooted device you can’t use ntp for ultra correct times. Can’t on the iPhone either as far as I know.

Oddities

My laptop supplies power out of USB while it’s off. I use this to charge my Desire if need be. The iPhone requires the whole machine to be on for it to charge the phone.

The power connector on my Desire seems to be a bit stretched, so if I’m not careful, it’s not being charged. The Desire asks, when plugged in, whether it should charge, act as a disk, do internet tethering etc..

I’m honestly struggling to find an area where the iPhone wins hands down against its competitor. I can’t think of one. I imagine if the iPhone is the only smart phone you are used to, it seems miraculous. It probably seemed that way against Android 1.1. But Android has grown up now, and it makes the iPhone look just stupid by comparison. I couldn’t recommend an iPhone to anyone. Sorry.

By the way, I fully accept that perhaps when I get used to the iPhone I might come to love it more, but I’ll be surprised.

I recently wrote about my experiences with the Google G1 dev phone running the 1.1 Android firmware, and discussed a number of problems.

Last night I obtained the just released 1.5 (cupcake) firmware and performed the upgrade. That all went smoothly, it helped to have done it before and working out the idiosyncrasies of the process. So how does the new firmware measure up?

Initial thoughts and feelings are very good. Picture handling in MMS is hugely improved, although I still had a problem with an old video clip, but I’ll see if it was the oldness that was the problem. The optional on-screen keyboard is very useful and surprisingly easy to use, with predictive words hovering just above it. I enabled the options to automatically rotate the screen upon device reorientation, that is a big improvement in general usability, and means you no longer have to flip out the keyboard just to provoke rotation.

Other improvements include the camera – much better, and video capability, although the microphone doesn’t pick up sound very well on video. The web browser is also much improved and hugely more usable and readable, the auto rotation helps that too.

One very quirky problem, the one screen I’ve found that doesn’t auto rotate on the device orientation is the home page. That rather surprised me. Overall, this is a very significant set of improvements, and I’d suggest any G1 user upgrades as soon as possible.

All of this goes a long way to making the G1 a good day to day phone for me, although I’m still having to limp from one charging source to another, I don’t think I can get through a day of my normal use without charging in the car and at my desk – and yes, I’m frequently trimming back all the features to extend battery life, when I remember.

Update

Here are a few more comments after a little while of using cupcake. Of little problems and whether or not I’ve resolved them.

Bluetooth pairingAfter Cupcake, the phone no longer automatically paired with my in car gadgetry. In the end I found that going through the settings and clicking connect explicitly for each device connected it that time, and next time it did so automatically.

MMS issuesThere are still some of these, I get some images from some people that are much smaller than I remember getting from the same people with the same phone when I had the N95. It’s not clear if this is because the G1 is just not allowing the same level of zoom, or what else may be to blame, but still rather small. Also, video clips are simply not playing. When I receive one I still get another text from my provider (O2) telling me I can’t receive them. But now there is an icon suggesting they can be played. When you try, you simply get a number of seconds of a blank screen and silence. Suggesting possibly a codec problem, but I can find no mention in the oracle of google as to how to fix it if so, or whether I should expect it to work.

Fast switcher appsThe API that allowed apps to turn off and on some features has been deliberately disabled. Not a huge issue, but it means many apps that helped you turn on and off wifi, for example, no longer work. Unhelpful in a phone that still has profound battery life issues.

I obtained an HTC Android G1 dev phone to play with. I’ve been working with it for almost a week now, and so can post my initial thoughts. And they are quite seriously mixed. There are things about this phone that are just unbelievably good, but with some shockingly unbelievable flaws too, enough to possibly render the phone unusable for me to be honest. You’ll probably see as you go on that shocking, and unbelievable are two buzzwords I use a lot in this review. It’s more polite than rearranging this acronym FTW into its more usual order and expanding.

First, some caveats. The phone I received was a dev phone, it had the 1.0 firmware revision, and that might have been the cause of my initial problems. It’s now on 1.1 (and update was irritatingly problematic too). The dev phone comes with the phone, headphones, a US charger, a USB cable, and about two post cards worth of docs. Mostly these discussed set up of APNs. That wasn’t trivial, and O2, my provider were frankly as helpful as a chocolate teapot. It didn’t help that their systems showed, at least with the 1.0 firmware, that the phone was missing key capabilities.

Thanks to Noodles, I got some working access, and initially getting things synced with Google, and wifi was easy. I actually had some problems with bluetooth pairing, but it could have been the other end. I spent a lot of time trying to find the most elegant way or exporting my evolution contacts to Google, and eventually found the magic command line to produce the CSV on Debian Sid your paths may vary.

Big clear screen
Mostly the interface is crisp and clean and the touch interface is very intuitive and easy to use.

QWERTY goodness
The G1 screen slides out to reveal a full qwerty keyboard that is really easy to type on.

Shell goodness
You can download applications that allow a local shell, and for me much more usefully an SSH client. Coupled with the keyboard and connectivity this is excellent.

Calendaring
This is just superb, intuitive, easy to navigate, cosmetically pleasing, automatic sync.

Email
Almost belongs in grumbles since the built in client does not, under any circumstances, accept self signed certs. But the K9 market app does it all, it seems to be a fork, or more likely set of patches maintained on the original email client.

Messaging
This is really in both lists. The nice way in which the G1 threads correspondence is very helpful, but there are problems. See below.

And now, the reprehensible clangers.

Battery
The battery life on the N95 is shockingly bad, but actually the G1 is on a par with that, you seem to need to constantly trim all the features that consume power to get through a day reasonably (all be it, the battery life is stretching now I think, and less day-to-day fiddling helps).

Video Capabilities 1/2
This is the first 3G device I’ve ever had that didn’t have a forward facing camera for video calls. I know some other smart phones are similar, but the N95 I have does have this capability. A non issue for many, but something to note for some.

Video Capabilities 2/2
Even now, quite a while after release, the G1 is incapable of using its camera for video clips. I find this extraordinary, I think it’s the only phone I’ve ever owned with a camera that can’t do this.

Media Messaging
This is quite frankly, shockingly bad. It’s a complete pain in the ass to configure MMS, and even then it often simply doesn’t work. There are long delays and repeated failures in sending and receiving MMS, and yet other times it does it. I can’t yet work out the pattern. The way in which the phone shows attached images is really appalling, and difficult to manipulate.
Rather than showing the image when clicked on till you click again, it annoyingly shows it for a number of seconds of its choosing and then goes back. You can’t zoom, rotate, download, or otherwise manipulate the image that doesn’t even fill the screen size available.
Even more extraordinary is that while the phone can’t take video clips (see above) it also fails to be able to receive them. That’s an unbelievable flaw in a phone this high end. Instead my provider sends me an SMS telling me I’m a third class citizen and invites me to download the file using a browser. When you try to do this you will find you can’t actually save the damn attachment anywhere to bring the market apps (no inbuilt video viewer) to bear on this thing. I just can’t get over this stupidity. I have to wait to get home to a real PC to view these.

The contacts section in Google seems to allow no space for birthdays. Since for me that’s a pretty critical aspect of calendaring and I’d like the data hooked to the calendar, that’s annoying.

Headphones
The headphones plug into a mini USB socket on the bottom, but as such they are custom. The N95 has a much better system of having an adapter that provides functionality to tweak music playing with a plain ordinary headphone jack in case you have better headphones.

Memory Management
Another shockingly bad aspect of the phone. It’s onboard memory is quite limited, but so what? I put an 8 Gig micro SD in it. Well, almost nothing can actually be stored on the extra card apart from music and some other files. All applications, text messages, and so on take up the main memory as far as I know.

No automatic rotation
The device certainly appears to have the accelerometers to allow automatic rotation of the screen, but simply, it doesn’t. You have to pop out the keyboard to do so whether you want to or not. Stupid.

Every new phone you acquire seems to have new features you don’t know how you did with out, and problems that irritate you from previous good experiences, but seriously, the MMS problems this phone has, has caused me to have both phones on my person and swapping SIM cards this last week. That’s just ridiculous. It’s quite likely the G1 will end up in a drawer until someone gets their act together and deals with that astonishing flaw. That or I’ll sell it on. It’s a shame, so much else in the phone is excellent, but the problems are often simply inexcusable in a smartphone well into the 21st century.

Update

I was pleased to read that a firmware update is to be released Real Soon Now, that will resolve most of the serious issues on my list, or at least I hope the MMS handling will be improved given what is on the list, otherwise this would be even more braindead.

Oh, and by the way, I know the iPhone shares some of these problems. There’s a reason I don’t have one.