• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Getting PPTP VPN to work from Android to DDWRT

I've had this issue for some time now and finally worked through it, so, after not finding an answer here, I decided to post what I did to get this to work.

First of all, I've got a Motorola Atrix 4G on AT&T, not Verizon, so I'm not wrestling with Verizon's VPN blocking scheme.

I have is a Linksys WRT54G home router (version 3) running the DD-WRT firmware (v24 sp1). This firmware is capable of allowing the router itself to act as a PPTP VPN server. (PPTP is deprecated due to a design flaw that makes it hackable, though not without effort. OpenVPN or other protocols are recommended.) Having set this up, I was able to successfully connect via VPN to my home network using a Windows laptop. However, I was not able to connect with my Android phone unless I unchecked "Enable encryption," which is naturally unsettling (even then I might sometimes get a server hung error, but simply retrying would work).

I finally came across this article on the DDWRT site:
PPTP Server Configuration - DD-WRT Wiki

This article explains that a DDWRT user may have issues with the VPN service when using a Mac because the default encryption on DDWRT is OPTIONAL. Whereas windows works with this setting, a Mac, according to the article does not. The fix is either to change the Mac to connect without encryption (ick), or...here it is...change the VPN service to REQUIRE ENCRYPTION. I immediately made the change in the article and my phone was able to connect via encrypted PPTP VPN over the AT&T cellular network (Edge, even...shudder).

To abbreviate the article, which I recommend reading, from the DDWRT web interface (and this depends on your version), go to Administration -> Commands and run this command to change the encryption options from optional to required...

sed -i -e 's/mppe .*/mppe required,stateless/' /tmp/pptpd/options.pptpd
This changes a line in the pptp options file from
mppe stateless
to
mppe required,stateless

That's not quite all you have to do. This file is created when the router boots up, so any changes
to this file will be cleared when the router is rebooted. So that's where saving that above
command to the startup scripts will keep you in business. Again, I defer to the article.

And for me, that's all it took. I hope it's as simple for someone else that, like me, has
been pulling out there hair.
 
Back
Top Bottom