10 March 2008

KISSed off with the TM-D7E!

Over the past year or so, I've been implementing an AX.25 Connected Mode Convergence Layer for the DTN2 reference implementation of the Delay Tolerant Networking Research Group's Bundling Protocol.

Since I first posted in the Linux Hams mailing list about these efforts last April, I've been in contact with John, EI7IG, who's recently been trying out this code and has succeeded in sending bundles through the ether at 1200bps on 2m.

It works, but it doesn't work properly. There are two persistent bugs that I've so far been unable to sort out. Still, we've managed to string together a veritable hodge-podge of devices, using three different convergence layers (AX.25, Bluetooth and TCP) and have even had DtnMail running across this "het-net".

I've been getting jealous though, of John's success. You see, I've been testing the AX.25 Convergence Layer using an old PK-232 TNC running in KISS mode, with a loop-back cable. This morning, I decided to send my own bundles through my own ether. By this I mean the ether in my house. All I needed was an AX.25 connection from my MacBook Pro through my TH-D7E in my living room via one of the radios in the shack to my Ubuntu box upstairs.

The complicated bit in all of this is that I needed to use KISS mode on the D7. Now I've heard that KISS on the D7 is frightful, so I decided to google around and discover how bad it really is. I found posts that discussed the different revisions of the D7 and the bugs they manifested. I concluded that if I reduced the AX.25 window to one, and stuck to 1200bps link rate, I should be OK.

I decided to leave my TM-D700A and PK-232 out of the test setup, so I configured soundmodem to run on the Ubuntu box in the shack and hooked it up through the Tigertronics Signalink to my FT-817 with its rubber duck antenna. This meant that I could run a low power AX.25 link over 2m or 70cm to the D7 downstairs.

So I set up a Gutsy Gibbon virtual machine under VmWare Fusion on my MacBook Pro, installed libax25 and all the bits, installed the build tools, the mercurial source code management system, cloned the repository from my Ubuntu box with the experimental AX.25 code, built the code and sat down to test out the link.

With the D7 in Packet mode, it worked fine. With my D700 temporarily taken from APRS duties and pushed into service as a mailbox, the D7 connected happily. However, when I put the D7 into KISS mode and attempted to repeat the exercise with the call program, the D7 ignored all received packets and forwarded nothing over the serial link into the host's KISS implementation. Now, this was unexpected. I googled and googled and found no references to a problem with a D7 that wouldn't receive anything in KISS mode. I reset the D7 to factory defaults and tried again. I rebooted the Ubuntu VM. I monitored the link between the D7 and the D700 with the FT-817 and its soundmodem interface. Sure enough, the D7 was transmitting the SABM's and the D700 was replying with UAs, but the D7 steadfastly refused to pass anything on up via its KISS mode interface, even though I could hear the sound of healthy packets emanating from its loudspeaker. With the D7 out of KISS mode, APRS and connections to the D700's mailbox work fine, but KISS receive is as dead as a dodo.

Now, I don't expect anyone to actually comment here, but if anyone posts any suggestions as to what I could try next, or points out the obvious futility of my efforts, then I'll be grateful. Meanwhile, I'll be trying to come up with another cunning plan to get some sort of KISS mode link connection that's more interesting than a cable with some wires twisted together without having to dismantle the shack completely.