---
title: Winlink on Android with WoAD
summary: >
Since I moved from iOS to Android I had to look for another App to test
a small Winlink setup.
The thumbnail was created with Google AI (Imagen 3).
date: 2024-12-07T17:10:03+01:00
lastmod: 2024-12-15T15:47:02+0000
categories:
- amateur-radio
- computerstuff
tags:
- Android
- Archlinux
- command-line
- Digirig
- Linux
- Mobilinkd
- Networking
- Packet Radio
- Portable
- Vara FM
- Vara HF
- Winlink
- draft_post
# showBreadcrumbs: true
# showDate: false
# showReadingTime: false
# showWordCount: false
# showPagination: false
# feed_exclude: true
# site_exclude: true
# some help
#
# highlighting with highlights
#
# use table, as inline creates a padding around
# and it pushes the text more to the right side (end of screen)
#
# ~~~html {linenos=table,hl_lines="3-6"}
# ~~~html {linenos=inline,hl_lines="1,3-6"}
draft: true
---
So I recently sold my iPhone 14 Pro and bought a Google Pixel 9 Pro. I used that for
about two weeks when I finally replaced the vanilla Android with [GrapheneOS](https://grapheneos.org/).
The Android app for my setup is called [WoAD](https://woad.sumusltd.com/)
and is available on the [Google Play Store](https://play.google.com/store/apps/details?id=com.sumusltd.woad).
It currently costs € 6.99 :money_bag:.
I will assume the app is all setup with basic information like CALLSIGN, Grid, etc.
## Packet connection
I love simple and small configurations (mostly) and this one is really small.
When I'm out hiking I usually have an HT
with me -- usually an Icom ID-52. Together with a Mobilinkd
TNC it is a very small
and (since Android) working solution for mobile/portable Winlink operations (I always
had problems getting the Bluetooth device working with the iPhone - not only with
the Mobilinkd but also other Bluetooth devices struggled with the iPhone...).
### Create a new session called **Packet**
On the main screen (probably the Inbox) click the top right menu (three dots) and select
:right_arrow: Sessions. On the bottom right menu (three dots) select
:plus: Add. Name it Packet and set the Protocol to Packet.
Touch Settings and select a Destination address. Select RMS channel selection...
and choose a nearby station. Go back and set TNC type to KISS. In
TNC configuration select Bluetooth as Connection type and
select the previosly paired Mobilink TNC under Connection configuration/Device.
Device manufacturer should stay Generic.
See these screenshots for reference.
| | | |
| ---------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------ |
| [](session.packet.1.png) | [](session.packet.2.png) | [](session.packet.3.png) |
We use the App Mobilinkd TNC to configure our TNC. The app is available at the
[Google Play Store](https://play.google.com/store/apps/details?id=com.mobilinkd.tncconfig)
and on [F-Droid](https://apt.izzysoft.de/fdroid/index/apk/com.mobilinkd.tncconfig) (or Neo Store).
Make sure the audiolevels are ok (Audio Input Settings...), also check the
PTT Style within Audio Output Settings....
[](settings.mobilinkd.audio.1.png)
Don't forget to disconnect the config app from the TNC.
Back in WoAD select the Packet session and hit the play button on the bottom (right).
## VARA FM and HF
The VARA modes will need another device that can run the VARA software which our
Android phone will connec to via port 8300.
Assuming we have a working installation of VARA FM and VARA HF in a
32-bit wine environment in `~/.wine-winlink`.
Let us view the screenshots of my WoAD configuration -- create a new session for that
and call it VARA FM.
| | | | | |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------ | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| [](session.varafm.1.png) | [](session.varafm.2.png) | [](session.varafm.3.png) | [](session.varafm.4.png) | [](session.varafm.5.png) |
The configuration for VARA HF is nearly identical, just select VARA HF for the
Protocol. Don't forget to select a proper VARA HF station and make sure the
bandwitch matches.
### Setup on the laptop
In this scenario I use the internal network card (wlan0).
Usually there is no DHCP server installed, we will need one though (and hostapd):
```console
$ paru -S dhcp hostapd
```
- Stop the network
```console
$ sudo systemctl stop wpa_supplicant@wlan0.service
```
- Flush IP configuration on that interface and flush route table
```console
$ sudo ip addr flush dev wlan0
$ sudo ip route flush dev wlan0
```
- Set the IP address that we will later use for connecting our WoAD client
```console
$ sudo ip address add 192.168.30.1/24 broadcast + dev wlan0
$ sudo ip link set dev wlan0 up
```
- Start the DHCP server
I use this config for that:
```dhcp
option domain-name "mobile";
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.30.0 netmask 255.255.255.0 {
option routers 192.168.30.1;
option subnet-mask 255.255.255.0;
option domain-name "mobile";
option domain-name-servers 192.168.30.1;
range 192.168.30.2 192.168.30.40;
}
```
```console
$ sudo systemctl start dhcp4.service
```
- Start the hostapd service
```console
$ sudo systemctl start hostapd.service
```
### Stop the services and bring back normal networking
- Stop the services (dhcp4, hostapd)
```console
$ sudo systemctl stop {hostapd.service,dhcpd4.service}
```
- Flush the IP configuration on that interface again
```console
$ sudo ip r flush dev wlan0
$ sudo ip a flush dev wlan0
```
Check for empty interface and route table with `ip r` and `ip a`.
- Start WPA supplicant service on wlan0 again
```console
$ sudo systemctl start wpa_supplicant@wlan0.service
```
Your normal IP address should be back on that interface shortly.