Finally! It’s intricate, convoluted and definitely not worth the £5/month saving but it’s a victory none the less.
It appears Three uses layer 7 packet inspection to detect if you’re using a browser with a non-mobile user agent. Just change the damn user agent, I hear you cry. Sadly not. This does work for a few seconds before Windows sends some packets in the background that screw the whole thing up. Also, web pages show in mobile mode. During testing, I was blocked a few times. Turning Airplane mode on for a few moments and then off again cleared this.
Annoyingly, when Windows connects to a WiFi network it does some useful HTTP requests to see if you have access to the web. Once you do, it considers you fully connected. However, this lets Three know you’re tethering and they block you. The solution I have found is thus:
- Enable Windows firewall on your computer
- Use the “Windows firewall with advanced security” tool to block ALL outbound traffic from your computer. This doesn’t actually do what it says on the tin as DHCP requests and the suchlike still work
- Enable the personal hotspot on the iPhone and connect up to it via Wifi. Windows will say there’s “Limited connectivity”. This is ok.
- Browse the web using Safari on your iPhone and ensure you can flick from page to page fairly quickly. A slow connection won’t help your case here
- Have a VPN configured and on Standby on your computer. Ensure that, in the properties of the VPN, under Networking->IPv4->Advanced the “use default gateway on remote network” box is checked
- Disable the firewall rule you created. The quickest and least obtrusive way to do this is using the “Disable rule” button on the right of the firewall manager
- VERY QUICKLY! after this, connect up to your VPN. With any luck, you’ll connect up before Windows blabs on you. Once you’re connected, everything will go over the VPN and Three won’t be able to inspect your packets
If you fail, just try again. It’s all about getting the timing right. As I said, enable airplane mode, wait a few moments and enable it again. If you can browse the web on your phone then you’re all reset and ready to try again.
Happy to answer any questions if you leave a comment. I’m not going to hand-hold in getting or connecting to a VPN – I’m sure you can work this out yourselves 😉