From Stu2
Jump to navigation Jump to search

Installation Notes

The pskmail server wiki has some information at: Here are some notes based on my experiences.

  • Download and install fldigi - - follow README instructions. (install in /usr/local)
  • Configure fldigi for pskmail - Here is the quick start guide for fldigi, good read.
    • Enter call sign info
    • Set up sound card
    • switch to 48000 sampling
    • verify audio levels
    • adjust squelch (1/2 way up)
    • set misc/pskmail 1000 Carrier, Report ARQ frames, reset to carrier
    • set misc/sweetspoot to 1000 for psk, check always start new modems at these frequencies
  • Download pskmail script.
  • Run the script.
    • chmod +x
    • sudo (i.e. install as root) - installs libraries, etc. so must be SU
    • answer 'y' to install questions. (asks about installing packages.)
  • Download pskmailserver update from link above (pskmail_server-1.52)
  • Unpack 'tar xvf psmkmail_server-version.tar.gz'
  • Change into the directory. cd pskmail_server... check out README. Note, the scripts are in the ./scripts subdirectory. The readme is wrong.
  • cd scripts
  • sudo ./ - updates the libraries.
  • sudo ./

When you are all done with the installs, there will be a subdirectory called ~/.pskmail where all the configuration files reside. The next step is to edit the file. This follows the perl syntax. At a minimum, change ServerCall. Set $MARS=1, which disables the connection to the map.

Configuration Notes

The following provides some specifics on configuring pskmail.

/home/usr/.pskmail/ is the main configuration file for the program. Here are some important notes.

Sending E-mail

pskmail sends e-mail via an SMTP account. You can set up a gmail account and use it. Or, you can do something local. Set the following lines in to match your account details. Note, the \@. This is perl syntax so the \ escapes the @ symbol. Outgoing mail uses port 587, which is SMTP submission.

$relay = "";
$smtpauthlevel = 2;
$smtptlsuser = "userid\";
$smtptlspass = "gmailpassword";
$smtptlsport = 587;
$monitor = 1;


I hard code the directories by replacing $ENV{HOME} with /home/user, where user is the name pskmail operates under.

$dbfile = "$ENV{HOME}/.pskmail/rflinkusers/rflink_users.db";
$output = ">$ENV{HOME}/.pskmail/gmfsk_autofile"; # deprecated
$TxInputfile = "$ENV{HOME}/.pskmail/TxInputfile";
$Inputfile = "$ENV{HOME}/.pskmail/gMFSK.log"; # deprecated

Location and APRS Beacon

Fix the lat/long for the beacons. The format is in DDMM.decimal minutes. Change $serverstatus to the latest. Update the APRS beacon text. The aprs addresses may need adjusting, too. They should point to a the APRS server for the system. Set the servers to something bogus, otherwise you will show up on the aprs maps.

$latitude = "0000.00N";
$longitude = "00000.00E";
$serverstatus = "PSKmail 1.4.8  server ";
$Aprs_beacon = "0000.00NP00000.00E&PSKmail 1.4.8  server ";
@Aprs_address = qw (;

Make sure you adjust E to W, if you are in the US.

The 'P' and '&' in the APRS beacon corresponds to the APRS symbol. The defaults are a gateway symbol.

Rig Control

pskmail uses hamlib for rig control. Find your rig # using 'rigctl -l'. Rig # 326 corresponds to an Icom 756. The default server mode is PSK250R. Adjust the frequency corrections to match the desired center frequency of the pskmail signal in the audio passband. Set $scheduler = 1 to enable scanning, 0 to disable. The frequencies and mode for scanning are controlled by the QRG file.

# Scan or Note
$scheduler = 0;

# Rig Type - see text above
$rigtype = 326;

# Rig Control Serial port parameters
$rigrate = 9600; 
$rigdevice = "/dev/ttyS0"; 

# M = channel, F= frequency, ""= none
$scanner = "";

# Name of QRG file. (Scanning frequencies and mode)
$qrgfile  = "$ENV{HOME}/.pskmail/qrg/freqs.txt";

$freq_offset = 0;

# Sweet spot
@freq_corrections = qw (-1000 -1000 -1000 -1000 -1000);

$traffic_qrg = 0;

# Default mode
$Defaultmode = "PSK250R";  # default mode

QRG file

The frequency control file specified by $qrgfile is /home/user/.pskmail/qrg/freqs.txt. Edit this to correspond to the scanning sequence. There are 24 lines, one for each hour of the day. This allows you to set up different scanning sequences to account for propagation. The radio will cycle through each frequency on the line in 5 minutes. At T=0M:F=F1, T=1M:F=F2... T=4:F=F5,T=5:F=F1.

The last line is the default mode for each minute. For testing, choose different modes to help ensure beacons are heard.

You will also need to adjust the $scanner variable in to the proper value. Use "M" if the QRG file specifies 'channels'. Use "F" if the QRG specifies frequencies. Set to "" (i.e. nothing) if not scanning.

Running pskmail_server


Start fldigi in a terminal window.


Start pskmail in another window.



Press CTRL-C in the pskmail window.

Sometimes, pskmail doesn't stop nicely and you have to look for old processes. grep for process and kill the process ID

ps ax | grep pskmail
kill #


JD 40 version. New version of FLDIG at mode map

Original mode     New Temporary Mode         Speed          Bandwidth (-3dB)
PSK63             1 Carrier PSK1000R         880WPM         1000Hz
PSK125            1 Carrier PSK1000          1600WPM        1000Hz
PSK250            6 Carriers PSK250          2400WPM        2000Hz
PSK500            2 Carriers PSK1000         3200WPM        2400Hz
PSK125R           2 Carriers PSK500          1600WPM        1200Hz
PSK250R           2 Carriers PSK1000R        1760WPM        2400Hz
PSK500R          14 Carriers PSK125          1540WPM        2400Hz

I have also re-mapped the MFSK and THOR modes the following way:

Original mode     New Temporary Mode          Speed          Bandwidth (-3dB)
MFSK16            MFSK64                      240WPM          960Hz
MFSK32            MFSK128                     480WPM         1920Hz
THOR8             THOR44-Double spaced        156WPM         1600Hz
THOR11            THOR44                      156WPM          800Hz
THOR22            THOR88                      312WPM         1600Hz