I have the ATT unlocked version of the First. Rooted, S-off, Wifi tethering app, set to profile wlan0, I think i had to enable one of the checkboxes for reloading wifi-driver or it would stay stuck on or off and wouldn't toggle nicely, but for me the problem was I could connect to the wifi, but get no data through.
Turns out the carrier is blocking all the public DNS servers (so if you knew the actual IP address of a website, you could go there but clicking on virtually any link would get you nowhere since they are associated with additional url's and not IP addresses.
Fix was to uncheck the box on my laptop that says automatically retrieve DNS settings and manually set the preferred DNS server to whatever your phone uses (which there are apps on the marketplace that display the information). Make sure when getting your phones DNS info you are using the cellular connection and not the wifi. If you are tethering from mobile device to another, say a tablet then you'll need another app (for said tablet) that lets you change the devices DNS settings (not sure but that might also require root).
I just noticed that the wifi tether app i am using also has DNS settings but I haven't messed with that.
The app I used to get my carriers DNS was CompruebaIP
hopes this help, I found this on some obscure forum post after hours of searching and it solved my problem.