Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

radiantm3

macrumors 65816
Original poster
Oct 16, 2005
1,022
0
San Jose, CA
I find it crazy that people actually think Apple purposely wrote code to "brick" people's phones. I came across an interesting article on how software/hardware generally works and how it relates to the recent software update on the iPhone. A good read especially for the ignorant folks who normally don't read things and think they understand how things work.

http://tinyurl.com/32xy8j
 
I find it crazy that people actually think Apple purposely wrote code to "brick" people's phones. I came across an interesting article on how software/hardware generally works and how it relates to the recent software update on the iPhone. A good read especially for the ignorant folks who normally don't read things and think they understand how things work.

http://tinyurl.com/32xy8j
Bravo, very very good article. Smart, and to the point. Here's an excerpt to show the level of discussion:
In other words, you have a complex system of at least 3 processors interacting, each one with a boot ROM, two with flash memory containing state information. Powering up such a beast is a complex dance of each one waking up, testing its peripherals, checking its own state, then trying to talk to each other, then communicating to bring the entire system into a working state. Furthermore, the necessities of the cellphone system and of testing out such a complex piece of hardware mean that the iPhone must decide, on each power-up, in which of several states it's in: factory testing, just out of the box, activated, reloading the main firmware, working, "plane" mode, and so forth. This is usually done by writing special values to reserved sections of the various flash memories, and of making sure they are always consistent with each other by checksumming and other technical arcana. Should they be found inconsistent, the system will probably try to regress to a simpler state and start over there, in the extreme throwing up its metaphorical hands and plead to be returned to the factory. Ideally, firmware writers strive to make it impossible to "brick", unless an actual hardware defect occurs, of course; in practice, it's rarely possible to envision all possible combinations of what could happen, and too few designers do assume a malicious agency is trying to trip them up at all times.

So, what do these various hacks do to unlock the iPhone? They rely upon bugs in the communications software, firstly, to make the system fall back into a state where it pleads for an external agency to reload its main firmware; cleverly substituted instructions then make it do new things. After several, progressively more complex, phases of this, new applications can be installed.
Mm, hm. And honestly, I'm not an engineer, but this below ALSO reads like the basic scenario I've had running in my head. Some of the hackers have been engaging in "politics" by saying its anything different, and trying to BLAME Apple. Moreover, there is MONEY at stake, so they do NOT want to assume anything approaching "blame" or any notion of "this was the risk we took".
When it powers up, the state is sufficiently consistent - the various checksums check out OK, for instance - for the various processors to confidently start working. However, a few actual values are different from the intended ones - enough to let a different SIM card work, say. Now, if the hackers had the actual source code and documentation available, all this could be done in a reliable way. But this not being the case, they had to work by testing changes in various places and observing what happened, clearly not an optimal process.

Consider, now, the software update process. It assumes that the iPhone's various processors and firmware(s) are in one of the known states - indeed, this is required for the complex cooperation required for uploading new software. If this cooperation is disrupted, the update may not begin - leading to an error message - or, worse, it may begin but not conclude properly. At this point, one or more of the iPhones processors may try to enter a recovery routine, either wiping the flash memories or to reinitialize them to a known state.
There is a BIGGER picture to this than people realize. Definitely read this article. Personally, I'm going to save it to my hard drive, and submit it to Digg.

THERE, DIGG THIS STORY!
http://digg.com/apple/iPhone_Bricking_The_Inconvenient_Truth_from_a_Software_Engineer/blog

~ CB
 

LizKat

macrumors 604
Aug 5, 2004
6,766
36,273
Catskill Mountains
That was interesting indeed... and without going there I would never have ended up just now rolling on the floor over the link to the Schrödinger's Cat gig referenced later in that page. The second video, the one with the kittens, had Spoon's Sister Jack for audio, I loved it.
 

Sobe

macrumors 68000
Jul 6, 2007
1,791
0
Wash DC suburbs
very good read.

The first thing that popped into my head was:

I'm fairly well educated on tech and computers (I'm sure many know more and some know less).

A lot of that stuff is way over my head.

Makes me wonder how much of this entire issue is people making changes to their phone that they have absolutely no understanding of whatsoever.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.