If you try to downgrade your iPhone 3GS to any version from 4.2.1 all the way to 4.3.5, you will get error 1015 and tinyumbrella wont work. This is because every time you update your iPhone, iTunes automatically updates the baseband. When you try to downgrade it, iTunes tries to update the baseband but is unable to because your baseband is higher since it was already updated in the past and you’re trying to go back to a lower baseband which is not possible. You can skip the baseband update by following the step-by-step video below.
Fix Recovery (Windows) - Make sure to use Fixrecovery43 NOT Fixrecovery421
Fix Recovery (Mac) - Make sure to use Fixrecovery43 NOT Fixrecovery421
Zlib1.dll - Make sure to place this in the same location as Fixrecovery43
Note, if you get the infamous error 60000ms, go to this guide to figure out how to fix it.