I got an iPhone 4 with AT&T recently, and I want to give my girlfriend my old iPhone 3GS but it's locked to AT&T on iOS4.1, and she has a T-Mobile contract. I originally thought it was pretty straightforward to do a carrier unlock (it was back in the days of my 3G), but from what I've read, it's pretty much impossible to unlock a 3GS on 4.1. Is that true? Am I pretty much screwed or is there anything I can do? I don't care about jailbreaking, although I hear that jailbreaking is pretty much the first step to unlocking. Is there any alternative to the software unlock through Cydia? Is there any type of hardware unlock using a SIM card or even modifying the hardware? There's a guy here in Houston who claims he can unlock any iPhone for $20 but I have a hard time believing that after reading about the difficulties of unlocking a 3GS on 4.1. Am I better off just selling it on eBay or is there some way of unlocking it? Any help would be much appreciated.