Packet Radio: sending unproto frames with Linpac (and other useful commands)

Thanks to David’s (KI6ZHD) reply to my post on the Linpac site, here’s a quick summary on setting up Linpac for unproto frames:

:unsrc yourcall
:undest "Yourname node1 node2 node-etc"

where node1 etc is your digipeater node list for routing your unproto packets between nodes that can hear each other.

:unproto the message

sends an unproto frame with the text specfied.

You can also open the F10 window and all text typed there gets sent as unproto frames.

unsrc and undest can be defined in the ~/Linpac/macros/init.mac file.

 

Packet Radio: AX25, Direwolf and Linpac on a Raspberry Pi

I’ve been playing around trying to get a working config for using Direwolf as a soundcard modem for packet radio on the Raspberry Pi. I’ve played with getting ax25 and Direwolf running on Ubuntu (see here), and then I tried to copy across what I’d learnt to the Pi (running Raspbian).

The trouble with a lot of this stuff is there’s not much in the way of docs (although the Direwolf docs are really good), so when things don’t work you either start trying stuff randomly or just get stuck. Anyway, here’s the combination I have working:

  • Raspberry Pi (v1 model B) running Raspbian
  • RigBlaster connected via USB, connected to an Icom 880h
  • soundlevels at around 3/4 via alsamixer
  • Per ax25 on CentOS here, I used the ax25 sources from VE7FET’s github repo, compiled and installed

Most of my steps are the same as from my prior experience getting Direwolf and Linpac working on Ubuntu, so follow those steps if you’re looking to get setup, and then I’ve summarized the differences here.

The VE7FET source when you ‘sudo make install’ creates config files to /usr/local/etc/ax25 and not the default location of /etc/ax25. I’m not sure if Linpac likes this, so per a posting I found somewhere, the quick way to keep everyone happy is just create a symlink:

cd /etc/
sudo ln -s /usr/local/etc/ax25 .

Edit the axports file, add a line like:

1 KK6DCT-2 38400 253 2 2m packet

‘1’ is the portname

On the Pi I did run into the kissattach issue getting the ‘error setting line discipline’ error as described in the direwolf docs. Per the docs, I used the second of the workarounds:

sudo /usr/sbin/kissattach /dev/ptmx radio 44.56.4.118

then:

sudo mkiss /tmp/kisstnc /dev/pts/5

where the /dev/pts/5 value is returned from the kissattach step.

At this point I’m ready to go:

‘call 1 kberr’ opens a connection to my nearest node (using port 1)

And also Linpac starts up (with linpac -m), can can connect the same there with ‘:c kberr’

At some point I should probably walk through these steps with a fresh Raspbian install to confirm I didn’t change anything else along the way that was key to getting this to work, but I think this summarizes the key points.

A few other helpful points:

  • in the Mac Terminal app by default, the Alt key doesn’t work so can’t do a Alt-X to exit Linpac. There’s a tip here to enable the Option key as Alt so you can use this to cleanly exit Linpac.

Raspberry Pi Raspbian cross compiler toolchains on 64bit Linux

A while back I setup Eclipse C++ on Ubuntu to cross compile some ARM Assembly (see here). Last time I set up the Raspberry Pi tools on Ubuntu I was using a 32bit install. More recently I installed a 64bit version of Kubuntu, and so was retracing my steps to get set up again.

It might be obvious if you’re more familiar with gcc and cross compiler toolchains, but in the Raspberry Pi tools project there’s 32 bit and 64 bit versions of the tools. Trying to use the 32 bit versions on 64 bit Linux does not work. Rather than some useful error though, trying to execute any of the 32bit versions from a shell gives a rather un-useful ‘No such file or directory’ error.

Referring back to my original Eclipse C++ setup instructions, if you’re running Eclipse on 32bit Linux then you want to point to the tools here:

~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin

Otherwise point to the 64bit version here:

~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin