Ensure your phone is rooted
adb pull /system/etc/apns-conf.xml
Add the carrier data to apns-conf.xml with your favorite text/xml editor and save
adb push your modified apn-conf.xml file back to /sdcard/
Copy this file back to /system/etc/ and change permissions (I use root explorer)
Power down and change your SIM card (AT&T, T-mobile, whatever) if you hadn't already done so
Power back on and go to Settings -> More Settings -> Mobile Networks -> Access Point Names (if done properly you should see the APN data you entered for your respective carrier).
Select one of the APN listings and then you should have working data