Android Gingerbread (2.3) on Sony Ericsson Xperia X8

AndroidThe other day, being a little bored, thoughts of getting a new phone came to me. Whenever this happens, a quick look at the price and sense returns. But that does not help with the boredom.

Another thing that makes justifying a new phone hard is the, working perfectly well, Sony Ericsson Xperia™ X8 in my pocket. But that phone is no longer supported by Sony Ericsson and is therefore not going to be upgraded past Android™ 2.1. We will have to see what we can do about that!

Not being a regular in the Android hacking world, this was a little bit of a poke in the dark. My first call was to CyanogenMod. A number of time, I have heard people being very happy with it. I seems that work has been done to support the older Xperia models, but had not made it to an officially supported phone. A number of videos on YouTube hinted that it was possible, so more effort was required.

After spending one whole evening bouncing from one forum to the next, skim reading instructions here and there, I gave up for the night. My next attempt was a little more successful. As a reminder to myself, I am going to list the steps I took to get Android 2.3.7 working on my Sony Ericsson Xperia X8. This is not a recommendation to anybody to do the same. Some steps may be missing. Doing this could brick your phone. Proceed at your own risk! Don’t blame me. etc.

Get root

The easiest way to do this is is with Super One Click. There is sure to be a manual method of doing this, but this worked here. Well it did after installing the .NET stuff as mentioned.

xRecovery

Next, xRecovery needs to be installed. My first attempt at this failed, but that was probably because the file permissions were not correct. A file manager that can make use of the root powers helps here. There is sure to be lots of options, but ES File Explorer works just fine.

Backup

With xRecovery working, do a backup. Now, as long as xRecovery does not get hosed, we can always get back to a working phone.

Anttek App Manager

Now that we have root, and have backed up our system, we can use this tool to remove some of the bloat.

GingerDX

Now download a new ROM pack, stick it on the SD card, reboot into xRecovery and load the new ROM. When I first did this, all it would do was loop the boot screen a few times, then lock. It appears that a factory reset is required. Fortunatly, that can be done from xRecovery.

Now we have Android 2.3 working and an old phone is given a new lease of life.

Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.

Software that saves the day: Wavbreaker

Wavebreaker LogoWell almost. I had a large wav file that was about 3 hours long. It needed to be split up so that I could reduce it down a number of mp3’s. Normally I would fire up Audacity for such tasks. For this though, it seemed not ideal.

A quick look around and I found Wavebreaker. This does the job perfectly. It allows the user to scroll through the entire file setting break points. This effectively sets the chunks up. At the end, the files are output into a bunch of smaller wav files.

Quality was not a major concern, so the following one liner trned the pile of wav files into mp3’s

for f in *.wav;do lame -f $f $(basename $f .wav).mp3;done

Gallery 3.0 Upload Error 417

Gallery LogoA little while ago I had a look at a beta of the new Gallery 3.0 software. It looked really good. When I noticed that a release candidate was available, it was time to install it and start using it.

It worked really well until it came time to upload images. The slick flash based upload device would return a 417 error. It was still possible to add photos using the “server add” function, but that just makes things more fiddly.

A number of occasions were wasted Googling this problem. Everything pointing to the version of Flash that was installed. Now as I am using Ubuntu in a fairly standard configuration, it seemed strange that the internet was not flooded with other people suffering similar issues.

Finally, one day at work, using a similar Ubuntu set up to the one I use at home, it appeared that the flash upload widget worked fine. This ruled out the version of flash, and the browser. Fuelled by the possibility of success, more Googling followed. Still, the amount of information was limited, and more often pointed to some Microsoft .net applications and such. Not much help.

One post did mention that they had eliminated the problem by putting a clever Squid proxy server in front of their server. This looked like a possible solution for me, and as I already had squid installed as a proxy for my home network…. Hang on a minute! The only difference between connecting to my server from home and from work is that the home network goes through a Squid proxy!

I logged onto my machine running squid, opened up /etc/squid/squid.conf and did a quick search for ‘expect’. This is what was found:

# TAG: ignore_expect_100 on|off
# This option makes Squid ignore any Expect: 100-continue header present
# in the request.
# Note: Enabling this is a HTTP protocol violation, but some client may
# not handle it well..
#
#Default:
# ignore_expect_100 off

In conclusion, setting ignore_expect_100 on in my squid.conf file has fixed the funky Flash upload widget on my Gallery 3.0 installation.

Ubuntu and Si Units.

The Ubuntu Units Policy is a great idea. I know that it can be argued both ways. Much confusion will be caused by the change, but at least it cleans up the current mess.

Now, does Ubuntu have a similar policy for dates? One of my pet peeves is having to decide if a date is written in mm/dd/yy or dd/mm/yy format. yyyy-mm-dd makes more sense and is less ambiguous.

Convert raster image to EPS

As I may have said before, I like to use LaTeX for writing reports for work. Often, these reports include some images. Simple. Take a photo, edit and crop the jpeg, and then convert to Encapsulated Postscript to add to the report.
Now if someone was to ask me how to convert from one format to another, then I would suggest to them ImageMagick and its convert utility. Sure enough, this is what I have been using for some time. The only problem is that the EPS files it creates are huge.
Playing around with the options, and I have managed to get by for some time. Now I have a new answer. sam2p.
This is a great little program that does just what I need. Fantastic!

You win some. You loose some.

I connected my Epson Stylus Photo R285 printer to my main computer after reorganizing my network. This time I wanted to share the printer with my laptop, that duel boots Windows and Ubuntu. Like a fool, I dove into the guts of the CUPS configuration files. Tried to work out what I needed to edit on the host machine to get it to share the printer, and on the client machine to get it to connect. Eventually, I found a couple of check boxes I needed to put a tick in, and viola! It worked!

If only editing policykit or consolekit or whatever it is called. For some time, I have put up with having to enter my password on shutdown as some policy will not allow the machine to close while other users are logged in. It would appear that Mythtv runs as a logged in user. I understand why this would be a default setting on a server. However, on my computer it makes no sense. I want my wife or kids to be able to turn the computer on, do some stuff, and shut down without needing admin privileges. I guess the problem is with Mythtv, but it would be nice to have some policy editor where I can simply turn on and off what I want.

Fortunatly, someone ponted me towards required edit.

My TV runs Linux!

I was browsing through the manual for my new TV, when I saw a reference to the GPL.

This product uses some software programs which are distributed under the GPL/LGPL license. Accordingly, the following
GPL and LGPL software source codes that have been used in this product can be provided after asking to vdswmanager@samsung.com.
GPL software: Linux Kernel, Busybox, Binutils
LGPL software: Glibc, ffmpeg, smpeg, libgphoto, libusb, SDL

Now, how do I get root? 🙂

Google’s Chromium OS

The other day, Google released its open source operating system. This has been expected for some time, and I was keen to have a look.

Well following some instructions, I managed to fail to compile my own image of the new operating system. Having quickly bored of trying, my next option was to download a pre-compiled version. This was easy to find, and ended up with having a VirtualBox appliance on my hard drive.

Now this is very early software, so it would be unfair to be critical. However, it does look promising. For someone who only used a computer to email and surf the web, it would be great.

It has been suggested that it will another year before this becomes a full release. In the mean time, I intend to keep an eye on it.