I had registered with Cydia and had edited my etc/host file (on mac) as directed

When I used Pwnage to create a custom ipsw, I mistakenly left the activate option checked, which i didn't want to do since i am using at&t. 3.1 worked, but no carrier.

so...i tried to start over, by downgrading to 3.0, but kept getting error 20, even though I was in DFU mode (had someone watch me do this to confirm that I was doing it correctly). It would start the process fine, then towards then end, jump out of DFU mode and back into restore mode. I was using firmware:
iPhone2,1_3.0_7A341_Restore.ipsw

while in dfu mode, near the end of the process, it would jump out of dfu mode into restore mode and then i'd get the error 20.

i tried a different usb cable, tried a pc, was about to use another mac with itunes 8 on it (my mac has 9.01).

then i thought, well how about trying to restore to 3.01, so i did a google search for 3.01 firmware for the 3gs and found the file:

iPhone2,1_3.0.1_7A400_Restore.ipsw

redid the whole dfu, option restore method with this new 3.01 file on my mac and it worked!!!!!!