Ham Radio Saint Lucia

RaspberryPi and TncPi.. such fun!

The RaspberryPi adventure…

(Specialement pour mes amis en FM en Francais en bas)

These little linux based computers are actually quite powerfull. I was first given one by Steve WF2S, and that one has a 9 inch HdmiPi screen. The Pi is mounted on to the screen’s back. I played with it using Rasbian which is fine, installed of course all the ham stuff like flidi and cqrlog and got those working but never managed to get the software to talk to the radio via Cat cable. I read up, but did not find the solution. I could run rtty etc from flidigi quite well.
Fast forward to a few months ago when David W2LNX tells me in passing “I have a few rxtx kits here that I do not know what to do with, would you like them?” Of course I say! Long and short of it is he send those and also two RaspberryPi and two TncPi.
So now the challenge was on: get the raspberryPi on packet/aprs!

Did a bit of searching and found Xastir for APRS, and also found out that Ubuntu has a Pi version in Ubuntu Mate! So I went with Ubuntu Mate on the Pi and that is nice but it came up with a high resolution on that little hdmi screen. So searched and searched till I found how to change that via the config file since the ‘normal’ way gave no option to change the resolution.

Xastir installed and initially got it running. Had internet connection to the aprs servers but could not get access to the kpc2 tnc on a serial port (usb to serial) Verified tried and tried but no luck. Read up countless sites till I stumbled on one talking about how linux sees a com port as a way of accessing the pc (like remote access) thus it will look for a user and password. There I found a way to allow my user to access the port and thus the tnc. Ran Putty and voila had comms with the tnc! Eureka! So hooked up that tnc to a radio and ran xastir and YES on air aprs! Did a dance of joy right there and then!

By the time I got this going the TncPi and all had arrived from David. So on to the next adventure, get the tncPi setup on the raspberryPi I was using. He did send also Pi and sd card all set but I like to try my own thing. So put the tnc on the back of the pi and … nothing no rx no tx..
Removed the tnc checked the connections, even asked David if he tested them and of course he did. So the trouble was right here. David sent me a few links to tncpi and raspberryPi info that was instrumental in me finding the solution. The site of K4GBB Charles is the number one site I think for TncPi and RaspberryPi info. I found the solution on this page: http://k4gbb.no-ip.org/docs/tncpi.html to get the pi and tnc to talk. When I got that going I had a qso via aprs with 9Z4A Anthony from Pi on 144.390 to my base aprs on 144.390 and Igate to trinidad to Anthony! I was super exited! A RaspberryPi and a TncPi with a radio is just amazing to see this work!
[flickr_set id=”72157666992981173″]

Now here are the commands and setups I did to get it going:

RaspberryPi and Tnc (kam) or TncPi setup:

  1. Setup Ubuntu Mate on a sd card, download and how to is here: https://ubuntu-mate.org/download/ and of course do a update and upgrade ( sudo apt-get update sudo apt-get upgrade)
  2. Once Ubuntu Mate is installed then I do the following commands to get it all going.
  • A. Install Leafpad:
    I like Leafpad for editing files, so:
    Open a terminal (ctrl+alt+t) type:
    sudo apt-get install leafpad
  • B. To change resolution (in terminal)
    sudo leafpad /boot/config.txt
    at bottom add:
    (The list of modes is in confg.txt if you want to use a different resolution.)
    Save and close leafpad, in terminal: sudo reboot
    should come back up in a lower resolution of 800×600
  • C. Unlock the serial port access:
    Open a terminal and:
    sudo apt-get install raspi-config
    run it: sudo raspi-config
    and check if it has the option advanced options -> serial. If it has, set it to disabled and you’re done
    sudo reboot
  • D. Add the user to dialout group
    Open a terminal and add the user to the dialout group:
    sudo adduser dialout
    sudo reboot
  • E. Uninstall Modem Manager (on Mate you can skip this step):
    sudo apt-get remove modemmanager
    Sudo Reboot
  • F. Test the serial comport connection:
    The usb to serial will usually be at ttyUSB0
    Install putty (sudo apt-get install putty)
    use putty to check connection to tnc first
    In putty choose serial, and the serial would be /dev/tyUSB0
    Only relevant if you are using a usb to serial and a regular tnc like a kam
  • G. Add the ax25 packages:
    If you use a TncPi
    Install the ax25 packages.
    Sudo apt-get install Libax25
    sudo apt-get install ax25-tools
    sudo apt-get install ax25-apps
  • H. Edit the axports file:
    sudo leafpad /etc/ax25/axports
    Edit it to look likethe following change the call to your call:
    # Port Callsign Baud PacLen MaxFram Descriptions
    0 J62ABC 19200 256 5 144.390 MHz
    # (End axports)
  • I. Prepare the TNCPi for serial use:
    Download the params tools from www.tnc-x.com/params.zip or here: https://dl.dropboxusercontent.com/u/31910649/pitncgetset.zip
    Extract the two files in the downloads folder. Delete the zip file
    Open a terminal from there and:
    sudo mv * /usr/local/sbin/
    sudo pitnc_getparams 1 0
    sudo pitnc_setparams 1 0 1 250
    sudo reboot
  • F. Install Xastir:
    sudo apt-get install Xastir
    To run it: sudo Xastir
    Configure your call etc
    In the program:
    go to Map then Map Chooser
    there choose online/OSM_tiled)mapnik.geo (or any other map you want your choice)
    click ok.
    Then go to Interface, then Interface Control
    For TncPi:
    Click on Add and choose Serial KISS TNC
    in port: /dev/ttyAMA0
    port settings: 19200
    Click OK,
    For Serial tnc like a Kam:
    Click on add and choose serial tnc
    In port: /dev/ttyUSB0
    port settings: 9600 (or whatever you have the speed of the tnc set at)
    Click OK
    It should now list the device and it ought to be UP, if not highlight the device
    click on start.
    You should now be active on aprs.
    I have noted that sometimes I have to do a tx by itself. Under interface, click transmit now
    sometimes twice, then I do a send message to somebody local and verify all is ok.
  • K. Expand the file system:
    The Ubuntu Mate install will not be using the full sd card you can change that with the following:
    Open a terminal and: sudo fdisk /dev/mmcblk0
    Delete the second partition: d, 2
    then re-create it using the defaults: n, p, 2, enter, enter
    then write and exit: w
    Reboot the system: sudo reboot
    and finally: sudo resize2fs /dev/mmcblk0p2
    However if you used the latest version of mate then you can click on the red buton on the welcome screen and do it the easy way


I hope this has helped… I got most of the info by searching online and also from K4GBB site (http://k4gbb.no-ip.org) Charles’ site is an excellent resource. Thank you David W2LNX for the link to it.

I have also made an image file that can be put on a 8gb or greater sd card. It is a 3gb download since I did all the commands including expanding to full use of a 8 gb sd card. Download the Image file and put it on the sdcard. ( How to is here: https://ubuntu-mate.org/raspberry-pi/ )
The axports file will still need to be edited to match your call.
The Xastir program likewise under File / Configure Station change it to match your call.
The user and password for Ubuntu Mate would be hamr and radio.
All of the above steps are done already. I am not sure but you might need to run the params commands again also, but the files are in place already no need to re-download. The resolution change is in the config.txt file already, I just commented it out in case you are using a monster tv screen.. change that to suit of course! I also added a shortcut on the desktop “run as root” run that and type in Xastir to get Xastir running (instead of going to terminal and running sudo xastir)

Hey I had a blast getting this thing going, Now I will pass it along to somebody to use!
Now on to the next project…

733 de J69DS Frans

A few links:
TncPi : http://tnc-x.com/TNCPi.htm
RaspberryPi: https://www.raspberrypi.org/
HdmiPi (screen) : http://hdmipi.com/
Drok PS converter: on amazon  or DROK home page


Et voila:

Ces petites ordinateurs avec linux sont assez puissant! Steve WF2S m’avait offert un avec un ecran HdmiPi 9 pouces. J’avais mis rasbian desus et bien sur une installation des soft pour radio comme CqrLog et FlDigi. Le tout travaillait mais je n’avait pas reussi de faire connection par cable cat vers la radio. Mais je faisais du rtty etc bien avec ce setup. Avance rapide a il y as quelque mois ou David W2LNX me disait :j’ai trois kit rxtx ici, est ce que tu les veux?” Bien sur je lui ai dis. Donc David me anvois le kit mais aussi deux raspberryPi avec TncPi et carte sd avec rasbian etc deja desus. Donc maintenant le challenge etais de mettre cela en route!

J’ai fait un peu de recherche et j’ai trouvé Xastir pour APRS, et aussi découvert que Ubuntu a une version Pi: Ubuntu Mate! J’ai donc installé Ubuntu Maté sur le Pi, je prefere au lieu de Rasbian, mais quand lance il as une haute résolution sur ce petit écran hdmi. Donc, cherché et cherché jusqu’à ce que je trouve comment changer cela via le fichier de configuration, car la manière «normale» ne donné aucune option pour changer la résolution.

Xastir installé et reussi a faire fonctionner. Il y avait une connexion vers internet aux serveurs APRS, mais pouvait pas avoir accès à la TNC kpc2 sur un port série (USB vers série) Vérifié, essayé et essayé, mais pas de chance. J’ai cherche sur d’innombrables sites jusqu’à ce que je suis tombé sur celui qui parle de la façon dont linux voit un port com comme un moyen d’accéder à l’ordinateur (comme l’accès à distance) donc linux demande un utilisateur et mot de passe. J’y ai trouvé un moyen de permettre à mon utilisateur d’accéder au port et ainsi le TNC. j’ai mis en route Putty et voila avait communication avec le TNC! Eureka! Alors accroché que tnc à une radio et a couru xastir et YES sur aprs d’air! J’ai fait une danse de joie la meme!

Quand le tout marchait en aprs les kit et Pi était arrivé de David. Donc, à la prochaine aventure, faire travailler le TncPi sur le Pi que j’ai ici. David avait aussi envoyer Pi et carte sd toute réglés mais j’aime essayer mon propre truc. Donc, mettre le TNC sur le dos de la pi et … rien ne rx pas tx ..

Suppression de la TNC a vérifié les connexions, même demandé à David s’il les a testés et bien sûr il l’a fait. Donc, le problème était ici. David m’a envoyé quelques liens vers tncpi et Raspberry Pi, info qui a contribué à me trouver la solution. Le site de K4GBB Charles est le numéro un site que je pense que pour TncPi et Raspberry Pi info. J’ai trouvé la solution sur cette page: http://k4gbb.no-ip.org/docs/tncpi.html pour obtenir communication entre pi et TncPi. Quand le tout marchait je fait un qso via APRS avec 9Z4A, Anthony, depuis Pi sur 144,390 à ma station aprs de base sur 144,390 et Igate vers trinidad à Anthony! Je’etais super exite! Un Raspberry Pi et un TncPi avec une radio est tout simplement incroyable de voir ce travail!


Voila les commandes que j’ai fait pour faire tout cela marcher:

  1. Setup Ubuntu mate sur le carte sd, telcharger de ici avec info https://ubunutu-mate.org/download et bien sur faire mise a jour: sudo apt-get update et sudo apt-get upgrade
  2. Une fois installe faire le suivant:

a. Installer Leafpad:

Je prefere Leafpad pour redaction des fichier donc:
Ouvrir un terminal (ctrl+alt+t) et type:

sudo apt-get install leafpad

b. Pour changer resolution (in terminal)

sudo leafpad /boot/config.txt
a la fin du fichier ajoute:

(la list de modes est en confg.txt si tu veut avoir une resolution differente.)
Sauvegarde et fermer leafpad, et en terminal: sudo reboot
Demarage devrait etre en resolution of 800×600

c. Ouvrir le port serial pour access:

Ouvrir terminall et:
sudo apt-get install raspi-config
rexecuter: sudo raspi-config
Choisir Advanced Options, ensuite: Serial, choisir No et ensuite sauvegarder. Et:
sudo reboot

d. Ajouter l’utilisateur au groupe dialout:

Ouvrir le terminal and et les commandes:
sudo adduser <the user you want to add> dialout
sudo reboot

e. Deinstaller Modem Manager (on Mate you can skip this step):

sudo apt-get remove modemmanager
Sudo Reboot

f. Tester la connection port serial comport:

Le port usb to serial generalement est a: ttyUSB0
Installer putty: sudo apt-get install putty
Lance putty pour verifier connection avec le port et tnc
En putty choisir serial, et le serial vas etre /dev/tyUSB0
Cela n’est que important si tu te sers de un tnc comme un kam

g. Ajouter les fichiers ax25:

Si tu te sers de un TncPi
Installer ax25 packages:
Sudo apt-get install Libax25
sudo apt-get install ax25-tools
sudo apt-get install ax25-apps

h. Redaction du fichier axports:

sudo leafpad /etc/ax25/axports
Redaction pour que ca resemble au suivant, change l’indiactif pour le votre:

# Port Callsign Baud PacLen MaxFram Descriptions
0 J62ABC 19200 256 5 144.390 MHz
# (End axports)

I. Preparer le TNCPi pour utilisation serial:

Telecharge les outil params (params tools) de ici: www.tnc-x.com/params.zip ou ici https://dl.dropboxusercontent.com/u/31910649/pitncgetset.zip
Extract les deux fichier dans la directoire downloads folder. Supprime le fichier .zip
Ouvre un terminal depuis la (click droite et choisi terminal ici):
sudo mv * /usr/local/sbin/
sudo pitnc_getparams 1 0
sudo pitnc_setparams 1 0 1 250
sudo reboot

f. Installer Xastir

sudo apt-get install Xastir
Executer: sudo Xastir
Configuration de indicatif etc
Dans le program:
aller a Map ensuite Map Chooser
la choisi: online/OSM_tiled)mapnik.geo cliquer OK
Ensuite aller a Interface, et Interface Control

Pour TncPi:
Cliquer sur ADD et choisi Serial KISS TNC
Dans port: /dev/ttyAMA0
port settings: 19200
Click OK,

pour Serial tnc comme Kam:
Cliquer sur ADD et choisi serial tnc
Dans port: /dev/ttyUSB0
port settings: 9600
Cliquer OK

Maintenant tu devrais voir le tnc et il devrais etre UP. Si non clique sure le tnc et clique sur START
Tu est suppose de etre sur aprs maintenant
J’ai note que des fois il me faut forcer un ou deux fois un tx en allant sous interface et cliquer sur: transmit now
Et j’envoi un message a quelqu’un pour verifier que ca tourne.

k. Expansion du system de fichier:

La installation de Ubuntu Mate ne se sers pas du sd complet et tu peut changer cela apres installation en faisant le suivant:
Lancer terminal et: sudo fdisk /dev/mmcblk0
Supprimation de la deuxieme partition: d, 2
La recreation de la partition avec defaults:
: n, p, 2, enter, enter
Sauvegarde et sorti:
le systeme: sudo reboot
Et finallement: sudo resize2fs /dev/mmcblk0p2

Mais si tu as installer le version 16.04 de Mate tu peut faire cela en passant par l’ecran Welcome cliquer sur le bouton rouge