Life (25)

Phones with Radio Issues

I’m afraid this is going to be somewhat of a rant.

Can someone explain to me why so many phones seem to suffer from radio communication issues of one sort or another? I’m not talking about a lack of signal, or poor cell coverage or interference; just plain ordinary bad software on the device to control the radio, or poorly designed or built hardware.

Lookit Ma! WiFi signals!

Lookit Ma! WiFi signals!

Previously, I have written about the trouble I had with my HTC One X – a phone, which while incredibly good in every other respect was completely destroyed by it’s last update which caused a complete failure of the radio module(s) to work in any predictable or useful way.

In the One X, HTC had decided for some crazy reason that having a pair of snap-connectors to connect one antenna to the motherboard was a good idea. This caused huge problems for people who simply by using their phone would press slightly too hard and disconnect the antenna.

I’m sorry – did someone at HTC forget that people hold phones? Not everyone has uniform grip strength, and putting something under tension inside a device that can flex is probably going to result in it becoming damaged or disconnected some how over time?

Thankfully, as I explain in my previous post, my connectivity issues turned out not to be this particular issue, but an entirely different, but no less insane problem.

HTC (again, in their infinite wisdom, I guess…) decided to attach another part of the antenna together by surface-spring connections… without using a spring.

I ended up connecting both contacts to fix the problem, after some experimentation.

I ended up connecting both contacts to fix the problem, after some experimentation.

Instead of making the connection with any kind of force, the connections lightly touched the contacts with small bent pieces of copper, which – as copper is want to do – deformed flat over time. Even the slightest of pressure would do this given enough time, resulting, once again, in a useless radio.

After a while, it turned out that in addition to these issues with the hardware, the software was also conspiring to mess up my day.

After the last software update the hardware issues become much more pronounced. I could sit the phone on top of our WiFi access point, at a range where even without the antenna, some connectivity should have been possible, and it would still disconnect randomly.

Thankfully, the software issue was limited to the WiFi components, and with my unlimited data plan, I could at least still keep connected and get on with what I wanted to do, albeit at a slower pace.

Our hero, the Nexus 5

Our hero, the Nexus 5

Eventually, I gave up and bought a Nexus 5, thinking that surely a Google main-line phone would have better support than the average. I was right, or so it would seem. The added visibility of a phone in the Google spotlight seemed to keep it fast, stable and most importantly – connected.

However, as an Android app developer, I thought it would be advisable to keep within the main-line range, and follow Google through the phones they place on the Nexus line, so that I would be kept up-to-date with the software and be able to keep my apps up-to-date.

Thus, filled with a confidence borne on the success of the Nexus 5, I decided, having left the Nexus 6 alone for it’s launch, to ‘invest’ in one. Apparently, this was a bad idea.

The phone is too big for my hands, but that’s an entirely different rant that I might cover at some point, but beyond that all initially seemed well. The phone performed to it’s spec, and having found a half-decent case, I began to get used to the size.

Then came the update. Since it’s install, the spectre of flaky wireless connectivity has been rearing it’s ugly, indecipherable head.

Now when I turn on the phone, it’s easily a 50/50 chance that WiFi will be ‘connected’ but inoperable, irrespective of which network I happen to be in range for (I work at a university, there’s WiFi everywhere). So, falling back on old habits, I flick the WiFi off, and watch with predictable irritation as the mobile data connection also ‘connects’, but remains inoperable.


What I can’t understand about all this is how it manages to get through any kind of testing. The symptoms appear immediately, and while they can be difficult to reproduce on command they do happen often enough that it would be possible to see what was going on.

Also, these are phones… their only, real purpose is to phone people. How can these companies mess up the only key function these devices need to perform? I realise that the modern smartphone’s software landscape is a vast and complex thing – but if you perform changes, and the phone stops acting as a phone and you decide to push the updates anyway, there is a special place in whatever hall or theological equivalent you believe in for you.

Anyway. </rant>


Trip to Gent – Belgium

I’ve been sent off to Gent by the university to a review meeting for one of the projects I’m associated with.
Luckily, before the meeting I have a spare day to grab some photographs and wander about the place.

Here are just a few, in no particular order. Unfortunately, I don’t know the names of the places I’m photographing, but if anyone wants to let me know I’ll update the descriptions!




Square 2

All taken with my quasi-good HTC One X’s camera (didn’t bring my S-5000).

Kitten’s Big Day (Part 1)

Last Saturday, having thought about it for a while, we finally decided to let the cats explore outside a little bit. We still don’t have a cat flap installed, though, so we’re keeping them inside except for when we can be outside with them, and thus keep the sliding door open.

At first, I think they were a little shocked to find that the massive TV they had been watching for the past few weeks was actually a door!

Peeking Outside

Peeking Outside

Naturally, Kashka took the lead, scouting out the flower bed/lawn immediately outside the sliding doors. She has such an intense face when she’s checking something out… 😐

Checking everything out!

Checking everything out!

Malcolm remained unconvinced.



He’s such a softie anyway – he pretty much always lets his sister go first. I’m not sure if that’s sensible, or that he’s just worried about everything!

But, after much encouragement from Liz, Kashka and I, both Malcolm and his sister began to peer outside, and started getting interested in what was going on. Especially when the wind rustled the grass!

Well, if Mum says it's ok...

Well, if Mum says it’s ok…





Well, if the girls are doing it...

Well, if the girls are doing it…

Onwards to adventure! Part two will be coming when I have a moment to edit the photos.

Fixing the HTC One X’s WiFi

A year or so back, I picked up an OEM HTC One X – which at the time was the nicest quad-core phone around that didn’t also happen to be a phablet.

Initially, I had no problems with the device, and the Android Jelly Bean update only brought better performance and a nicer UI.

Unfortunately, at some point, my device must have taken a knock causing the WiFi antenna to be less effective, dropping it’s effective range.

Luckily, this was still more than enough to be usable in most situations and I just left it as it was for best part of 6 months, after which a new update was pushed out from HTC.

Unfortunately (again…) the update changed the behaviour of the radio, causing the effective range for WiFi to drop to around a few feet, through walls, or a dozen or so if I had line of sight – thankfully by this stage I had invested in an ‘unlimited data’ plan, so I could at least leave the phone on HSDPA and still connect to the internet that way, and living in a town meant that most of the time I had more than enough signal that way.

Today,  finally my patience ran out, having struggled with this set up for a few months, and wanted to fix the actual issue – antenna replacement can’t be that hard, right?

 Step One – Getting Inside

One of the first problems with this repair is the nature of the device’s construction.

Phone manufacturers have moved away from the nice, hackable, screwed-together cases of the previous generation of phones, and started building ‘unibody’ cases, whereby the outside of the device is essentially a near-unbroken smooth finish.

Obviously this is a much nicer finish, but it does mean that DIY repairs or tinkering is made much harder.

Thankfully, the folks over at TechRepublic have put together a photo set showing exactly how to crack open the HTC One X’s case and get at it’s juicy innards.

Step Two – What Has Actually Broken?

Next, to find out what was the likely cause of my WiFi woes, I scoured the forums over at XDA Developers (who are consistently awesome!) for anyone with similar problems.

Fortunately (or unfortunately, for them and I) many other One X owners have had problems with the WiFi antenna, and the problem is fairly well documented.

Following the [HARDWARE FAULT] WiFi antenna fault post, over on the One X forums, and digging around in the links therein, I elected to have a go at repairing this myself, rather than trying to get HTC to do a fix for me (how hard can it be?!).

Another user in the thread usefully posted photographs of their own modification to the One X to fix the problem, and it was these that I used to fix mine.

Step Three – Crunch Time

Now that I had a much better idea of what had happened, and a good idea of what to fix, I set to work, cracking the case open and soldering a tiny wire between the defunct antenna connection and the antenna plate.

Soldering a tiny wire to a contact on the antenna plate. Note the additional small drops of solder on each connection point on the unibody... just in case.

Soldering a tiny wire to a contact on the antenna plate.
Note the additional small drops of solder on each connection point on the unibody… just in case.

While the user I had been following had only attached a single wire from the top contact to the antenna, in my case this did not fix the WiFi problem, and I ended up attaching both contacts.

Initially I attached only one contact to the antenna, as per the original post, which did not work in my instance.

Initially I attached only one contact to the antenna, as per the original post, which did not work in my instance.

I ended up connecting both contacts to fix the problem, after some experimentation.

I ended up connecting both contacts to fix the problem, after some experimentation.

With this done, I very carefully reassembled my phone, et voila! Working WiFi again!

Look at all those pretty signals!

Lookit Ma! WiFi signals!

Lookit Ma! WiFi signals!

Hopefully, with that, this is the last I’ll see of the signal issues I’ve been experiencing, and I can finally have my phone back to normal.

Pulling Colours From The CheerLights API on Linux

I’m trying to do a new project associated with the CheerLights project every year, and this time, I’m using a Raspberry Pi to pull the last set of colours from the ioBridge server.

I’ll be putting a full write-up about the project itself up on here soon, but I’m still waiting for a few parts for it to be complete, but the bash one-liner is handy in and of itself, so I’ll put it here for now, in case there are others who want to start a CheerLights-based thing this year.

curl | jshon -e feeds -a -e field1 -u

This handy one-liner returns a nice list of the last 25 colours set by the API.

Kitten Cam Offline

I’ve elected to turn off the kitten camera for the time being, as the kittens (more proto-cats now) are now so active that the camera angles almost never capture them, leading to a rather boring view of our dining room.

If the cats decide that they’re going to sleep somewhere predictable, I’ll reinstate the camera hardware – bandwidth permitting – but for now, both cameras are offline.

Thanks to the many, MANY (oh God so many pageviews!) folks who dropped by to see the kittens, and Kashka, Meeville and Malcolm (the cats), as well as Liz and I thank you all.

I’ll post photographs and updates on their progress here in the future.

Malcolm and I

Malcolm and I – Yes, he’s the same kitten as in the banner!

Kitten Cam Updates

Sorry for those of you unable to connect to the kitten camera. The DNS address can’t keep up with the IP changes on our line, so I’ve swapped to just the IP raw on the streams for now.

Hopefully this should fix the stream for everyone now.

See The Kitten Camera page for any and all camera streams.

The Kitten Cam!

The Kitten Camera – LIVE!

More views (in case the kittens aren’t in the box can be found here!)

Very recently, the cat we had “adopted” (read: “who had adopted us”) gave birth two three tiny kittens, and one not-so-tiny kitten.

Because various people wanted to see photos or videos of the kittens, I’ve put up the Kitten Camera so all can see them pseudo-live (there’s a delay of a few seconds or so).

For those interested, the hardware used is:

  • A Raspberry Pi running Arch Linux for ARM
  • A Microsoft VX-800 ‘Life Cam’
  • One 4G SD Card
  • One 8G USB drive
  • A fairly beefy phone charger to power the lot

I intended to use the official Raspberry Pi camera to do this with multiple Pi’s, but ParcelForce failed to deliver them in time, so the vx-800 will have to do until the better cameras are delivered.

Wildlife on Campus


Its a ‘bird’ – they fly through the air through means modern science has yet to fully understand. This one lives on Lancaster University’s campus.

Tried to get some shots of the wildlife on campus yesterday, naturally everything vanished just as I got my camera out.

This bird was the only one to stand around long enough to get a long shot at, apologies for the poor focus – I had to take this shot on the move.

Random Web Radio Station

To pull a random radio station from my stream list, using vlc, jshon and curl on the terminal, enter the following:

cvlc $(curl -s | jshon -e $(shuf -i 0-`curl -s | tr -cd ‘{‘ | wc -c` -n 1) -e stream -u)

It’s not terribly efficient, but what the heck, it’s only ran once per radio station 🙂