--- 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-17T13:48:35+0000 categories: - amateur-radio - computerstuff tags: - Android - Archlinux - command-line - Digirig - Linux - Mobilinkd - Networking - packetradio - 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:. If you are able to install the app by yourself, you can also find it on [their website](https://woad.sumusltd.com/download). I 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](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 (Audio Input Settings...), also check the PTT Style within Audio Output Settings.... [![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 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](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 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. ## But what is the main problem with this? For the smallest setup (without computer or big antenna) you will have to be in reach of a VHF/UHF gateway. We have one(!) VHF/UHF gateway in our federal state, which is about 27km north-east of my QTH but I can't reach it because of the mountains. You want to be within 15km of that gateway within the valley otherwise you won't be able to connect.