Wednesday, October 4, 2017

AX25, ODroid, PAT Part 2

At first I tried the deb package both linux and armhf but ran into problems with each.  Solution was to build from source.

Build from Source:

https://github.com/la5nta/pat/wiki/Building-from-source
sudo apt-get install golang-go
export GOPATH=`pwd`
Attempts at using go to do the install failed.

git clone https://github.com/la5nta/pat $GOPATH/src/github.com/la5nta/pat
cd $GOPATH/src/github.com/la5nta/pat
git submodule update --init --recursive
./make.bash libax25
./make.bash
sudo cp pat /usr/local/bin

Success. Now edit the config:
vi /home/odroid/.wl2k/config.json
Enter your callsign, winlink password, locator, etc.

I set the serial-tc path to:  /dev/ttyACM0

Not sure if this will work yet though.

Run the web client with:
pat http

Next blog post...try to send an email P2P.

73

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.