Okay so I tried downgrading from iOS 4.0 on my iPhone 3G to 3.1.3 and it has not been working at all. I have a T-Mobile SIM card, FYI. If I use Spirit to jailbreak it, it just gives me an error. If I use sn0wbreeze, it only gives me the custom firmware and I cannot do anything with it. redsn0w doesn't work because once it tries to install its custom firmware, the iPhone will not take it. It will simply boot to the screen telling me to connect to iTunes. Basically when I try to restore my iPhone thru iTunes with sn0wbreeze's firmware, or even the official firmwares such as iOS 4.0.2, 3.1.3, or 3.1.2, my iPhone will not restore and it will take me to the screen asking me to connect to iTunes while iTunes stays on the progress bar saying "Preparing iPhone for restore". Also, my iPhone is currently on 3.1.3.