Configuring tethering
Wi‑Fi can be unreliable because it’s a shared radio link: interference/congestion, roaming/power‑saving, and network restrictions can cause packet loss, jitter, or dropped long connections even if normal browsing works.
Tethering (USB or Ethernet) makes your computer use the phone as a wired network interface, avoiding Wi‑Fi variability and often giving steadier latency; USB tethering also commonly keeps the phone charging during use.
Tethering can help reduce lag, especially if Wi‑Fi is the cause. If you’re unsure, try a tethered connection.
iOS
Phone setup
- Plug the iPhone/iPad into the computer with a USB cable, enable Personal Hotspot: Settings → Personal Hotspot (or Settings → Cellular → Personal Hotspot) → turn on Allow Others to Join.
- Connect the iPhone/iPad to the computer with a USB cable; if prompted, tap Trust on the device (and enter the passcode), and if macOS shows “Allow accessory to connect?”, click Allow.
macOS setup
- Open System Settings/Preferences → Network and select iPhone USB (add it if it’s missing).
Windows setup
- After Personal Hotspot is enabled and the device is trusted, Windows should detect a new network connection over USB.
- If it doesn’t work, install/update iTunes (to get Apple’s USB/device drivers), then reconnect the cable and retry.
Linux setup
- Install
libimobiledevice and usbmuxd; usbmuxd typically starts automatically when you connect the device.
- Enable Personal Hotspot and plug the iPhone in; you should get a new Ethernet-style interface and can use DHCP via your network manager (e.g., NetworkManager/systemd-networkd).
Verify + common issues
- Confirm a new network interface appears right after enabling Personal Hotspot and connecting via USB.
- Personal Hotspot shares the iPhone/iPad’s cellular data connection; if you can’t enable it, it may be restricted by your carrier/plan.
Android
Phone setup
- Plug the phone/tablet into the computer with a USB cable, then enable USB tethering in Android’s tethering settings (commonly under Settings → Network & internet / Connections → Hotspot & tethering).
- The menu path can also look like Settings → More… → Tethering & mobile hotspot → USB tethering, depending on Android version/OEM.
- On Linux, the specific USB “mode” you pick (charge/file transfer) usually doesn’t matter for tethering, but you typically can’t change that mode while tethering is active.
Windows setup
- After enabling USB tethering, Windows should detect a new wired network adapter and obtain an address automatically (DHCP).
- Make sure your app binds to the tethered interface IP, and disable Wi‑Fi if Windows keeps routing through the wrong interface (optional but often helpful).
Linux setup
- After enabling USB tethering, Linux will usually expose a new network interface (name varies by distro/USB port, e.g.,
usb0, rndis0, or enp…), and the name can change depending on which USB port you use.
- Bring the interface up and use DHCP (NetworkManager typically handles this automatically; with systemd-networkd you can set
DHCP=yes for the matched interface).
Verify + common issues
- Confirm you see a new network interface on the computer right after toggling USB tethering on the phone.
- If the toggle is missing/greyed out, reconnect the cable and try again; tethering availability can depend on device/OS state and where the setting is located.
- If you need the link to be automatic: some Android builds offer Developer Options → “Default USB configuration”; if yours has it, setting it to tethering/RNDIS can reduce manual steps (device-dependent).
Note: Sadly, macOS computers do not support USB tethering with Android phones.
Ethernet Tethering
It’s basically plug-and-play and works on macOS, Windows, and Linux. The only important thing is to use a USB-to-Ethernet adapter that’s compatible with your phone, so it gets recognized automatically as a network interface.
To use it, connect through this new interface to the same local network as the computer running the DCC.
If the device is also connected to that network over Wi‑Fi, it’s best to disable Wi‑Fi to prevent the system from using the wrong interface.