# omatether iPhone USB tethering for **Omarchy / Arch** (systemd-networkd + iwd stack). Plug an iPhone in over USB and use its internet connection — the phone's Wi-Fi if it's on one, cellular otherwise. Fully headless, no GUI required. ## How it works - `usbmuxd` handles the iOS pairing/trust handshake (udev-activated, no service to enable) - the kernel's `ipheth` driver exposes the phone as a normal network interface - a `systemd-networkd` profile (`10-iphone-tether.network`) matches by `Driver=ipheth` and DHCPs it, at **fallback priority** (route metric 750) so it never hijacks ethernet (100) or Wi-Fi (600) ## Install ```bash ./omatether.sh install # packages + networkd profile ./omatether.sh pair # unlock phone, tap Trust ``` Then on the phone: **Settings → Personal Hotspot → Allow Others to Join: ON**. The connection comes up automatically whenever the phone is plugged in. ## Commands | Command | What it does | |---|---| | `install` | Install usbmuxd/libimobiledevice, write networkd profile | | `pair` / `unpair` | Manage the Trust pairing | | `status` | Device, interface, IP, route, live connectivity test | | `priority high` | Route all traffic via the phone even when ethernet is up | | `priority low` | Back to fallback-only (default) | | `uninstall` | Remove the networkd profile | ## Notes - iOS shares whatever uplink it has: on Wi-Fi it shares the Wi-Fi; otherwise cellular. - The tether interface usually appears as `eth0`; the profile matches by driver, not name. - `RequiredForOnline=no` — an unplugged phone never blocks boot. - DNS follows the Omarchy convention (`UseDNS=no`; global resolvers via systemd-resolved).