Tuesday, October 3, 2017

AX25,ODroid and PAT/Winlink

Considering what has been happening in Puerto Rico with Hurricane Maria, I decided  I need to get  Winlink operational so I can send email over radio.  Since I prefer Linux, I started exploring options and found PAT, http://getpat.io/, a cross-platform Winlink client.

Goal:   Get the Kenwood TH-D74A built in KISS TNC to send Winlink email using the PAT client on Ubuntu 16.04 on a 64Bit ODroid C2

Make sure the TH-D74A has the most recent firmware.

On Kenwood TH-D74A, go to:

Menu > Configuration > Interface > KISS > USB or Bluetooth.  I chose USB.

Instructions:
https://github.com/la5nta/pat/wiki/AX25-Linux

Power on the TH-D74 and plug usb cable into it and the ODroid C2.

On the ODroid C2, use 'dmesg' to find the device name:  /dev/ttyACM0

sudo apt-get update && upgrade -y
sudo apt-get install ax25-tools

Modify /etc/ax25/axports

sudo apt-get install ax25-apps


Here is where problems begin:

sudo modprobe ax25

sudo modprobe mkiss

I received messages indicating modprobe cannot find the necessary modules.

Solution

Build a custom kernel
https://github.com/umiddelb/armhf/wiki/How-To-compile-a-custom-Linux-kernel-for-your-ARM-device



Verify your kernel version with:

uname -r

My ODroid say 3.14.79-97

Install the prerequisite software and start the process.

Make sure to run this:

make menuconfig


After completing this step, I decided to make an image of the ODroid OS as a backup in case I screwed something up badly.  To do this, I shutdown the ODroid, ejected the SD Card and put it into a card reader on my Windows 10 computer.  I used Win32Disk Imager to make img files of both the main volume and the boot volume.

After making the backup, I loaded the SD card back into the ODroid, booted up, and continued the kernel build process.

Scroll to Networking and make sure AX 25 Ham Radio components are selected.

Complete the rest of the process.


Summary

$ git clone --depth 1 --single-branch -b odroidc2-3.14.y https://github.com/hardkernel/linux
$ cd linux
$ make odroidc2_defconfig
$ make menuconfig
##Enable the AX25/Ham Radio Components
$ make savedefconfig
$ make -j 4 Image dtbs modules
$ sudo cp arch/arm64/boot/Image arch/arm64/boot/dts/meson64_odroidc2.dtb /media/boot
$ sudo make modules_install
$ sudo make firmware_install
$ sudo make headers_install INSTALL_HDR_PATH=/usr
$ kver=`make kernelrelease`
$ sudo cp .config /boot/config-${kver}
$ cd /boot
$ sudo update-initramfs -c -k ${kver}
$ sudo mkimage -A arm64 -O linux -T ramdisk -a 0x0 -e 0x0 -n initrd.img-${kver} -d initrd.img-${kver} uInitrd-${kver}
$ sudo cp uInitrd-${kver} /media/boot/uInitrd


After running this the first time and rebooting, I check the kernel version which appears to have been changed.

However no luck with AX25 module.

Turns out that in the "Menuconfig" step, those flagged with "*"  need further selections.  I need to redo entire process.   Thanks to:  http://www.tldp.org/HOWTO/AX25-HOWTO/x144.html

This time I made sure to go into each AX25 category and select the appropriate modules.  They should be indicated with "M"

This time things went smoother.    These commands worked without any errors:

sudo modprobe ax25
sudo modprobe mkiss


That's it for now.    In another post,  I'll document steps taken to test the connection and will try to send an email.

No comments:

Post a Comment