Fixing an iPhone with broken home button ribbon connector contacts

After dropping my iPhone 5c a fair few times and, oddly, not breaking the screen… the home button stopped working. I opened the phone and found that one of the contacts that the button touches when the phone is closed had broken off. This is the part at the bottom of the phone, just by the battery… not the ribbon cable contacts of the actual button itself.

iPhone Home Button Contacts

iPhone Home Button Contacts

Fixing this isn’t a particularly difficult operation. The whole thing took about an hour. I also replaced the battery whilst I was there. They’re cheap to get on eBay (£6ish) and it’s really difficult to remove the battery without damaging it because it’s stuck so tightly down.

The part that needs replacing is the entire Lightning Connector Charging Port/Headphone Jack cable. These can be picked up on eBay for about £4. The cable looks like this for an iPhone 5c and I’m sure it’s similar for other models:

iPhone 5c Lightning Cable

iPhone 5c Lightning Cable

You can find it on eBay by searching for “iphone 5c lightning dock connector” or similar.

There’s plenty of tutorials online about replacing this part. Here’s a few:

Obtaining linux-headers packages for Rasberry Pi Raspbian

It is a right faff to get the relevant linux-headers-* package for your Kernel version on a Raspberry Pi. I stumbled across a site that has packaged all recent versions of the kernel into kernel-headers-* packages.

They’re relatively easy to install, albeit slow. There’s a few dependencies but these are easy enough to resolve.

The files are at

In case this ever vanishes, I have mirrored all kernel versions at time of writing this post to here.

Enabling voice on a Huawei E160 (AT^DDSETEX failed)

Enabling voice on a Huawei E160 (AT^DDSETEX failed)

This is a low cost 3G Dongle, often found O2 branded. It supports GSM voice calls and can work with Asterisk and other PBX softwares. Tools such as DC Unlocker and, indeed, interrogating the dongle directly with a terminal programme may claim voice is enabled but you will get no audio when you make voice calls and/or Asterisk says “AT^DDSETEX failed”.

You need to flash the firmware of the dongle to 11.609.10.02.432. This used to be hosted on quite a few sites, but it’s incredibly difficult to find now. I’ve tracked down the installer and hosted a copy on my blog. You can download the firmware here.

The exe has been scanned on VirusTotal and has come up clean. I strongly recommend you scan it again before using it!

In my case, as soon as the firmware was upgraded, voice worked correctly and Asterisk no longer said “AT^DDSETEX failed”.