The PR430 transceiver is a data transceiver originally designed as a radio for 9600 baud Packet Radio. There is an alternative firmware available to transfer the hardware into a POCSAG transmitter.
More information on the Software and Hardware of the PR430 is collected here.
The firmware Version 57 can be downloaded here.
The PR430 was delivered originally with a software which was used for packet radio operation. Therefore the likelihood is very high that if you get an PR430 that the old packet radio TNC software is installed on your PR430. The ADACOM - Fachverband für Amateur-Datenfunk provided then at a later stage another software package which allowed to convert the PR430 into an POCSAG transmitter. At the time writing his document April 2018) the ADACOM webpage www.adacom.org is not available. Therefore we provide here the information and necessary steps for this PR430 configuration:
We have used here at DM0SAT and DB2GM an old WinXP notebook with serial interface. The interface cable used is a 1:1 cable with SUB-D9 female connector at the notebook side and a SUB-D9 male connector at the side of the PR430. We have tested the software only in the DOS box of this WinXP PC. Please give send us by E-mail to db2gm at darc dot de any information if it will work on other operating systems. It is also important to receive the information on which operating systems it does not work. Because it is very likely that it is only working under Win XP and older operating systems. In any case keep in mind that these are old MS-DOS files and software.
You need two files SERIAL.EXE
and MGSC.EXE
. Copy these on your PC, we did it in a subdirectory C:\PR430
.
Then open with cmd
a DOS box under windows.
Power on the PR430 and connect it with the above mentioned serial interface cable to the serial interface of this PC.
Start the software SERIAL.EXE
.
If the hardware connection between the PR430 and PC is not correct then you only will see a text Searching Modem
and nothing else. The software continuously searches for the modem until the cable connection is correct. With Enter you can cancel this. Please also make sure that you are using a COM interface number between 1 to 6 and not higher!
If the hardware connection is correct the software will immediately perform the software upgrade to the newest software version (which includes the POCSAG mode) and you will see this only once, therefore look for it! You cannot initiate the software upgrade on your own as it is performed automatically. You will see that the software of the PR430 will be upgraded by the following text message
Updating Firmware ………….OK
When it is finished the text message
Baudrate 9600, Mode 8N, handshake off
will appear.
This altogether will take approx. 20 seconds.
If the newest software version is already installed the software will reply with the actual configured serial interface parameters, like b=19200 f=8n h=n . If you want to change the bitrate or the other parameters then you can do this with commands like
SERIAL.EXE b=9600
Keep f=8n and h=n!
serial.exe b=<Baud rate> f=<Data format> h=<Handshake> w=<Delay>
Now you will use the second software MGSC.EXE
to configure the updated PR430 software.
Start mgsc
without parameters and after a fresh updated PR430 you should see the text message
PC/Flexnet Mode
.
With the command
mgsc M=3
change the mode of the PR430 to POCSAG mode. The software will answer a text with POCSAG Mode, Mycall NO CALL, Master undefined, Mode undefined
Now you define the callsing of the POCSAG transmitter and the master call, and the POCSAG frequency with the following commands. We are using the same call signs as in the description of the configuration below, so please change DB0ABC-7
and DB0ABC-12
to your POCSAG transmitters licensed callsign!
Remark: These settings are just used on the AX.25 connection. They have nothing to do with the DAPNET configuration on the DAPNET-Network. But they are necessary in the DAPNET-Proxy
setup described below.
mgsc I:DB0ABC-7 mgsc P:DB0ABC-12 mgsc F:439987,5
The software will answer after the third command with the textPOCSAG Mode, Mycall DB0ABC-7, Master DB0ABC-12, Linkfreq 439,987MHz FSK
.
Use
mgsc F0
to change the internal TNC to KISS mode.
The software answer with POCSAG Mode, Mycall DB0ABC-7, Master DB0ABC-12 KISS
. The frequency information is not shown in this output, but it's still active.
mgsc.exe [M=<Mode> I:<CallsignTX> P:<CallsignMaster> F:<Frequency>[-|--|---]|FO]
,
The -
are setting a Duplex shift, which is only used for packet radio operation and are not necessary for POCSAG operation. So this information is for completness only.
- : 1.6 MHz TX frequency shift
– : 7.6 MHz TX frequency shift
- - - : 9.4 MHz TX frequency shift
The parameters can also be given one by one running the program serveral times.
Now your PR430 is configured correctly and you can connect it to your Raspberry PI serial interface.
For the Ericsson C9000 transmitters there where sereval additional PCBs available to interface between AX.25 Packet Radio on a KISS link and the radio part of the transmitter.
For the C9000 we stongly encourage the modification described here, as it makes everything much more easier and flexible. But nevertheless, this manual is also working on C9000s. For the PR430, there is no other way known than taking this multi-hop approach written below:
To connect PR430 transceivers or transmitters with an RPC Card, there are two possible ways.
The second approach is described below.
As there are more than two decades between the PR430 Software and the DAPNET development, some nasty strings have to be pulled to make it work. The following figure shows the flow of data an all software involved.
The software used in this setup is:
We assume a transmitter callsign of DB0ABC-7 written in the config of your PR430 or RPC. Adapt the commands below as needed to match your situation.
The following steps are needed to get your setup running like in the figure above.
Have a look here What to do if I want to add a transmitter?
Look on google how to do that. A good choice is https://www.raspberrypi.org/downloads/raspbian/ and the lite version. No graphic interface is needed.
Either on HAMNET or with normal internet access setup you network device on the Raspberry Pi.
Using a Serial-to-USB adapter, connect your PR430 or RPC to your Raspberry Pi. The serial interface generated by your Serial2USB adapter is assumed to be /dev/ttyUSB0 in the following description. You can check this by having a look in /var/log/syslog
or with
ls -l /dev/ttyUSB0
Your adapter should appear there.
Install the AX.25 software with
sudo apt-get install ax25-apps ax25-tools libax25 libax25-dev
This will install the needed software to bring your 1990er hardware into the present time of DAPNET. It is assumed the KISS speed on the RS232 line is 19200 Baud. If not, change it either in the PR430 or write the correct value in the following file.
Edit the file /etc/ax25/axports
to contain the following content:
# /etc/ax25/axports # # The format of this file is: # # name callsign speed paclen window description # ax0 DB0ABC-12 19200 255 7 PR430
Try to assign the USB tty to a ax.25 kernel interface
sudo kissattach /dev/ttyUSB0 ax0
If you type now
ifconfig
you should see a network device with name ax0.
Try to connect via KISS and AX.25 to your PR430 or RPC.
axcall -s db0abc-12 ax0 db0abc-7
You should see the command line interface of the POCSAG software running on your PR430 or RPC. If not done already, now it's the time to do (and store(!)) some settings on the PR430.
If you connect with the master callsign db0abc-12 to your PR430 or RPC, it should respond with the POCSAG-TX greeting line instead of the command line interface
axcall -s db0abc-12 ax0 db0abc-7
If that's the case, this part is done. Congratulations.
Next thing to take care of is the xinetd program to transfer a TCP connection datastream to the ax0 AX.25 kernel device.
sudo apt-get install xinetd
This software listens on specified TCP ports and invokes third party programs if a connection is coming in. We uses this to map the TCP connection vom DAPNET-Proxy to the ax0 kernel device.
The config files are in /etc/xinetd.d/
. Create a new file in this directory:
sudo nano /etc/xinetd.d/pocsag_db0abc
# description: AX.25 Interface to DB0ABC-7 service rpc_db0abc { disable = no type = UNLISTED port = 19973 id = funkruf socket_type = stream protocol = tcp user = root wait = no server = /usr/bin/axcall server_args = -r -S -R -s db0abc-12 -r ax0 db0abc-7 }
Restart the xinetd daemon with
sudo systemctl restart xinetd.service
Try if the connection and conversion is working:
telnet localhost 19973
If telnet is not installed on your OS, install it with
sudo apt-get install telnet
You should see the same output as you had with axcall when you connected with the source callsign of the master, so db0abc-12. To end the connection type CTRL + +
and quit
.
Congratulations, you have done good so far. Now let's install the DAPNETProxy to interface between the DAPNET-Node and your PR430 on the protocol level.
First install java 1.8
sudo apt-get install oracle-java8-jdk
Check if the default java command is using the right version by verifying the 1.8 with
java -version
If it shows OpenJDK Runtime Environment
, you have to remove the openjdk Java installation.
sudo apt-get remove --purge openjdk-7-jre-headless openjdk-7-jre
Also install maven to compile the Java source code:
sudo apt-get install maven
Now create a directory in /opt
to download the code. Install git first if needed:
sudo apt-get install git cd /opt sudo git clone https://github.com/rwth-afu/raspager-proxy.git sudo chown -R pi /opt/raspager-proxy cd /opt/raspager-proxy
Don't worry that the software is called raspager-proxy
and not ax25-proxy
. This is due to historical reasons and in fact a good name would be dapnet-proxy
, which it is already in parts of the program.
Make a config directory with
mkdir /opt/raspager-proxy/config
Copy the example config file to that directory. Change the callsign according to your needs.
cp /opt/raspager-proxy/example.properties /opt/raspager-proxy/config/db0abc.properties
Edit the file with
nano /opt/raspager-proxy/config/db0abc.properties
There are self explaining comments in the file. For the setup described here, the file should look like:
# Name of this connection profile profileName = db0abc # Time to sleep in milliseconds before attempting a reconnect. Set to 0 to disable automatic reconnecting. reconnectSleepTime = 5000 # Frontend (DAPNET) authentication name frontend.name = db0abc # Frontend authentication key frontend.key = WhateverIsSetInTheDAPNETForYourTransmitterAsTransmitterKey # Frontend host name or IP address, you can use dapnet.db0sda.ampr.org from HAMNET or dapnet.afu.rwth-aachen.de from Internet frontend.host = dapnet.db0sda.ampr.org # Frontend port number, don't change frontend.port = 43434 # Backend host name or IP address, here we use the XINET.D setup done before backend.host = localhost # Backend port number, as set in the /etc/xinet.d/db0abc-File backend.port = 19973 # Timeout in milliseconds for keep alive requests. Set to 0 to disable. backend.timeout = 30000
Your transmitter has to be registerd with the same values as in frontend.name
and frontend.key
in the DAPNET. Open a ticket if this is not already done.
Build the software:
cd /opt/raspager-proxy mvn package
Try to run the proxy software by
cd /opt/raspager-proxy/config java -Ddapnet.proxy.rest.port=8080 -jar ../target/dapnet-proxy-1.1.1-SNAPSHOT-jar-with-dependencies.jar db0abc.properties
Change db0abc
and dapnet-proxy-1.1.1-SNAPSHOT-jar-with-dependencies.jar
according to your transmitter callsign and according to the version that is up-to-date. You can look for the correct file with ls -l /opt/raspager-proxy/target/
.
You should see several messages of the proxy logging into both the DAPNET-Core and the AX.25 device.
In a second SSH session or terminal, you can watch the AX.25 traffic on ax0
with
axlisten -ap ax0
If you are familiar with AX.25, this will give a good hints for debugging.
If everything works, the transmitter should show online
status on the DAPNET-Webinterface. You should exit the running programm with CTRL + C
.
As you want to have the proxy-program started at every reboot, you can setup a systemd service for it.
As root, make a new file in /etc/systemd/system/
sudo nano /etc/systemd/system/dapnet-proxy.service
You can have a look in the example file in the GitHub repository. The content of that file must be:
[Unit] Description=DAPNET Proxy for AX.25 Requires=xinetd.service [Service] Type=simple ExecStopPost=-/usr/bin/killall kissattach WorkingDirectory=/opt/raspager-proxy/config ExecStart=/bin/bash -c "/usr/sbin/kissattach /dev/ttyUSB0 ax0 && /usr/bin/java -Ddapnet.proxy.rest.port=8080 -jar ../target/dapnet-proxy-1.1.1-SNAPSHOT-jar-with-dependencies.jar db0abc.properties" StandardOutput=null StandardError=null [Install] WantedBy=multi-user.target
Reload the systemd envorinment with
sudo systemctl daemon-reload
and try to start the service:
sudo systemctl start dapnet-proxy.service
Check the status with
sudo systemctl status dapnet-proxy.service
If everything is ok, you can enable the autostart at boot with
sudo systemctl enable dapnet-proxy.service
The automated start and stop of kissattach in the dapnet-proxy.service
file is not tested. Feedback wanted.