buggy features

The big guns in the Android development/mod community (these guys are more than mere hackers) have had a week to look at the T-Mobile G2, and study the is-it-a-rootkit-or-not mess -- and one of Android's most respected and beloved developers has spoken.  The problem with getting (and keeping) the G2 rooted correctly is because of a bug.  According to Cyanogen (aka Steve Kondik), there is no fail-safe to reload the system, there never was such a fail-safe, and in his own colorful way claims we were lied to all along.  He lays it all out in technical terms right here, but I'll try to break it down a bit. 

The controller that writes files to the "disk" really isn't writing anything to the disk, but reports that is has done so.  The NAND (that's what I'm calling a disk here) is locked the same way as every other HTC phone is, and no new system to protect the end user is in place.  This is the exact opposite of what T-Mobile has told us.  Whom to believe?  Well I think you all know my answer to that one.  [via @Cyanogen]


Reader comments

Modders cry shenanigans, say T-Mobile G2 'backup' is a sham


It's sad what these providers will do to make money. When we're paying full price for the equipment that we can't really own.

Don't buy it then. HTC/TMobile have made a business decision to go this route. And from what I can see other manufacturers/carriers are doing the same. With rooting being as prevalent as it is I can see their side. A friend of mine works for Verizon and he's constantly telling me stories about people rooting & screwing up things with their phones and then trying to bring 'em in claim service under warranty. I'm not defending the practice but I can see how the manufacturer/service provider would want to make an end run around even having to be bothered with it. If people are so up in arms over it they shouldn't buy one & organize a write in campaign to voice their displeasure.

I agree. Why is it that people think every new phone released "should" be able to be rooted? Whatever happened to buying a phone because you like it for what it is, and what it can do out of the box? It seems like if a new phone comes out, and you can't root it right away with no problems, then "It's a shame manufactures locked it down." Come on people. There are so many rootable phones, don't hate because a couple have a need for a work around because "it just has to be rooted."

Fastboot OEM unlock

if someone shows up at a carrier store with problems, and the phone's bootloader has been unlocked, laugh and tell them GTFO. Easy fix, and I'll bet that most of the people who have no business rooting their phones wouldn't do it a second time.

The current situation only punishes responsible, capable people who are furthering Android as a platform, in favor of dishonest, and incapable people who aren't.

A simple, cross platform solution to unlock and load custom firmware, while making people responsible for their actions is the only real solution. Until then, there's always the Nexus One.

What should be done is allow an official method of unlocking, and ALSO make it fail-safe like the G2 is supposed to be. So if anything goes wrong, you can just reset it to factory defaults.

This way, there would be no reason someone needs to warranty their phone due to custom ROMs, as there should be no reason they caused a problem. If someone still somehow manages to mess up their phone by flashing a ROM, then don't warranty it. But don't void hardware warranty for something that has nothing to do with changing software, such as a button going bad.

I also don't see why Google canceled the Nexus. Couldn't they just custom order HTC phones with a slight modification to allow unlocking the bootloader? If they sold over 150,000 Nexus Ones, why can't they order that many G2s customized with an unlockable bootloader and no crapware? That has no development cost, and allows HTC to sell more phones and people to have their unlocked bootloaders.

one of the reasons i love palm is for the webdoctor. something goes wrong. head over to palm and reboot to factory :)

Exactly. This is the best idea ever.

Make it a hardware switch underneath the battery. Flip the switch, turn on the phone, and everything resets to stock from a separate restore partition/drive. Flip the switch back, and use your phone like normal from that point forward. Easy, elegant, and no more warranty exchanges for bricked phones.

For those of us that like to root, give us the Fastboot OEM Unlock and we can immediately go to work on putting custom ROMs on our stuff. If we screw something up, we use the above method to restore to stock and start over, and the carrier/manufacturer is none the wiser.

Everybody wins. Let's get it done.

Seriously, I'm thinking this is not a bug & there is a hardware register somewhere which locks/unlocks the NAND to allow writes to all addresses. If the write masking is done in hardware, the OS will "believe" it wrote the data just as is described in the post. Finding the register could prove quite difficult.

Still glad I haven't yet purchased one of these...

While I'm only 90% sure that Cyanogen knows more about Android than anyone employed by T-Mobile, I'm 100% sure he has no agenda or reason to want a certain outcome. To him, it is what it is.

Agreed. Except ill go with 98% more knowledgeable. Have you called tmo for tech support!? Their answer to anything and everything is 1. Battery pull 2. System restore

Not going to discount the percentage. But I will say that as someone who does a lot of troubleshooting on phones, 90+% of all issues customers come in about (assuming not physical/water damage) can be solved by a simple battery pull or a factory reset.

So at the very least, you want to do these two things before going into more advanced troubleshooting.

It was really stupid of T-mobile to go along with the rumor that the phones have rootkits. I passed up purchasing one just because of that.

The biggest problem with the whole mess is that everyone says something different.

The New America Foundation are the ones who were saying rootkit.
HTC said nothing.
T-Mobile said it was a safety feature to keep phones from being bricked.
Cyanogen says it's just a controller bug.

Cyanogen doesn't want my money, nor need to cover his ass, so that's who I'm believing :)

Well T-mo didn't EXACTLY lie, it is a backup feature of sorts, and it does protect the user from horking over their own phone. They never promised you Root, and HTC probably was asked to make this lockout.

But if the phone can get OTA updates you know damn well its possible to write to the nand, and its only a matter of time before someone finds the loophole.

Tempest in a Teapot I say.

They will root this thing one way or another. Seems to me the most likely probability is simply a switch in the nand driver, and subbing in a driver from somewhere else will break thru this barrier, and reverse engineering the driver will find a surgical fix.

Intriguing. It's kinda funny that a dma controller would give erroneous completion status. Since it's probably a vector to a routine that kicks off a semaphore. It's more likely that the length of memory to be transferred has been zapped. Result is a success status and no bytes written. A deliberate effort. "If it ain't from the ota radio update, then it ain't getting written". Weird accidental bug. But the devs that are solving are phenomenal. Kudos.

There is no way this is an accident or a bug.

You clearly know nothing about programming or device drivers.

This is CLEARLY by design.

Biggest question on my mind is... Will HTC be doing this with all new phones or was it something that they did exclusively for Tmo? Tmo has been more vocal about it than HTC, and maybe they went thru more RMAs after botched root attempts with the G1 than the other carriers have... The EVO was ridiculously easy to root and unlock, it almost seemed life the developers got a series of engineering files from HTC handed down in a silver platter. Guess we'll knew soon enough after the Desire Z and new myTouch are out.

I suspect its T-Mo.

HTC has a pretty good reputation of working with developers, bending over backwards in many cases to help Nexus One owners even tho the warranty ends when you root the device.

It just doesn't sound like something they would do, when all they have to do is say Warranty Voided.

HTC locks down many of their phones ice. They may not use the same retarded hard locks that Moto likes to use, but they are not all easily rootable. I remember the hell it was to get the mytouch slide unlocked as well as a few others. I think it comes down to carrier requests more than anything.

The first mytouch was easily rootable. The slide was hell. The Mytouch HD has a 50/50 chance.. LOL.

This is one big reason why tmobile sucks and so does the g2! If this were Verizon or Sprint the tmobile fanboys would be taking trash about how verizon cripples there phones or if sprint had done this the trash talking would go on and on. But crappy a$$ tmobile does this and the fanboys take tmobiles side wtf you paid for your phone you should be able to do whatever u want with it they are taking away one of the best parts of having an Android phone and u idiots are okay with that? I'm not!

I give them an hour to waste time posting hundreds of them (they go the whole way back to like page 15 sometimes lol), and once they're done, I just wipe it all out with one fell swoop. It's more satisfying :)

Hmmm given the HTC has a reputation for being easy to boot, T-mo is just protecting consumers from themselves. This may piss off a few techies, but I don't mind. If you can still add software I'm in... If I dabble with dev I'll do it on a workstation anyway. Amazon has the G2 for $99 with a 2 yr. Enjoy.