# Alpine 5G Router – Quick Start Get a new device from zero to 5G router in a few steps. ## Prerequisites - Raspberry Pi 5 (or compatible) with Alpine Linux installed - Fibocom FM350-GL modem connected via USB (Mode 40: 0e8d:7126) - SIM card with data (e.g. CYTA Cyprus, APN `internet`) ## 1. Clone repo on the device (or copy files) ```bash # If you have git on the device: git clone https://github.com/YOUR_USER/Alpine_5G.git /tmp/Alpine_5G cd /tmp/Alpine_5G # Or: copy the repo (e.g. scp -r Alpine_5G root@device:/tmp/) ``` ## 2. Install packages (on the device) ```bash # Enable community repo if needed sed -i 's|#.*community|http://mirrors.neterra.net/alpine/v3.23/community|' /etc/apk/repositories apk update apk add iptables libmbim-tools qmi-utils # Optional: dnsmasq for LAN DHCP/DNS, speedtest-cli for speedtests apk add dnsmasq speedtest-cli ``` ## 3. Run install script From the repo root: ```bash cd /tmp/Alpine_5G chmod +x scripts/install.sh ./scripts/install.sh ``` This installs: - `/etc/5g-router.conf` (from example – edit if needed) - `/usr/local/bin/connect-5g.sh`, `status-5g.sh`, `healthcheck-5g.sh`, etc. - `/etc/init.d/5g-router` (OpenRC service) - `/etc/iptables/rules.v4` - Enables `5g-router` at boot ## 4. Edit config (if needed) ```bash vi /etc/5g-router.conf ``` Set at least: - `APN` – e.g. `internet` for CYTA - `WAN_IF` / `LAN_IF` – default `eth1` and `eth0.100` are usually correct Optional: `FAILOVER_ENABLED=yes` and `FAILOVER_IF=eth0` to use ethernet when 5G is down. ## 5. Start 5G and test ```bash service 5g-router start # Or run once: /usr/local/bin/connect-5g.sh # Check status /usr/local/bin/status-5g.sh # Test connectivity ping -c 3 8.8.8.8 ``` ## 6. Enable iptables restore at boot (if not already) ```bash rc-update add iptables-restore default ``` ## Done The device will bring up 5G at boot. To restart 5G: `service 5g-router restart`. For full docs see [README.md](../README.md) and [5G_MODEM_TROUBLESHOOTING.md](../5G_MODEM_TROUBLESHOOTING.md).