I have the T-mobile $30 unlimited prepaid plan and I ran into the tethering block after getting my Nexus 5.



I was able to work around the issue by modifying the following sqlite database (you'll need root):

/data/data/com.android.providers.settings/databases/settings.db



You need to add a new entry to the global table called "tether_dun_required" with a value of 0.



It looks like you need to do this because some configuration data was added to Android for T-mobile that forwards tethered data to this APN: pcweb.tmobile.com

T-mobile is probably checking to see if your account has tethering enabled when you go through this APN.



After I made this change I also needed to change my APN settings so that it uses ipv4 instead of ipv6. It seems like tethering with ipv6 does not work 100% yet.



I hope this helps.