Jailbreak developer MuscleNerd recently spoke at HITB2012 on the challenges of cracking the iPhone baseband and the evolution of unlocking methods. If you jailbreak and unlock your iPhone you may be interested in hearing what MuscleNerd has to say about how the baseband functions and what goes into creating an unlock.
Just like any other piece of hardware or software, the iPhone baseband and the software Apple uses to make it function has changed over time. This is why we sometimes have to wait for a tool to be updated in order to unlock a new iPhone or an updated version of iOS.
MuscleNerd goes on to explain how different types of unlocks operate such as the difference between a software and hardware unlock. Software unlocks typically require a jailbreak with tools such as redsn0w followed by running a program package in Cydia such as ultrasn0w.
You get a lot of harrassment when a SIM interposer is released and ultrasn0w hasn't received an update. SIM interposers are dealing with a fundamentally different interface than we are. They're dealing with the SIM interface which is not an AT Query kind of thing. In some respects it is but they have a very limited set of things they're allowed to do with the baseband. They're not allowed to control it but can interact with it.
A hardware unlock normally involves using a SIM interposer such as a Gevey SIM or TurboSIM that will sit in the SIM tray along with your own SIM card. It bypasses or changes system checks with hardware to allow your iPhone to run on another network. Sometimes hardware unlocks will not even require a jailbreak.
MuscleNerd goes on to talk about how basebands have changed over different iterations of the iPhone and compares them to other Qualcomm handsets and how changing to a Qualcomm chipset has changed the way the baseband functions and how tools are created. The whole keynote is pretty interesting if you've ever wondered what what goes on behind the scenes when you're booting up your iPhone and how the baseband dictates what networks your iPhone is allowed to run on.