1000umbrellas.com

Michael Descy's Personal Website

Browsing Posts tagged droid

Sapphire 1.0.0, a superlative custom ROM for the Motorola Droid, was just released. You can upgrade to it via ROM Manager using the steps I previously wrote. Just substitute build 1.0.0 for 0.8.4. You still have to downgrade to ClockworkMod 2.0.1.3 to update using ROM Manager (i.e. ClockworkMod 2.5.0.1. won’t reboot your phone when installing this rom).

I just upgraded (I wiped cache and data, just to be sure), and so far things are working very well.

For the past several months, I have been a huge fan of running CyanogenMod (CM5, mostly) on my rooted Motorola Droid. Unfortunately, the ROM’s latest incarnations (CM6 RC1 and RC2)—which correspond to its move to the Froyo source code base—have not run stably on my phone. Despite my efforts to fix the problems (reflashing, wiping data and cache, fixing permissions, switching kernels), apps under CM6 keep crashing. Luckily, I found a great alternative, a Froyo-based ROM that has been much more stable than CM6: Sapphire 0.8.4. Sapphire is based on the Froyo source code, like CyanogenMod, and is completely independent of CyanogenMod’s codebase.

While CyanogenMod has more interface and application tweaks than Sapphire, Sapphire runs more stably on my phone (compared with CM6 RC1 and RC2), which is far more important. One of Sapphire’s killer features is that it integrates the basic overclocking/underclocking mechanisms found in the SetCPU app, which enables you to overclock without SetCPU (unless you wish to set up profiles). The rest of the Froyo goodness, including the JIT compiler, wifi tether, Exchange support, and Chrome-to-Phone, are all included.

If CM6 isn’t working well for you, I highly recommend trying out Sapphire. I found it a little tricky to install via ClockworkMod Recovery/ROM Manager, because you have to downgrade ClockworkMod Recovery to do so. The instructions below reflect the steps I took to switch from CM6 RC1 to Sapphire 0.8.4. If you’re new to flashing ROMs on your phone, know that it requires root access. Also, Sapphire appears to be compatible with the Motorola Droid only at this time.

  1. Install/upgrade to the latest version of the ROM Manager app via the Android Market.
  2. Open ROM Manager.
  3. Due to an incompatibility of the latest ClockwordMod Recovery, Sapphire will install with ClockworkMod 2.0.1.3 or earlier. To flash this recovery, scroll to the bottom of ROM Manager’s main screen and select “All ClockworkMod Recoveries” from the “More Recoveries” section.
  4. A recovery selection popup will appear. Choose “2.0.1.3″ and click the “OK” button.
  5. ClockworkMod 2.0.1.3 will be flashed to your devise. (If for some reason the recovery does not install, use ROM Manager to “Flash Alternate Recovery” and then repeat steps 3 and 4.)
  6. From the “ROM Management” section in ROM Manager, select “Download ROM”.
  7. Select “cvpcs” under the “Free” section.
  8. Select “Sapphire 0.8.4 (Froyo)”, which is the latest stable release at this time.
  9. A screenshots popup will appear. Click the “Download” button.
  10. A kernel selection popup will appear. Choose a kernel from the list. I use P3Droid’s 125-800mhz Low Voltage kernel. You may choose one with a faster top speed if you wish. Click the “OK” button.
  11. A theme selection popup will appear. Choose a theme from the list. I stick with the “Stock (Default)” theme. Click the “OK” button.
  12. A ROM addons selection popup will appear. Check “Google Apps” so that Google’s standard apps (including the Market) will be installed. Check the “Market Hack”, too. Until Motorola releases an official Froyo build for the Droid, copy-protected apps will not show up  in the Market when you run a Froyo ROM. The Market Hack fixes that. Click the “OK” button.
  13. ROM Manager will download the necessary ROMs.
  14. When the downloads complete, a ROM pre-installation popup will appear. Check both of the options: “Backup Existing ROM” and “Wipe Data and Cache”. Always back up your current ROM prior to flashing a new one. Sapphire’s developers say that it is important to wipe data prior to the install. Froyo will re-download your apps from the Market after a reinstall, so it isn’t as much of a pain as you think it might be. Click the “OK” button.
  15. ROM Manager will reboot into recovery and install all the ROMs you selected.
  16. When the phone reboots again, you will be able to log into your Google account and set everything up. The Market will download all your previously-installed apps during the sync process. Just be patient!

I prefer the ADW Launcher to the launcher that Sapphire comes with. ADW Launcher is a free download from the Android Market.

Here are instructions on how to overclock your Motorola Droid. I learned how to do this through various forum posts and a blog posts, some of which were a confusing mess of information and misinformation. My goals is to summarize what I have learned in one place, to act as a more-or-less definitive guide.

SetCPU

  1. Root your Droid. (Note that I rooted my Droid before 2.1 came out, so I have not followed the instructions that I have linked to, and cannot comment upon them.)
  2. Install ROM Manager from the Android Market. This app, and the ClockworkMod Recovery it comes with, make flashing ROMs a lot simpler than the process used to root your phone.
  3. Flash ClockworkMod Recovery via ROM Manager. (You don’t need the paid version for this tutorial.)
    1. Launch the ROM Manager.
    2. Click the first option: “Flash ClockwordMod Recovery.”
    1. Grant the app root access (and check “Always Allow”) when it asks you.
    1. A popup will ask you to confirm your phone model. Just click on “Motorola Droid (CDMA)”.
    2. This will download and install the ClockworkMod recovery image. Just wait a couple minutes. There’s no need to reboot your phone afterwards.
  4. Install the latest stable CyanogenMod via ROM Manager.
    1. In ROM Manager, click the “Download ROM” option, then click “CyanogenMod”, then click the latest stable release. As of this writing, the latest stable release for the Droid is 5.0.6.2.
    2. A popup will appear. Check the box next to “Google Apps” and click “OK”.
    3. ROM Manager will then download the ROMs for Cyanogen and Google Apps. When the downloads are complete, ROM Manager will alert you for more options prior to installation.
    4. When the downloads are complete, a “ROM Pre-Installation” popup will appear. Check the option to “Backup Existing ROM” just to be safe. If you are doing this for the first time, or are changing themes, check “Wipe Data and Cache”; you may leave it unchecked if you are upgrading to a new version of the same ROM. Click “OK”.
    5. The phone will then reboot into recovery, back up your current ROM to the SD card, install CyanogenMod, and then reboot when it is done. The first boot into the new ROM might take a little longer than normal. Don’t worry.
  5. Set up your phone again.
    1. You will need to sign into Google again and re-download all your apps. (Yes, this is a pain, but you did just reinstall everything on your phone!) You can re-download your apps after overclocking, if you wish. You will not have to pay again for any paid applications you purchased from the Android Market. You will not have problems “reactivating” your phone.
    2. If Google apps, such as Google Maps, are missing, that means that you didn’t check “Google Apps” when you downloaded the ROM. You will have to install Rom Manager and then reinstall CyanogenMod with Google Apps to fix this.
  6. Install the bekit kernel, which allows you to overclock your CPU.
    1. Open ROM Manager.
    2. Click “Download Rom”, then “CyanogenMod”, then “bekit Kernals (0.8.3)”.
    3. Choose your bekit kernel from the popup that appears. I recommend “5 Slot 800MHz 0.8.3 *Low Voltage*” (which I use for this tutorial) or “5 Slot 1.0 GHz 0.8.3 *Low Voltage*”. A “slot” is an operating frequency. 5-slot means that there are 5 speed settings at which you can set your CPU. 7-slot kernals have 2 more speed settings. I don’t see much need to set the CPU to a whole bunch of different frequencies, so 5-slot kernals are good enough for me. You should stick to the “Low Voltage” kernels (scroll down in the list to find them) to avoid overheating your CPU or decreasing battery life more than necessary.
    4. The kernel install process through the ROM Manager works similarly to the CyanogenMod ROM install process. When the kernel download is complete, a “ROM Pre-Installation” popup will appear. Check “Backup Existing ROM” if this is your first time changing kernels, or if you don’t have a recent backup. Do not check “Wipe Data and Cache”. Click “OK”.
    5. The phone will reboot into recovery, back up your current ROM to the SD card (if you selected that option), install the new kernel, and then reboot when it is done.
  7. Purchase and install SetCPU from the Android Market. It costs $1.99 as of this writing, and is totally worth it. Read more about SetCPU here.
  8. Set up SetCPU’s global settings.
    1. Launch SetCPU.
    2. Click the “Autodetect Speeds” button. Grant the app root access (and check “Always Allow”) when it asks you.
    3. SetCPU will display the maximum and minimum CPU speeds your kernel supports. Using the “5 Slot 800MHz 0.8.3 *Low Voltage*” bekit kernel, you should see 800MHz max and 250 MHz min.
    4. Adjust the sliders on SetCPU’s main screen to set the global minimum and maximum CPU speeds. I tend to leave the minimum as 250MHz and the maximum as 800MHz. Remember that the stock Motorola Droid CPU is underclocked from 600MHz to 550 MHz, so 250MHz is actually underclocking (better for battery life) and 800MHz is overclocking (better for performance).
    5. Set the CPU Governor. I recommend using default CPU Governor: “ondemand.” This means that the CPU will scale up when the phone is busy (i.e., when you are using it) and will scale down when the phone is idle (i.e., sleeping). The “conservative” CPU Governor scales speeds up more slowly than “ondemand” does; I find that it makes games a little laggy. The “performance” CPU Governor simply always uses the maximum speed setting; this seems unnecessary for a device that spends most of the time sleeping.
    6. Check “Set on Boot”. The only reasons not to have “Set on Boot” checked is if you are flashing a new ROM, or if you are overclocking by a lot (say, to 1.2 GHz) and are concerned about stability.
  9. Set up SetCPU Profiles. (This step is optional, but recommended.)
    1. In SetCPU, click the “Profiles” button. A popup will appear.
    2. Check “Profiles On” in the popup.
    3. To update a profile, click on its “Enabled” checkbox, click the “Modify” button, set the CPU speed sliders and CPU Governors in the popup, and click the “Apply” button. My recommended profile settings (for my 800MHz kernel) follow.
    4. Enable the “Charging” profile. Set to 550 Max, 250 Min, ondemand. You don’t want to overclock while charging, because the battery is already hotter while charging, and you don’t want to overheat your phone.
    5. Enable the “Sleep/Standby” profile. Set to 550 Max, 400 Min, ondemand. You can set the minimum speed to 250MHz, but I like 400MHz, because the phone wakes up a little faster.
    6. Enable the “Battery Profiles”, which will be in use most of the time you actually are using the phone. You have to set up all 3 profiles for them to work. I like to set them to scale back the CPU speed as the battery is depleted.
      1. Enable a “Power < 100%” profile. Set to 800 Max, 400 Min, ondemand, if battery is under 100%.
      2. Enable a “Power < 50%” profile. Set to 600 Max, 400 Min, ondemand, if battery is under 50%. This steps down the CPU a bit to eke out more battery life.
      3. Enable a “Power < 15%” profile. Set to 550 Max, 250 Min, ondemand, if battery is under 15%. This steps down the CPU a bit more to eke out more battery life.
    7. Leave the “Failsafe Profile” as is, and enabled. This profile kicks in when the phone starts to overheat. I’ve never had my phone overheat for any reason. SetCPU reports the battery temperature of my phone as 30° C to 40° C, which is well under the danger zone for this CPU (which starts, I believe, at 50°C).

After all this, your phone will be overclocked during use and underclocked at rest. I find that a little overclocking makes the Droid a lot more pleasant to use, and doesn’t hamper battery life much, and doesn’t affect stability at all. The whole process will cost you about $2 for SetCPU. If you love ROM Manager, buy that app, too, and support the developers. The premium version of ROM Manager unlocks a lot of ROMs and themes, and provides notifications if an update is available for your ROM.

I bought my Motorola Droid the morning it was released to the public. The first app I installed on it was Locale, which promised to automatically set the phone’s volume, wifi settings, and so on, based on its current location. I thought this was a great idea: I could automatically silence my phone at the office, and turn the ringer on while at home. Unfortunately, after a couple days, I realized that Locale basically never updated my location, so it never worked right. I still stuck with Locale for a while, because it also allows you to set you phone’s volume (etc.) based on the time of day. After Locale became a $9.99 app, I uninstalled it in favor of a free alternative: Timeriffic.

Timeriffic allows you to change your phone’s volume (ringer and notifications), wifi, Bluetooth, screen brightness, and airplane mode, based on whatever day and time schedules you create. It is easy to set up (though the UI colors are kind of garish), stable (no force closes), and has almost no effect on battery life.

Timeriffic

I use Timeriffic to silence my phone while I am asleep. Typically, I don’t receive phone calls in the middle of the night, but I receive a lot of notifications, which I don’t want to wake me up. Silencing the ringer or notifications with Timeriffic is an all-or-nothing setting. The downside to Timeriffic, as opposed to Locale, is that you can’t “whitelist” phone numbers to ensure that certain people can reach you, even when you’re phone is set to silent. That isn’t a problem for me, but then again, I don’t have a job that requires me to be on call.

Locale has more features and a better user interface, but it is way too expensive, for what it is, to recommend. For my needs, the free Timeriffic is more than adequate.

I never thought I’d root my Motorola Droid. The typical reasons for doing so, such as creating tethering (serving as a wireless access point for a computer) and overclocking didn’t appeal much to me. What finally pushed me over the fence to the rooting side, though, was when Google released Android 2.1. I really wanted some of the Android 2.1 features, such as a new version of Google Maps, and universal voice input. I really, really wanted voice input.

Motorola Droid

At the time, there was a rumor that Motorola was going to release an update about one month later, and I was willing to wait. Unfortunately, that day came and went. And so did the next rumored day. And then the first promised day. It was really frustrating. I completely lost faith in Motorola and Verizon Wireless in their ability to keep up with Google’s software release schedule.

When the first Android 2.1 root package came available, I immediately rooted my phone and installed it. It didn’t take me long, and it wasn’t scary at all. After rooting, I did have to spend a few dollars to install some very useful apps (RootExplorer and SetCPU), but it was totally worth it.

Rooting enabled me to take control over my phone, and run it how I want to. Now, I love my zippy, custom-skinned, overclocked Droid even more than the day I bought it.

I really think that phone manufacturers and carriers making Android devices have to increase their software development capacity to keep up with Android’s pace of development. Motorola has made it trivial to root their Droid phone (though it does void the warranty), which is a consolation for techies like me. If you’ve flashed the firmware of your router, you can flash the firmware of the Droid phone. You might as well, in my opinion. I’m really happy with the results.

This morning I updated my Motorola Droid to Android 2.1, using a custom ROM. You have to root your phone first, which isn’t actually that big a deal. Check out this forum thread for instructions and download links for Adam Z’s Smoked Glass ROM v6.0.1. After downloading the ROM, be sure to rename it so that it ends in “.rom.tgz” (you have to add the dot before “rom”). Then, simply follow the instructions.

Android 2.1 on the Motorola Droid

I had to set my phone up anew after upgrading it, though I only had to redownload one of my apps. This is a serious update, but if you’re already rooted, I highly recommend it!

As many of my friends and Twitter followers know, I rushed out to buy the Motorola Droid—the new Android phone that works on the Verizon Wireless network—on the morning it was released. I love the phone, and planned that day to write a review of it.
This phone is so popular, and was covered so much in the press, however, that writing a full review won’t add much to the conversation. Therefore, instead of writing a full review, I’m going to say that, overall, I love this phone, and if you are a die-hard Verizon customer who wants a smartphone, you should buy it. That said, it isn’t perfect. Here are my observations and criticisms about the phone.

Motorola Droid

Motorola Droid

The Body and Physical Appearance

This phone is a heavy, black brick, with very masculine styling. I don’t mind the heft, but this isn’t a friendly looking device. The design is divisive: you either love it or hate it. Overall, I like it.

The only thing I don’t like about the phone’s body is the battery door, which slides off too easily. It has fallen off several times when I’ve taken the phone out of my pocket, which is embarrassing and annoying. Luckily, the battery doesn’t fall out. My recommendation: don’t ever open the battery door if you don’t have to.

Another gripe is that screen rotation doesn’t work as well as the iPhone’s. When I leave the phone on my desktop and wake it up from sleep, it often switches to landscape orientation for no reason. Also, perhaps because the phone has a slide-out keyboard, the landscape orientation is fixed to one direction. It would be nice to be able to flip the phone the other way when watching videos, to move the headphone jack to the other side.

The physical keyboard, with its flat, cramped keys, is actually not as bad as I thought it would be. I find myself switching between it and the virtual keyboard quite often. It is nice to be able to type without obscuring the screen.

The Screen

The screen resolution, which is about twice that of my iPod Touch, is fantastic. Text looks crisp and readable, even at tiny point sizes. Video looks sharp and vivid. A month ago, I thought the iPod’s screen was gorgeous. Now it looks woefully dated to me, with its massive pixels and noticeable screen door effect.

With a screen this nice, I certainly don’t want to scratch it. I don’t know if  it is prone to scratching from keys and coins in my pocket, so I purchased screen protectors at the Verizon Wireless store. I have to say that those screen protectors are not good quality. They attract dust when you put them on, and are prone to bubbling and peeling far more than screen protectors I’ve used in the past on my iPod Touch and (long ago) Handspring Visor. I replaced my screen protector twice in the first two weeks.

Video Playback and Audio Sync Problems

Video playback looks gorgeous on this device, thanks to the high-resolution screen. It easily bests the iPhone/iPod Touch’s screen. I like sideloading videos onto the phone better than having to import videos and tag them in iTunes before syncing. That said, I do not use this phone to play videos. The reason: audio/video sync is terrible. HandBrake-encoded videos that encoded for the iPhone/iPod Touch look fantastic on the screen, but the audio lags so much that lips are out of sync. I’ve tried tweaking the HandBrake encoding settings a dozen times, but nothing has worked well thus far, and it shouldn’t be this difficult. (As I am writing this article, I discovered another Droid owner’s Handbrake recommendations. I will try these out as soon as I can.)

Also, it is not obvious that the pre-installed Gallery app is also a video player. I had to search for a decent front-end in the app store, which is not user-friendly.

Audio Playback

The phone works fine as an audio player. It plays more formats than the iPod, and there are some nice media player apps that you can download for free, such as TuneWiki and Meridian. I prefer the latter app.

By the way, the audio/video apps all act as front-ends that simply expose the underlying operating system’s playback capabilities. All the apps I’ve tried are more primative, in terms of design, companed to the the iPhone/iPod Touch’s built-in media capabilities.

Camera

The camera is slow to start and doesn’t autofocus properly sometimes. This is a known bug that Motorola will fix with a software updated, which will be pushed to users in a couple weeks. The video capabilities are nice, and work very well for casual use.

Android Platform Growing Pains

The Android platform is powerful and flexible, but feels a little rough around the edges. Out of the box, it isn’t obvious how to play media files, how to customize the home screen, or how to load files onto the device. The user experience isn’t meticulously controlled, as it is with Apple’s products, which takes some getting used to. If you are not prone to treating a phone as a miniature PC, which needs to be set up and customized, you will find this phone frustrating for the first few weeks.

The application experience is good on this phone. The Android app store offers enough variety and quality for almost any user, in my opinion. I’ve found quality apps to do just about anything I wanted to do. Twidroid, for example, is a great Twitter/Identica client. The Facebook app is not as slick and feature-packed as the iPhone/iPod Touch version. Google’s Listen is a great, free podcatching application, which offers functionality I haven’t seen in the iPhone universe. Locale shows you what restaurants, stores, gas stations, and so on are nearby, wherever you are. Google’s built-in navigation application is outstanding as well. Third party apps can run in the background, and plug into the common notification system, which helps make for a uniform experience.

Another sign of growing pains, or of an open platform, is that the apps I downloaded are updated very frequently; I have updates to download almost every day. Updates are easy to download and install, but there is no way to update all of your apps with one command, as there is on the iPhone. Overall, I’ve never had a problem updating applications, but if you dislike being on the leading edge of mobile platforms, you might have reservations about all the update notifications.

Locale Compatibility

The very cool Locale app does not update its geographic location properly with this phone. I’m not sure if this is a problem with Locale, or with the Droid phone itself. It would be awesome if the phone really were location-aware all the time.

Phone Calls

It’s easy to forget that this device, which is basically a palmtop computer, is also a phone. I think the sound quality is great, and I like the integration of the address book with Facebook, Gmail, and Google Contacts.