diff --git a/content/posts/2024/74-winlink-on-android-with-woad/emcom-android-thunder.thumb.png b/content/posts/2024/74-winlink-on-android-with-woad/emcom-android-thunder.thumb.png new file mode 100644 index 0000000..d061f1e --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/emcom-android-thunder.thumb.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:17425bb5e4663ff3cb0d11019b1a44dcda96a0bbd1c2a108e53d6f734be2204f +size 55003 diff --git a/content/posts/2024/74-winlink-on-android-with-woad/index.md b/content/posts/2024/74-winlink-on-android-with-woad/index.md new file mode 100644 index 0000000..3893525 --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/index.md @@ -0,0 +1,200 @@ +--- +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 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. diff --git a/content/posts/2024/74-winlink-on-android-with-woad/session.packet.1.png b/content/posts/2024/74-winlink-on-android-with-woad/session.packet.1.png new file mode 100644 index 0000000..072f2fa --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/session.packet.1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4ed514dd753d2f7e41f37667fb98c593ff65dd0c7a1aeca85fb2f8dd9e89376e +size 37641 diff --git a/content/posts/2024/74-winlink-on-android-with-woad/session.packet.2.png b/content/posts/2024/74-winlink-on-android-with-woad/session.packet.2.png new file mode 100644 index 0000000..69c9ed0 --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/session.packet.2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:159354eeacd02cd7b0995d3c099e5b93db91ae45478dda0216039e01ede14696 +size 40319 diff --git a/content/posts/2024/74-winlink-on-android-with-woad/session.packet.3.png b/content/posts/2024/74-winlink-on-android-with-woad/session.packet.3.png new file mode 100644 index 0000000..6e32df1 --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/session.packet.3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f243327710797ca1395cd59364d3da798eac343ab0b696c69de24af887c460ef +size 41375 diff --git a/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.1.png b/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.1.png new file mode 100644 index 0000000..465acb9 --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cacace962885b7528a9032d12810140db7dce16d11038cbbd83fef69231c62cd +size 35845 diff --git a/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.2.png b/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.2.png new file mode 100644 index 0000000..fa8151f --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4deceb4d90a9e1141bfa7064b7d015b3dc3d52008a516fffd5610002c9885fbe +size 33436 diff --git a/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.3.png b/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.3.png new file mode 100644 index 0000000..9dcf650 --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb1876a2cf2c2cfeac5d55d9c105b8b42a53fb6cc8dc3df98eecb1e8c091ca53 +size 32410 diff --git a/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.4.png b/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.4.png new file mode 100644 index 0000000..27fbd20 --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.4.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d7132d0486f1e7a222580e8ed0a6a1f7cf0108679fbe9689ed3cea75326e770 +size 101445 diff --git a/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.5.png b/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.5.png new file mode 100644 index 0000000..5c2a523 --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/session.varafm.5.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbb51f395e70aa67ff29d44ce8acc20becba55850ea5ca527e19cd6f472dda69 +size 25236 diff --git a/content/posts/2024/74-winlink-on-android-with-woad/settings.mobilinkd.audio.1.png b/content/posts/2024/74-winlink-on-android-with-woad/settings.mobilinkd.audio.1.png new file mode 100644 index 0000000..e8093da --- /dev/null +++ b/content/posts/2024/74-winlink-on-android-with-woad/settings.mobilinkd.audio.1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:242108e0a265a405ef369f4da85d92c498981a2170ead9ad5acc2a98eb3e5015 +size 46948