This is **not** a simple configuration and requires a lot of potentially dangerous changes to your system. The Quectel EC25 modems need a package from the ```testing``` Debian apt tree which is not available on ```stable``` or ```stretch```. Having multiple trees setup at the same time on Debian can quickly de-stabilize your Lollipop can cause strange problems.
Only perform these steps and operations if you *must* have a Quectel EC25 and cannot find a modem that's supported by default by Debian ```stretch``` or Debian ```stable```.
See the ```advanced/debian_multi_repo.md``` documentation and setup the ```testing``` apt tree at a minimum.
Once complete, continue. *The Quectel EC25 will **NOT** work without this step being complete.*
# Setup LTE/3G/etc Support
``` bash
apt-get update
apt-get install -t testing libqmi-utils
systemctl reboot
```
# Setup NetworkManager/ModemManager
After rebooting in the previous step the modem should work 100% with our standard NetworkManager and ModemManager docs. Head over to them for your appropriate distribution for final setup of the modem internet connection.
# Setup GPS (Optional)
Prior to setting up GPS make sure you have an antenna connected to the EC25. We've had reasonable success with this one: https://www.mouser.com/ProductDetail/673-GPSMOD1333
If you find yourself on a pure ipv6 network with NAT64/DNS64 deployed, you'll need the following breadcrumbs and information to get things online.
This section is a Work In Progress and not 100% working. Help Welcome.
## Figure out NAT64 endpoints via RFC7050
This may or may not be deployed on your carrier's network. Start here for decyphering NAT64 prefixes.
``` bash
host ipv4only.arpa
ipv4only.arpa has address 192.0.0.170
ipv4only.arpa has address 192.0.0.171
ipv4only.arpa has IPv6 address 2607:7700:0:26::c000:aa
ipv4only.arpa has IPv6 address 2607:7700:0:26::c000:ab
ping 2607:7700:0:26::8.8.8.8
```
## Figure out NAT64 endpoints w/o RFC7050
See the ```rfc7050.py``` script and ajust it lightly to look for an ipv4 only DNS record so the prefix can be found programatically by the rest of the script.
## Turn on DNS64 in Unbound
You'll need an additional include line in the config *above* the existing one for ```/etc/unbound/dns64.conf```.
``` bash
cat > /etc/unbound/dns64.conf <<EOF
module-config: "dns64 validator iterator"
dns64-prefix: 2607:7700:0:26::/96
EOF
systemctl restart unbound
```
## Turn off DNS64 in Unbound
This is how you'd turn off DNS64 when back on ipv4 in some capacity.
``` bash
cat > /etc/unbound/dns64.conf <<EOF
#module-config: "dns64 validator iterator"
#dns64-prefix:
EOF
systemctl restart unbound
```
## Dig into the clat setup
See ```clat.md``` for additional details on how to setup routing for the NAT64 edge. This is not working 100% and you've been warned some iptables and similarly difficult tech tinkering is required.