Skip to content
Localtonet Localtonet Dashboard

USB devices

Beta

On this page 7 sections
  1. How it works
  2. Before you start
  3. Set up a USB device
  4. Add the device with the wizard
  5. Turn on USB device mode for the token
  6. Create a proxy that uses the device
  7. Start the tunnel
  8. Connection details
  9. IP change steps
  10. Writing your own steps
  11. Import, copy and AI help
  12. Step templates
  13. Device settings
  14. Change IP links
  15. Delete a device
  16. Troubleshooting
  17. Related pages

Use a USB modem or an Android phone as the internet connection of a proxy tunnel, and change its IP on a schedule or with a link. You add the device under My USB Devices; the Localtonet app on the computer it is plugged into does the rest.

How it works #

One computer runs the Localtonet app and has one or more USB modems or Android phones plugged in. Each of them is a USB device in your dashboard. A Proxy Server tunnel that you link to a USB device uses that device as its internet connection.

To give the device a new IP, the app runs the device's IP change steps. What those steps are depends on the kind of device:

KindHow the app reaches itHow the IP changes
Modems with a web admin pageThe app opens the modem's admin page from the computer the modem is plugged into.The app signs in to the admin page and turns the modem's mobile data off and on.
Modems controlled over a serial portFor USB sticks in stick (NCM/PPP) mode: the app talks to the modem through its serial port.The app sends AT commands to the modem's COM port.
Android phonesConnected with USB tethering. The app finds the phone by its ADB device ID.The app turns airplane mode on and off over ADB.
Not listedAny other modem with a web admin page.You write the steps for its admin page yourself.

My USB Devices lists these as supported devices: Huawei HiLink, ZTE, Alcatel / LinkZone, AT command modems and Android phones (ADB). Tenda MF and D-Link DWM support is experimental: changing the IP may not work on every firmware.

Before you start #

  • The Localtonet app must run on the computer the device is plugged into. Get it from the Downloads page.
  • An AuthToken for that computer. You turn on USB device mode for it in step 2 below.
  • For a modem with a web admin page: the address of the admin page, which is often printed on the modem's label, and its username and password if it has them.
  • For a serial modem: its COM port. On Windows, look in Device Manager under Ports (COM & LPT). On Linux it is usually /dev/ttyUSB0 or /dev/ttyACM0.
  • For an Android phone: USB tethering and USB debugging turned on, and the adb command available on that computer. The app runs adb to control the phone.

My USB Devices is in the menu of your personal dashboard. It is not shown while a team is selected.

Set up a USB device #

  1. Add the device with the wizard #

    Open My USB Devices and select Start setup wizard. The wizard has three steps:

    StepWhat you do
    ModelPick the model that matches yours. You can search the list. Not listed? Choose Other device and write the steps yourself.
    ConnectionEnter how the app reaches the device. The fields depend on the kind of device, see Connection details.
    IP change stepsReview what the app runs to change the IP. A listed model either comes with built-in steps or asks you to write your own. Not needed for Android.

    Select Add device. The wizard confirms that the device is added and shows the next three steps.

  2. Turn on USB device mode for the token #

    On My Tokens, open the Token settings of the token you use on the computer the device is plugged into and turn on USB device mode.

  3. Create a proxy that uses the device #

    On Proxy Server, create a proxy with that token and choose the device in USB device. The field appears once the selected token is in USB device mode.

  4. Start the tunnel #

    Start the tunnel. To change the IP on a schedule or with a link, open the device's settings on My USB Devices.

Connection details #

FieldUsed forWhat to enter
Device nameAll devicesShown in your device list and in the tunnel's USB device setting. At most 100 characters.
Admin page addressModems with a web admin pageThe address you open in a browser to reach the modem's admin page, like http://192.168.8.1.
Username, PasswordModems with a web admin pageWhat the app signs in to the admin page with. Required when the model's steps sign in with them, otherwise only if the admin page asks for them.
COM portSerial modemsCOM3 on Windows or /dev/ttyUSB0 on Linux.
Baud rateSerial modemsKeep 115200 unless the modem's manual says otherwise.
ADB device IDAndroid phonesPlug the phone in, turn on USB debugging, run adb devices on that computer and copy the ID in the first column, for example R58M12ABCDE or 192.168.1.20:5555.

IP change steps #

A device either uses the built-in steps of its model or its own steps.

  • Use the built-in steps is recommended. Fixes to the model's steps reach the device on their own.
  • Write my own steps replaces the built-in steps for this device only.
  • Android phones change their IP by turning airplane mode on and off, so they have no steps to edit.

To change the steps of an existing device, select Edit IP change steps in its row. The app loads the steps when a tunnel starts, so restart the tunnels that use the device after you save.

Writing your own steps #

The app runs the steps in order and waits after each one. A device can have at most 30 steps. Each step is an HTTP request or an AT command.

FieldStep typeWhat it does
MethodHTTP requestGET, POST, PUT, PATCH or DELETE.
URL pathHTTP requestOnly the path, starting with /, like /api/dialup/mobile-dataswitch. The app puts the admin page address in front of it.
BodyHTTP requestThe request body or form fields. Write _username_localtonet_ and _password_localtonet_ where the modem's username and password go. The app fills them in from the connection details, so a step never contains the password itself.
AT commandAT commandThe command the app sends to the serial port.
Expected replyAT commandThe reply the app expects, OK by default.
Wait after (ms)BothHow long the app waits after the step, from 0 to 600000 ms.

The settings button of a step opens Step settings with the less common options:

SectionOptions
RequestContent type, Send the body as a query string, and Extra headers as a JSON object of header names and values.
Sign-inThis step signs in, Keep the cookies for the next steps, Password format and Username format: how the placeholders are written into the body.
Tokens from responsesStore from a JSON response, Store from an XML response and Send stored tokens as headers: keep a value from one response and send it as a header in a later step.
RetriesAttempts, 1 to 10, and Wait between attempts (ms), 0 to 60000.

Set the password format of a sign-in step. When a step signs in without one, the app tries Base64, MD5 and plain sign-ins one after another. That can lock the admin page.

Import, copy and AI help #

  • Copy JSON copies the steps as JSON. Import JSON replaces the list with pasted JSON. Nothing is saved until you save.
  • Let an AI assistant write the steps: Claude Code or Codex, running on the computer the modem is plugged into, can work out the requests or AT commands that give the modem a new IP and test them. Select Copy prompt, paste it into the assistant on that computer, then import the JSON it gives you, check it and save. For a serial modem, close the Localtonet app there when the assistant asks: the app keeps the serial port open.

Step templates #

The setup page has two more tabs for people with many modems of the same model:

  • Step templates: save a set of IP change steps once under a name. Made for is only a label to help you find it.
  • Apply a template: copy a template's steps to several devices at once. The template's steps replace the steps of the selected devices. Devices that use their model's built-in steps switch to the template's steps.

Deleting a template does not change devices you already applied it to. They keep their steps.

Device settings #

Your USB devices lists each device with its Model, Auto IP change interval, Tunnels (active tunnels / all tunnels that use the device), Device ID and the date it was added. Select Settings in a row to open USB device settings.

SettingWhat it doesValues
Change IP automaticallyWhile a tunnel that uses this device runs, the Localtonet app changes its IP at this interval.On or off.
Change everyHow often the IP changes. The interval starts again after each change.Seconds, at least 10. Presets: 5 min, 15 min, 30 min, 1 hour.
Airplane mode on forAndroid phones only. How long the phone stays in airplane mode during each change.1 to 100 seconds.
Modem web interfaceThe Web address, Username and Password the app signs in with to change the IP.An address like http://192.168.8.1.
GatewayThe modem's own address on your computer. Change moves the modem to a new address and updates the web address too.Only the third number can change, 0 to 255. Needs a proxy tunnel that uses this device: the change is sent to the modem through it. Not every device supports it.

The Change IP links tab creates links that change the device's IP. Opening a link changes the IP once, so you can call it from a browser, a script or a scheduler.

  • Select Create link, then Copy link. A device can have up to 10 links.
  • Anyone with the link can use it, so share it only with tools you trust.
  • Delete link revokes a link.

The links normally use localtonet.com as their host: https://localtonet.com/device/changeip?u=<LINK_ID>. If one of your domains in DNS Manager has a record of type Android, the dashboard builds the links with that name instead, for example https://link.example.com/device/changeip?u=<LINK_ID>. See Android records.

Delete a device #

Deleting a USB device stops and deletes the tunnels that use it, and its change IP links stop working. You can't undo this.

Troubleshooting #

The USB device field does not appear in the Proxy Server form

The selected token is not in USB device mode. Turn on USB device mode in the token's settings on My Tokens, then select the token again.

The built-in steps do not change the IP

On the experimental models (Tenda MF, D-Link DWM) changing the IP may not work on every firmware, and on some carriers turning mobile data off and on gives the same IP back. Write your own steps for the device, or let an AI assistant work them out on the computer the modem is plugged into.

I saved new steps but nothing changed

The app loads the steps when a tunnel starts. Restart the tunnels that use the device.

Create a proxy tunnel that uses this device first

A gateway change is sent to the modem through a proxy tunnel. Create a Proxy Server tunnel with this device, then change the gateway.

Enter the ADB device ID exactly as "adb devices" shows it

Copy only the first column of the adb devices output. The ID has no spaces.

You cannot have more than 10 links

Delete a change IP link you no longer use, then create the new one.

Support