**i DID edit the /system/csc/customer.xml file to change a few of the APN settings, like changing the APN protocol from ipv6 to ipv4, making profiles editable, etc. - you need root to do this - but changing that file shouldn't be required

2) i haven't tested this out on windows or linux yet. you might have to install the USB drivers to create a new connection.

connect your phone via USB. in OSX, go to network preferences, click on the (+) to add a new interface, then select SAMSUNG_Android from the list of interfaces. i would assume in windows and linux you'd just create a new dialup connection, then use whatever the phone shows up as the name for the modem/interface - but i'll go back to this later.

make sure the telephone number is *99#
user and password you can leave blank

DNS: set to whatever DNS servers you want, or leave blank to go with t-mobile's (though i don't recommend that) - i use dnscrypt so mine is 127.0.0.54 but that won't work for you - here's a couple free/uncensored/unlogged DNS servers from censurfridns: 89.233.43.71, 89.104.194.142

PPP echo packets OFF (unchecked)
TCP header compression ON (checked)

now click "apply" to save the settings, then "connect"!

i always use a VPN - if you get any t-mobile tethering upsell pages, you can use a VPN to encrypt all your traffic, or set your browser's user agent to Safari on OSX to get around it. so far i haven't run into any issues like that, and it's pretty fast.. i get anywhere between 15 - 30 Mbps. here's a screenshot from speedtest.net connecting directly:

XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality.Are you a developer?