Recently, I have found that the GPS function on my iPhone 3G works terribly. I upgraded its firmware to iOS 4.2.1 two months ago (obviously with the new baseband). I also unlocked it by using the baseband version 6.15.00 of the iPad 1 while I was in Viet Nam last month. When I came back to Japan, I have found two following problems with my iPhone 3G.
Battery Issue
The battery drains dramatically. After reading a huge amount of posts on the Internet, I found that it is related to the unlock function. Therefore, I repaired it by using PwnTool 4.2 to create a new 4.2.1 custom firmware without unlocking feature. The issue has been solved.
To whom that still needs the unlock feature, please using Google with the keyword "SAM".
GPS Issue
The GPS function works very slowly with terrible accuracy. A post on the Dev-Team Blog said that some users complained about the GPS function when they upgraded the firmware to 6.15.00. However, I remember that the GPS function worked well at the time I installed the new firmware without unlocking feature, and it only became badly after a day. I have tried many solutions until I read a post on the Apple Support Communities. I reset the location warnings on the iPhone, and the GPS works well now. To do it, please go to Settings -> General -> Reset -> Reset Location Warnings. This will delete the list of apps which are permitted to use GPS. I have no idea why it helps to improve the performance of the GPS function. I will update the status of the GPS on my iPhone after several days to show whether it really works well.
Update #1: My GPS still works badly.
Update #2: There is no way to fix this problem. The work is continuing due to @MuscleNerd.
Update #3: The problem had been solved with the awesome tool from @MuscleNerd, which allows us downgrade the baseband of iPhone 3G and iPhone 3GS from 6.15.00.
Update #1: My GPS still works badly.
Update #2: There is no way to fix this problem. The work is continuing due to @MuscleNerd.
Update #3: The problem had been solved with the awesome tool from @MuscleNerd, which allows us downgrade the baseband of iPhone 3G and iPhone 3GS from 6.15.00.