Showing posts with label firmware. Show all posts
Showing posts with label firmware. Show all posts

January 06, 2013

All on Jelly Bean

Officially off stock firmware on all three Android devices at home.

The Toshiba Thrive is running a CyanogenMod 10 build (JellyBean) called Dastardly Dingo. The UI is a Go Launcher HD app.

Just as the warranty on the SII ran out, I rooted and upgraded the firmware to the latest JellyBean build. An AOKP JellyBean build.

The UI is a Nova Launcher, providing additional functionality to the stock launcher.

The final device, a Nexus one, is running Android 2.3.7 (Gingerbread), limited only by it's hardware specs from upgrading to ICS or JellyBean.

The biggest difference, of course, is the really powerful Google Now application, that syncs itself across both the JellyBean devices. More details post on Now at some point later, but safe to say, one of the first, well polished, functional and useful personal assistants on today's phones.

Whew - all aboard on JellyBean.

June 25, 2012

Finally - ICS for Galaxy S2

AT&T had been hinting at the Ice Cream Sandwich upgrade to the Samsung galaxy SII for a while now. Last week it even went so far as releasing the update and then rolling it back after some customers were able to get it.

Looks like whatever kinks Samsung had in producing a custom version for the US market seems to have been taken care of and my phone is now running ICS. Here is a screenshot.

The upgrade process itself was smooth - took all of about five minutes once the backups and such were completed. The only nit-pick, was that you had to install Samsung Kies to actual do the update instead of doing it over the air (OTA). But considering this was a major version upgrade, I did appreciate the backup opportunity Kies presented.

First impressions - not that many actually. Because the version of ICS is a Samsung customized, AT&T pre-loaded version, it is not that different from the Gingerbread copy. But, just beneath the surface there are differences. The biggest being the smoothness with which the interface seems to be working. And of course the subtle UI elements, like in the settings menu. It seems like someone actually spent time thinking about the end user while putting these together.

More details later, but for now, screenshots of the upgrade itself.

May 27, 2012

Rooting Thrive ... Done!

Thanks to dalepl and his unbelievably awesome Universal Easy Flash Tool - I now have root on my Thrive.

The best part is the process to get there, it was as easy as

  • Install the correct ADB drivers on your laptop (available within the same zip file from dalepl)
  • Connect the Thrive to the laptop via USB mini and ensure it is connected to the charger at the same time.
  • Run the batch file Universal_Easy_Flash_Tool.bat

Confirm the fact that you want to root the device...

And pick the correct ROM that you are currently on...

And after about 4 reboots of the device - you are done!

Thank you @dalepl and @TurnYourBackAndRun - honestly Toshiba should be paying you for keeping their devices relevant. Now to kick some pre-installed crud off the device.

April 28, 2012

The Cyanogen Mod

It has been about two years since we bought the Nexus One. Which is great timing for the two-year itch - that starts something like “Now that the phone is not under warranty, do you think we should ...”.

To add to the itch was a real problem - Nexus One's fatal flaw so to speak. The phone has a minuscule amount of memory on board - a paltry 512MB which not only included the entire Android installation, but other pre-installed crud disguised as system applications. This meant even after moving some of the applications to the SD card, we were forever playing a game of whack-a-mole trying to free up just enough disk space for the phone.

That is when I decided to replace the original firmware with CyanogenMod 7(CM7). And since this was a phone that was not going to be customized heavily - the reasons to modify were fairly light.

  • Because I could
  • So that I could uninstall the various system applications like the Amazon MP3 for instance
  • So that I could get App2SD capability inbuilt
  • Because I could

The process I followed was the official process prescribed in the wiki over at the CM site. Here are some notes to go with the instructions in the wiki, that I am not planning to leech over.

Backup

Always important to backup. Especially since the process of unlocking the bootloader will reset your device to factory settings.

I used GO SMS Pro to backup SMS. Which by the way, is a great replacement for the custom SMS app. Astro File Manager to backup all applications. Then connect the phone to a computer and copy over the entire SD card as well.

Unlocking the Bootloader

A couple of things to keep in mind while unlocking the bootloader - firstly the phone is going to reset to factory settings. Don't ever think that you will be able to keep it like-for-like. Secondly a by-product of the reset is that if you have had to enable the developer mode to access the SD card via USB, you will need to re-enable that.

Custom Recovery Image

While the wiki mentions this in passing, once you reboot this step is essentially undone. So moving from this step to the next must occur without a reboot. Which brings us to the second question - how does one then “boot into recovery”? The process varies by phone, but in the case of the Nexus One - briefly click the power button after installing the recovery image. This will refresh the options on screen giving you a recovery mode to boot into.

Flashing CyanogenMod

If you were following along, here is where you need a lot more preparation than the wiki lets you in on. In reality you are already in step 4 of this section by the time you are done with the previous section. So if you were planning on downloading the zip files at this point - tough luck. Maybe that is something you do when you backup? Or at least when you get the recovery images in, make sure you copy the CyanogenMod version you want to install onto the root of the SD card. Otherwise, you might have to re-boot into the factory fresh device to do that.

Restore from backups

Final bit of a heads-up. When you restore from backups using Astro File Manager, it has a tendency to restore all applications to the phone internal memory. So after the first few, the rest of them are going to fail. So you might have to restore them one-by-one, moving the big apps to SD along the way.

That is it, more than a week into the installation, and the phone is still going strong. A detailed view of CM is probably going to follow - but so far really good.

January 19, 2012

Extending Tomato with Optware

I had waxed eloquent about the flexibility, freedom and capabilities extended by open source tools in general, and the Tomato USB in particular. Little did I know, that this was just the tip of the iceberg of capabilities offered by the third party firmware on my Netgear router.

The big extension to the core capabilities offered by the firmware is available via the installation of Optware. At its core, Optware is an advanced package manager, built for distribution of software packages across a number of platforms, including the TomatoUSB router firmware.

Optware comes with a variety of packages compiled and available in it's repository. This repository extends the capabilities of the router firmware, from their stripped down, small-footprint cousins to the full featured Linux box tools.

Tomato has inbuilt support for Optware. But it needed a bunch of work, to prepare the setup for Optware. In particular there were two things that had to be done:

  • Format the connected storage in EXT3. My terabyte RAID had been originally formatted in NTFS. While TomatoUSB has support for NTFS, but it is slow and painful, and fundamentally missing capabilities. Not something that lends itself for Optware.
  • Figure out where /opt is going to mounted.

There is no easy way to convert NTFS to EXT3 - other that the slow and methodical approach. Take files off the NTFS file system, format the disk as EXT3, and copy the files back. There are several tutorials out there, like this one - the only tweak was that I ended up using the mkfs.ext3 script available on the router to format the disk.

An aside, the cheap Terabyte RAID survived and is thriving through this all - including the EXT3 formatted drive.

Now mounting storage on /opt where Optware will be installed, seemed tricky at first, but ended up being pretty simple. The reason it seemed tricky was that I created only one partition on the storage when I formatted it as EXT3. My worry was that I'd have to re-size the partition and add a new one, which could then be mounted on /opt.

Turns out, you can mount the same device on multiple mount points. And given that I am already automounting the USB device, I figured all I had to do was to mount a sub-folder on /opt. Adding the following in the “Run after mounting” script-box, did the trick.

if [ -d /mnt/Teranarchy/optware ]; then mount -o bind /mnt/Teranarchy/optware /opt fi

Once I had space available on /opt - installing Optware is simple. As simple as running the following on a shell after logging in via Telnet or SSH.

wget http://tomatousb.org/local--files/tut:optware-installation/optware-install.sh -O - | tr -d '\r' > /tmp/optware-install.sh chmod +x /tmp/optware-install.sh sh /tmp/optware-install.sh

That is it. Optware does a great job of obtaining and installing all the packages. And because Tomato already has the correct folders in $PATH variables, all the tools and capabilities are available instantly from any shell.

Now that I have Optware, it is time to start doing something more interesting. Like installing a VPN on the router. Coming up next.

December 04, 2011

TomatoUSB on Netgear 3500L

Upgrading a Netgear 3500L to the latest TomatoUSB build. This worked for me as of December 01, 2011 - with no guarantees that will work for you or at any other time.

Required ingredients:

  • The trailed DD-WRT build to perform the first upgrade. Filename: dd-wrt.v24-15704_NEWD-2_K2.6_mini-WNR3500L.chk
  • The correct TomatoUSB version - Build 54, Kernel 2.6, CPU MIPSR2 and feature-set Extras or Ext. This is what I used, but you might check the latest version here. Filename: tomato-K26USB-1.28.9054MIPSR2-beta-Ext.rar
  • WinRAR or 7-zip or a related utility to unzip the RAR file.
  • Some timer - either an app on your phone or a watch with a seconds hand.
  • A pushpin of some sort.
  • A printout of a document that looks something like this.
  • A laptop or desktop of some kind that has a working modern browser.

Procedure:

  • Ensure your firmware files are identified, available and ready to go. See above for the two files you need to keep available. Use WinRAR or 7-Zip to unzip the .rar file. You will get a .trx file along with a changelog. Rename the .trx extension to .bin.
  • Connect your computer to the router using an Ethernet cable, if you do not have extra cords, use the one which used to connect the router to the external WAN. In either case, ensure the External WAN is disconnected.
  • Set your computer to a static IP of 192.168.1.8 (Ensure you are doing this to the wired LAN connection)
  • Perform a 30-30-30 reset using your push-pin on the depressed reset button on the back of the router. You might want to use the timer to ensure you are actually keeping it depressed for 30 seconds.
  • Wait for the router to boot back up. Using your browser, head over to http://192.168.1.1, and use your default credentials login: admin and password: password to log in.
  • Using the Upgrade option on the Netgear admin menu, use the .chk file you downloaded from the DD-WRT site. Note you are not using the bigger TomatoUSB firmware yet.
  • Wait, no seriously wait. Wait till the lights get back to normal. Wait. Wait to see that you can access the new admin interface.
  • Perform the 30-30-30 reset. Wait for the router to come back up.
  • Now head back over to http://192.168.1.1. You should be automatically logged in, but instead will be asked to set an admin account with password. You can set this to be whatever you want, your firmware is just about to be flashed.
  • Go to the Administration tab and then Firmware Upgrade sub-tab. Select the TomatoUSB file that you extracted from the RAR archive and renamed to a .bin file.
  • Again wait. For all the frenzy to subside. After you can see the router administration page again, wait some more.
  • Perform another 30-30-30 reset. Wait for the router to come back up.
  • Again head back over to http://192.168.1.1. Login using the Tomato default credentials: no login required and password: admin
  • Set up basic wireless services, located under. Disconnect the Ethernet cord, reconnect the router to the WAN network, get-up sit on the couch and continue configuring your brand new router firmware.
  • And yes, keep away the push-pin, the timer and set your wired connection back to dynamic IP.

That was it, and if you have been following along, my Toshiba thrive connects beautifully to the new router via SMB and I can now access all the media I have on my RAID, wirelessly over the home WiFi network. Cloud anyone?

Freedom to hack: 1 - Closed systems:0.

December 03, 2011

Upgrading my Netgear 3500L

The story so far...

My tablet could not access my ReadyShare NAS that ran on my Netgear 3500L. So far, it seemed as if the problem was with the router and it's implementation of SMB. After much wrangling of hands, cussing of SMB and praising the virtues of hackable gadgets, I decided to change the stock firmware on my router.

My Open Router, is a great resource for available after-market firmware. It also has that typical Open Source lack of polish, that makes the process of re-flashing a real journey - filled with uncertainty and trepidation. Here is an example, the initial page for the 3500L has a total of 5 open source options, and the very first article after the review is a “de-bricking” tutorial. If you were not aware, bricking happens when you mess things up so bad, that the only true use of your cuboidal device is to use it as - you guessed it - a brick.

The key with open source projects is to just jump in and start reading. Do not try to form an approach - you will mostly be wrong. The most useful nuggets are mostly hidden - like the curiously named Peacock thread, or Redhawk0's firmware recommendation thread. If you were planning on using DD-WRT, you should not be touching the reset button without reading both these threads.

After about 30 tabs worth of reading, I learnt a few things. In no particular order, but relevant to me were...

  • Doing the 30-30-30 reset.
  • If you do not do a 30-30-30 before and after a firmware upgrade, you could brick your device.
  • There are two kinds of kernels used in firmwares - 2.4 and 2.6, use the wrong one and you could brick your device.
  • There are different types of builds - using a Mega build could brick my particular device.
  • If you try to reboot routers too quickly within the flashing phase, you could brick your router.
  • Trailed builds, are builds specific to a particular router. They do not have all the features or a regular build, but are critical to get off the original stock firmware. Use the wrong trailed build, and you could brick your router.

And everything you learnt above had caveats, which could also cause you to brick your router.

Anyway, after several days of researching, and figuring out what my priorities were, I decided to skip the DD-WRT in favor of a different sort of firmware called Tomato, and in particular a fork called TomatoUSB, that seemed most appropriate. I still had to upgrade to the DD-WRT trailed build to get off the stock firmware, but that was only a rest-stop on the upgrade path.

Next post, doing the actual upgrade.