Here's an extremely easy way to enable tethering on your iPhone 3G and 3GS (even on AT&T!) by just visiting a site on your iPhone's Safari. No jailbreaking needed. Here's where you go:
Then scroll down to the Tethering & Internet Settings, then choosing your country and provider. This works for both AT&T and T-Mobile, and will let you install the appropriate configuration.
Now go to your settings and enable tethering. Check the video walkthrough above to help you configure tethering.
We've been testing this for about a day and it's been working quite well. Just be careful though, that AT&T doesn't officially sponsor this and might charge you extra for using tethering while you're not supposed to. So, keep an eye out so you're not shafted at the end of the month.
And if this disables visual voicemail on your phone, just go and reset your network settings, and it should be fixed. If that doesn't work, try updating your phone with an older version of the AT&T carrier settings.
The method is an update of what we showed before, but with a method to get MMS and Visual Voicemail working.