200 lines
7.5 KiB
Markdown
200 lines
7.5 KiB
Markdown
---
|
|
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.
|
|
<small>The thumbnail was created with Google AI (Imagen 3).</small>
|
|
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 <abbr title="handheld transceiver">HT</abbr>
|
|
with me -- usually an Icom ID-52. Together with a Mobilinkd
|
|
<abbr title="terminal node controller">TNC</abbr> 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
|
|
<kbd>:right_arrow: Sessions</kbd>. On the bottom right menu (three dots) select
|
|
<kbd>:plus: Add</kbd>. Name it <kbd>Packet</kbd> and set the Protocol to <kbd>Packet</kbd>.
|
|
Touch <kbd>Settings</kbd> and select a Destination address. Select <kbd>RMS channel selection...</kbd>
|
|
and choose a nearby station. Go back and set <kbd>TNC type</kbd> to <kbd>KISS</kbd>. In
|
|
<kbd>TNC configuration</kbd> select <kbd>Bluetooth</kbd> as <kbd>Connection type</kbd> and
|
|
select the previosly paired Mobilink TNC under <kbd>Connection configuration/Device</kbd>.
|
|
<kbd>Device manufacturer</kbd> should stay <kbd>Generic</kbd>.
|
|
|
|
See these screenshots for reference.
|
|
|
|
| | | |
|
|
| ---------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------ |
|
|
| [![Session config screen](session.packet.1.png)](session.packet.1.png) | [![Packet config screen](session.packet.2.png)](session.packet.2.png) | [![TNC config screen](session.packet.3.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 (<kbd>Audio Input Settings...</kbd>), also check the
|
|
<kbd>PTT Style</kbd> within <kbd>Audio Output Settings...</kbd>.
|
|
|
|
[![audio levels](settings.mobilinkd.audio.1.png "The most right red led should flicker a bit.")](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 <kbd>8300</kbd>.
|
|
|
|
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 <kbd>VARA FM</kbd>.
|
|
|
|
| | | | | |
|
|
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------ | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
|
| [![Session config screen](session.varafm.1.png)](session.varafm.1.png) | [![VARA FM Settings screen](session.varafm.2.png)](session.varafm.2.png) | [![Destination config screen](session.varafm.3.png)](session.varafm.3.png) | [![RMS channel selection screen](session.varafm.4.png)](session.varafm.4.png) | [![TNC configuration screen](session.varafm.5.png)](session.varafm.5.png) |
|
|
|
|
The configuration for VARA HF is nearly identical, just select <kbd>VARA HF</kbd> for the
|
|
<kbd>Protocol</kbd>. 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.
|