If you have to just modify the iPhone 3G baseband to 2.28 without updating the firmware to 2.2 or 2.2.1, this is the easiest method to follow! The main reason for only upgrading the baseband to 2.28 is to achieve software unlock and still preserving all the jailbreak apps and appstore apps on the iPhone 3G. This has nothing to do with downgrading the baseband from 2.30 to 2.28 though.
Steps required in order :
2) Make sure your iPhone 3G is jailbroken and has MobileTerminal, openSSH installed from Cydia
4) Place the extracted folder (rename it to bb for convenience) downloaded in step 1 on the iPhone at / var / root / via SSH
5) Launch MobileTerminal and type the following commands in order : (Take a look at the MobileTerminal commands image below)
chmod 755 BBUpdaterExtreme
launchctl unload /System/Library/LaunchDaemons/com.apple.CommCenter.plist
./BBUpdaterExtreme update -f ICE2_02.28.00.fls -e ICE2_02.28.00.eep
6) Restart your iPhone 3G
You should be on 2.28 baseband necessary for yellowsn0w thereby preserving all your jailbroken iPhone apps intact!
Courtesy : Dev Team for making it possible. I just am illustrating the process. I take no responsibility for any damages that may occur due to improper usage of the files listed here.