Saturday, 21 February 2015

Give Your Gadgets A Facelift

custom firmware

We look at how custom firmware can give your old gadgets a whole new lease of life

When hardware reaches a certain point in its life, it's normal for a company to declare it deprecated or unsupported. This means that it stops issuing updates and fixes for its software, and consumers are expected to move on to the next device, whether they want to or not.

But not everyone takes that lying down. If manufacturers don't want to update their devices, they reason, maybe they can. And so the hardware is adopted by custom firmware developers, who want to add new functions and capabilities to hardware that the industry has lost interest in. This practice of creating new operating systems and applications for 'closed' devices is also called 'homebrewing', and it's popular on a huge variety of consumer electronics, from obvious candidates like games consoles and routers to more offbeat items, like digital cameras.


Of course, aside from the amount of time it takes to develop firmware, nothing precludes the possibility of writing custom firmware for current devices, but manufacturers are a lot less forgiving towards that. Installing custom firmware might add new features, fix bugs and vulnerabilities and extend compatibility, but it'll also void your warranty, meaning the hardware is unsupported and unreturnable. In some cases, it's outright illegal to modify firmware, particularly if doing so bypasses copy protection.

But as much as manufacturers might protest, custom firmware is a great thing for hardware owners, and to prove it, we've been looking at some of the most popular firmwares in development today. If you have an old games console in the cupboard or an MP3 player collecting dust, why not dig them out and see whether any of these packages can turn them into something more?

MP3 Players custom firmware

MP3 Players


The increasing power and capacity of smartphones has left many stand-alone MP3 players superfluous to requirements, but that's not a universal position. There's still a hardcore group of music lovers who prefer a standard MP3 player for a variety of reasons. They're higher capacity, easier to manage, have a longer battery life and are less desirable to thieves - not to mention the fact that some people might just not have a smartphone.

Since most stand-alone players are now unsupported by their manufacturers, it falls to custom firmware providers to add new capabilities and features to existing hardware.

One of the most popular pieces of custom firmware for MP3 players is undoubtedly Rockbox. Originally developed in 2001 to expand the capabilities of Archos players, Rockbox has become an all-purpose МРЗ-player firmware upgrade capable of giving players additional support for a huge number of features and formats. Released under the GNU public licence, Rockbox is available free from its official website (rockbox.org), and now supports devices manufactured by Cowon, iriver, Olympus, Sandisk, Toshiba and more - including, of course, Apple iPods 1G through 5.5G, as well as certain Minis and Nanos.

In many cases, Rockbox can operate without deleting the original firmware, making it a surprisingly risk-free way to modify your player; if things go wrong, Rockbox can be erased, and the original, unedited firmware reasserts itself.

Whatever device it runs on, Rockbox can add support for all sorts of features. It allows any player - even iPods - to play formats such as OGG, FLAC and WMA. It adds gapless playback, crossfading, a viewer for text and image files - it even adds games and emulators! The support for plug-ins allows for a wide range of features to be covered, as well as mixed and matched. Some older players can be upgraded with video support added, while players with microphones can be made to run on Rockbox's highly accessible voice-operated user interface, which is perfect for the visually impaired.

Unfortunately, as the release of new MP3 players has slowed down, so the development of Rockbox has slowed too. March will be the second anniversary of its last stable release, although up-to-date dev builds are available and still being worked on.

CyanogenMod

Mobile Phones


Android phones are surprisingly easy to modify in many cases, not least because Android itself is an open and open-source platform. Wikipedia lists 31 custom firmware projects for Android devices, and there are doubtlessly plenty more that aren't notable or popular enough to have made that list.

While the point of installing custom firmware on most devices is to give new life to aging hardware, Android phones are different. For the most part, new firmware is an attempt to give users greater control of a modern device, which is why some projects are even based on Lollipop, the latest release of Android. Rooting a device (as it's known) gives you greater control over all aspects of behaviour, performance and appearance. Essentially, your phone becomes as open and customisable as a desktop PC - with all the instability and unpredictability that implies.

Of the available firmwares, one of the biggest and best is undoubtedly CyanogenMod (www.cyanogenmod.org), to the point where it's essentially become a legitimate commercial enterprise, rather than an enthusiast project. For the most part, its default behaviour is close to stock Android, but it has some improved components like a better file manager and superior camera app included with it.

But where CyanogenMod shines is the sheer amount of settings you can change. From low-level hardware optimisation to minor Ul tweaks (like adding a percentage amount to the battery indicator), CyanogenMod can do it. It's also hugely stable, thanks to a massive team of developers and testers who constantly update and revise it. It's available for loads of phone models (as well as tablets), and installation is as easy as you could like. The latest version, released this month, is CyanogenMod 12, which is Android 5.0 based.

On a different tack, LiquidSmooth (liquidsmooth.net) is a stripped-down build of Android, which is designed to get the most power out of even the slowest hardware, which makes it good for older devices or people looking to get superfast performance out of their new one. It's not for the meek - it has the ability to undervolt and overclock your hardware, with the potential to cause damage to hardware and stress the battery, but the potential rewards are great.

The only downside? LiquidSmooth isn't available for as huge a number of handsets as some other mods, but it is being constantly developed and is currently available as a modified version of Lollipop, so there's no huge impediment to giving it a try.

And although most custom firmwares are aimed at Android users, there is at least one, WhitedOOr, which is aimed at those who have an old iPhone that has been long-abandoned by Apple. Compatible with the iPhone 2G, the iPhone 3G and the first two generations of iPod Touch, WhitedOOr (www.whitedOOr.com) is based on old versions of iOS but adds features that bring it in line with newer ones.

These include an iOS7 look and feel, with updated icons and Ul elements, updated push notification options, access to the official App Store and Cydia (the app store used by jailbroken phones) and a service called AppTimeMachine, which contains the last compatible version of applications that dropped support for older hardware. There's also an improved camera app, multitasking, a control centre and even voice control features.

Despite all this, the main aim of WhitedOOr is speed - keeping your hardware running as smoothly as possible, despite all the modifications. Given how slow official versions of iOS run on modern hardware, that's a feature worth treasuring.

If you hadn't guessed, this firmware isn't supported by Apple, which makes installing it a bit of a hassle and invalidates your warranty, but when the device is essentially impossible to upgrade through official channels, it's probably worth taking a chance on it.

custom router firmware

Routers


Using custom router firmware is a good way to unlock the capabilities of a router that are otherwise closed off to you, whether because the software is old and out of date or because your ISP intentionally disabled some of the hardware's functions when it provided you with it. In many ways, it's like getting an upgrade for free. This probably explains why custom router firmware is a popular area for modification enthusiasts.

Upgrading a router requires you to get root access to the router's internal storage so you can alter the files on it. Note that this isn't the same as logging into the web backend; you want to access the actual web server it runs, which is what allows you to see the web backend in the first place. For the most part, finding out the admin login details isn't any more difficult than googling your router’s make and model, but beware - if you're not familiar with a command line environment, there's a lot of scope for getting things wrong.

The world of custom router firmware is largely dominated by the Open WRT project (openwrt.org). It originally emerged because Linksys built the firmware for its hugely popular WRT54G model using GPL code, which meant it was obliged to release the source of the modified version, making it easy for motivated developers to alter and improve. Since the inception of the project, it has expanded to cover a much larger range of devices.

Based on Linux, OpenWRT has had several major releases, averaging one a year since 2006. The current version is called 'Barrier Breaker' (version 14.07) and supports a huge number of features, hardware-permitting, many of which are unavailable on the majority of commercial routers. Perhaps most useful is its ability to give any supported wireless device new modes, allowing it to function as a repeater, access point, bridge, portal or a combination of the same. It also extends USB support to any piece of hardware that Linux supports, so you could conceivably control your router using a USB keyboard or create a networked webcam (though you may need to install specific software on the router to do this).

The huge amount of features and massive modification potential of OpenWRT is what gives it its fans, but it's worth noting that not every router supports every function, and many models aren't supported at all. A full list of supported devices is available on the OpenWRT site.

It's worth noting that as an open-source project, OpenWRT has become the basis of multiple derivative projects. Coova Chilli is a fork based on wireless hotspot management and provision. Packet Protector is a version that adds extra security settings, including built-in antivirus. BlueBox and AutoAP are variants designed for use on the move, which scan for and then automatically connect to any open wireless connection.

But perhaps the most successful fork of OpenWRT is DD-WRT, which has even been included as the firmware on commercial routers from Buffalo Technology. DD-WRT is designed to be easily installed and configured, which makes it popular with home users - especially those with limited experience of Linux. While DD-WRT has fewer functions than OpenWRT, it caters for the needs of most home users and can prove far less time-consuming to install and activate. Unless you're a network buff, DD-WRT (dd-wrt.com) is the version to go for.

There are other customised router firmwares available that aren't based on OpenWRT at all, although many are restricted to specific chipsets and hardware. In general, the functionality offered is a subset of OpenWRT's and frequently no more convenient or capable than DD-WRT is.

One interesting project is maintained by OpenWireless.org. The group exists to encourage users to allow free network access to anyone within range in the hope of creating ubiquitous and high-speed internet access across all urban spaces. While much of the project is based on routers' existing functions, it also offers custom firmware (at this time, only for the Netgear WNDR3800 router), which is specifically used to create and administer an OpenWireless network hotspot. It is believed that other devices will be supported in the future.

The huge number of projects based on OpenWRT does mean that it's difficult to pick one to use, but the similarities packages show to one another does mean that once you've installed one, it's usually not hard to install and configure the others. If you're interested in custom router firmware, try a few out and see which you like the most. Just remember that if anything goes wrong, you may not have an internet connection available to help you fix it!

magiclantern

Digital Cameras


Standard digital camera firmware omits a huge number of features, often because manufacturers want to save them for higher-end devices that cost more to buy. Enthusiasts have, of course, found a way to put these features back in, using customised operating systems. Again, it can breathe new life into an aging camera or expand the capabilities of even a brand new device.

One custom firmware called Magic Lantern (www.magiclantern.fm) is particularly popular with photographers, not least because it can give supported devices the ability to capture RAW video - normally a feature seen in high-end devices only. It also runs off a memory card, which makes it easy to try out, as you won't have to modify (and risk damaging) your original hardware.

At present Magic Lantern only supports Canon DSLRs and is tilted slightly towards people who want to shoot video as well as photographs, with greater control over audio capture, improved focus tools, bitrate control and device/ location logging on video and more besides. Photography features include exposure helpers, a software remote release, an 'astro' mode for exposures up to eight hours and more besides.

If you don't have a DSLR, however, you could try the Canon Hacker's Development Kit (CHDK). Intended to add DSLR-like features to point-and-shoot cameras, CHDK is a firmware enhancement that adds new features across all aspects of photography, from better information on your LCD display to RAW image processing, manual shutter control and HDR photos, all of which are unavailable on most point-and-shoots. A low-quality sensor will always put an upper limit on the camera's capabilities, but with CHDK you can squeeze a bit more out of it or even learn about the features before you spend your money on a DSLR.

Similar tools exist for Panasonic cameras (Ptool - www.gh1-hack.info) and Nikon hardware (Nikon Hacker - nikonhacker.com), but neither is advanced as Magic Lantern or CHDK, making Canon the hardware to look for if you're trying to improve your camera for free.

freeboot

Consoles


Updating the firmware on a new games console can mean spending a lot of money in replacement hardware if anything goes wrong - not to mention that it could be considered illegal if it also allows you to bypass copy protection. At the very least, you'll void any warranty, so if your console does go belly up, you'll be left holding it with no chance of a manufacturer replacement!

However, support for aging consoles gets dropped quicker than a hot rock, so the temptation to repurpose your older hardware into something new is strong. The lure of free games and the ability to run unofficial code is undoubtedly a major factor too, but not everyone is that dishonest.

Indeed, on modern consoles, you don't really get a chance to be. Microsoft uses a system of mod-detection so complicated that seasoned hackers have yet to defeat it completely, and throughout it lifespan, thousands of mod-using Xbox 360 users woke up to find their systems permanently locked out of Microsoft's online services as punishment for breaking the console's terms of use with an unauthorised modification.

Nintendo is slightly more forgiving than Microsoft - if you used hacked firmware on a Wii, Nintendo doesn't take specific action against you, but mandatory updates to the official firmware deletes unofficial software. For a time, Sony actively aided users who wanted to install Linux on their PS3, but that eventually changed too.

Installing fresh firmware on older consoles, however, isn't a difficult thing to do, and if you have hardware sitting in a cupboard gathering dust, it might just make something of it.

For example, Evolution X for the original Xbox is a replacement dashboard, which gives you the ability to run games and applications from any connected storage, and it runs an FTP server so you can log in from a desktop system and upload new software. It can even be launched off a CD, if you'd rather not permanently modify your console.

Similarly, Cromwell is a replacement firmware, which is actually a version of Linux modified to run on Xbox hardware. Practically speaking, it turns the Xbox into a fully featured PC and can be combined with a keyboard and mouse. Because it doesn't use any of Microsoft's code and can't run games, it's completely legal.

Perhaps the most famous firmware mod is XBMC, which began as a way to transform the original Xbox into a media centre and grew far beyond its roots to become Kodi, one of the dominant HTPC platforms in use today. The original project is still maintained as XBMC4Xbox, so if you want to turn an Xbox into a media centre, that's where to start looking.

Interestingly, the PlayStation 3 was designed at launch to run other operating systems, and for a time Sony even provided instructions for running Linux on the machine. After a time, support for this feature was removed (due to 'security concerns'), leading to (unsuccessful) class action lawsuits against Sony, but its initial inclusion ensures a healthy modding scene exists around the hardware even today.

Unfortunately for anyone wanting to modify their console, most of the homebrew software scene is dedicated to allowing systems to run pirated and otherwise hacked games, which is well outside the boundaries of legality. For this reason, there's almost no interest from manufacturers in softening their stance on modified software. Modifying consoles can still be a fun and rewarding thing to do, but you have to approach it with the full knowledge that you're essentially getting into a fight with the manufacturers - and sometimes that makes it more hassle than it's worth.

DVD Drives & Players


Custom firmware for DVD drives and DVD players is almost always designed to do one thing: remove region protections. In many cases, it's not that difficult to do once it's been discovered how. but it does almost always require a lot of work on behalf of the original modder. If the method for your particular hardware has been discovered, you're in luck; if it hasn't, there's not much you can do. Indeed, if you're planning to remove region protection, it makes sense to research the available firmware modifications before you buy any hardware.

In the case of DVD players, all you need to do is download the firmware, burn it onto an optical disc or extract it to a flash drive (if the player has USB compatibility), then put it in the drive. The software contained on the storage will take over, update the firmware, and your new capabilities will be immediately accessible.

For DVD-ROM drives, you normally need to run a firmware-flashing application from within Windows. These utilities are often available from the manufacturers' websites but must be combined with a modified ROM to deliver the altered firmware.

Either way, if you want to find a variety of custom-modified firmware with all sorts of tricks up its sleeve for your particular drive, the best place to look is undoubtedly the forums of The Firmware Page at forum.rpc1.org. If you can't find what you're looking for there, it almost certainly doesn't exist!

Other Projects


Wherever you find firmware, you'll almost certainly find people trying to modify it. Here's a list of projects that, although a little too specific to cover in much detail, might interest the owners of compatible hardware.

Hummy (hummy.tv) - Customised firmware for Humax HDR-Fox and HD-Fox T2 freeview set-top boxes, adding features like a media recorder, remote GUI, EPG and media browser.

Fiio X5 Firmwares (bit.ly/1yMyfxE) - An archive of modded firmware for the Fiio X5 lossless music player, with new themes, adjusted menus and altered interface behaviour.

Buffalo NAS Firmwares (bit.ly/1Bkukat) - Custom firmware for Buffalo's range of networked storage devices, porting Linux and other operating systems to run on their hardware.

Wololo (wololo.net) - Customised operating systems for the PlayStation Portable, allowing you to run emulators and other homebrew software on your PSP.

Make Smart TV (makesmarttv.net) - A site with guides that help you convert your TV into a smart TV using secondary hardware, including custom firmware for tablets and consoles that can help with the process.