oe7drt-website/content/posts/2024/74-winlink-on-android-with-woad/index.md

7.5 KiB

title summary date lastmod categories tags draft
Winlink on Android with WoAD 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> 2024-12-07T17:10:03+01:00 2024-12-15T15:47:02+0000
amateur-radio
computerstuff
Android
Archlinux
command-line
Digirig
Linux
Mobilinkd
Networking
Packet Radio
Portable
Vara FM
Vara HF
Winlink
draft_post
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.

The Android app for my setup is called WoAD and is available on the Google Play Store. 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 config screen Packet config screen TNC config screen

We use the App Mobilinkd TNC to configure our TNC. The app is available at the Google Play Store and on F-Droid (or Neo Store).

Make sure the audiolevels are ok (Audio Input Settings...), also check the PTT Style within Audio Output Settings....

audio levels

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 config screen VARA FM Settings screen Destination config screen RMS channel selection screen TNC configuration screen

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):

$ paru -S dhcp hostapd
  • Stop the network

    $ sudo systemctl stop wpa_supplicant@wlan0.service
    
  • Flush IP configuration on that interface and flush route table

    $ 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

    $ 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:

    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;
    }
    
    $ sudo systemctl start dhcp4.service
    
  • Start the hostapd service

    $ sudo systemctl start hostapd.service
    

Stop the services and bring back normal networking

  • Stop the services (dhcp4, hostapd)

    $ sudo systemctl stop {hostapd.service,dhcpd4.service}
    
  • Flush the IP configuration on that interface again

    $ 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

    $ sudo systemctl start wpa_supplicant@wlan0.service
    

    Your normal IP address should be back on that interface shortly.