PinePhone as Modem

Configure Mobile Data

Go to Settings » Mobile » Mobile Data » Access Points » [+] button

Add network name and APN, e.g. Name: 3 internet APN: three.co.uk

Sharing 4G with Hotspot

Run and create new hotspot connections with SSID `Pinephone` and Password `HotspotPassword`:

sudo nmcli device wifi hotspot ifname wlan0 con-name Hotspot ssid Pinephone  password HotspotPassword

Stop the hotspot from NetworkManager. To restart your hotspot you can use the 3 dots menu “Connect to hidden network”

Sharing internet from your PC via USB

Set up ip-forwarding on your PC and configure your USB ethernet device's IP:

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
sudo iptables -A POSTROUTING -t nat  -s 10.0.0.0/24 -j MASQUERADE
sudo iptables -P FORWARD ACCEPT
sudo ip addr add dev $USB_INTERFACE 10.0.0.1/24

where you should replace $USB_INTERFACE by the name of your interface (e.g enp7s0u1c2 or usb0)

You need to install pinephone-devtools on your phone and set the correct DNS server in /etc/resolv.conf:

sudo apt install pinephone-devtools
cat << EOF | sudo tee /etc/resolv.conf
search $LOCAL_DOMAIN
nameserver $LOCAL_DNS_IP
EOF

where you should replace $LOCAL_DOMAIN by your local domain (e.g local) and $LOCAL_DNS_IP by a valid DNS server (e.g 192.168.1.1 or 9.9.9.9)

Note: If you only just installed pinephone-devtools you might need to restart the PinePhone once. Since the pinephone-devtools also enable SSH access to the phone it is strongly recommended to change your passwords first.