Additional Information

From DXLog.net
Jump to navigation Jump to search

Networking over internet

When, for instance, activating a special event callsign it is possible to network multiple DXLog.net stations over the internet.

Please be aware that a geographically distributed station is, with only a few exceptions, against the rules in contests

VLAN

The most secure way to do this is to rely on a VLAN (virtual LAN) software. There are several available such as:

Hamachi https://www.vpn.net/
FreeLan http://www.freelan.org/
Player.me https://player.me/
ZeroTier https://www.zerotier.com/
OpenVPN https://openvpn.net/

Each VLAN solutions have their own particular set up which is covered in their respective documentations.
With a VLAN solution, all DXLog.net configurations are the same as when operating in a regular LAN.

Hamachi is particularly popular since it offers a free option for up to five computers. Thanks to the communications
architecture of DXLog, this translates into five geographical locations. Since DXLog networking is based on both TCP and
UDP, it is sufficient if one operating position per location connects "as client" to the operating position assigned as
server, and the remaining stations connect using UDP.

NB. If you are using software interlock in a large multistation set up where some stations are connected over
internet it is important to configure the interlock to only consider relevant operating positions, which all
should be local. VLAN solutions typically suffer from packet loss which may result in interlock deadlocks where none
of the stations can transmit. Use the possibility to only consider named stations for the interlock in the software
interlock set up. Options|Networking|Software interlock "Custom station ID(s)"

Port forwarding

If you are less worried about competitors or government agencies listening in on your contest data,
it is possible to route the traffic directly over the internet using port forwarding at the server.

Important security notice: This solution is not without risk. It offers no security or authentication.
Any DXLog.net station running the same contest configuration, knowing the URL or IP address and IP port of the
server can connect to the server station. There are no means to disconnect a station by force.

With a port forwarding solution, the following must be observed:

  • Only one of the stations should be configured as the server.
  • "Connect as client" should not be checked and "UDP network broadcast" should only be enabled if it is
used to communicate with another client on the same LAN.
  • The PC acting as server must have a fixed LAN IP address. This is done either by manually configuring the
PC to use a fixed LAN IP address, or by setting up the router in the server's LAN to to always allocate
the same IP address to it.
  • The internet connection used by the server PC must either have a fixed public IP
address or use dynamic DNS. Otherwise clients will not be able to reliable connect over the internet.
  • The server's IP port (default 9888) must be forwarded to the internet by configuring the router
connecting the server to internet. Only TCP traffic should be forwarded. DXLog.net UDP traffic
is broadcast and should only be used locally.


Serverconfig.png
Example configuration for server for networking over internet



Portforwarding.png
Example of port forwarding UI in router



  • All other PC in the multi-station set up should be set up as clients.
  • Over the internet, "Server IP" is either the public IP address of the server's internet
connection (e.g. 5.150.248.52) or the dynamic DNS address (e.g. hq.sm7iun.se). Clients connecting
over the internet does not have to enable UDP networking and should not enable a server.
  • A client may connect via UDP if it is on the same LAN as the server or a "master client".
A "master client" is a client that connects to the server using the "connect as client" option in
the networking set up panel. A "master client" can act as a UDP gateway which means that if
several computers on a LAN are part of the same multi station set up but the server is located
elsewhere, only one computer in that LAN needs to connect as a client and the rest can use UDP.


Clientconfig.png
Example configuration of client for networking over internet



  • In a multi-station setting it is recommended to enable Options|Networking|Don't allow QSO logging if operator isn't logged
  • Make sure Options|Enable network is checked.

COM port keying with microHAM

The microHAM USB device router is a powerful software. It offers two virtual, CAT-aware, COM ports for one radio.

However, if they are not both set to the speed of the radio or closed, the ports will stop working.

DXLog currently does not allow setting the speed of port used only for keying. And virtual serial port does not have a setting for speed in Windows' device manager.

To make sure a port used for only keying is opened at the right speed do the following:

Open the interface configuration panel.

  • Select the wanted port and check the enable box.
  • Select it as Radio 1 and click Setup.
  • Select a random radio model and set the correct speed.
  • Set the wanted keying (e.g. CW = DTR, PTT = RTS, Foot switch, Active with Radio 1, etc.)
  • Press OK
  • Change from "Radio 1" to "-". Do not click Setup.
  • Press OK

SO2V audio control with microHAM MK2R/MK2R+

Since the microHAM MK2R/MK2R+ supports selecting/mixing of any input it is possible to create a switching
profile (a.k.a. "Function") for SO2V with DXLog.net's built in audio control.

Microhammk2rplusso2v.png
Example of settings for SO2V audio control

With a profile like this, the audio control shortcuts Ctrl-Alt-A, Ctrl-Alt-T and Ctrl-Alt-S will work and
select either the main receiver in both ears, the sub receiver in both ears or, or one in each ear.

Enabling the built-in MP3 encoder in Windows

NB. The use of Window's built-in MP3 encoder is currently not supported by DXLog.net

For contest recording the PC needs to have a working MP3 encoder installed. Windows does not come with such an encoder enabled.

There are several third party MP3 encoders available, such as LAME http://lame.sourceforge.net/download.php. A working copy is also available for download here: http://dxlog.net/sw/files/utilities/libmp3lame-3.99.5x86.zip

Windows also contains a disabled, hidden MP3 encoder; the Fraunhofer IIS MPEG Layer-3 Codec.

A method to enable it is described here: http://www.komeil.com/blog/enable-fraunhofer-mp3-l3codecp-acm-windows

The required script is available here: http://dxlog.net/sw/files/utilities/chortkeh-fix-mp3-codec.cmd

Real time upload to Club Log Live Stream

DXLogStream

DXLogStream is a basic Windows utility (which can run minimized) that uses the radio information broadcast over
UDP from DXLog.net and uploads logged QSO to Club Log for display using its Live Stream feature. Typical use cases
are DXPeditions, IOTA activation, Special event stations, etc.

The utility requires a valid Club Log account with the used station call sign registered.

Networking must be enabled with Options|Enable Network. UDP networking must be enabled and the station ID and
used port must be the same as set in Options|Configure network. Settings are saved by hitting ENTER or clicking
the Save button. If the UDP port is changed, the utility needs to be restarted.

The station callsign entered into the text box is the one used for upload. DXLog.net does not convey this as
part of the logging information via UDP which means that the corresponding setting in DXLog.net's contest
configuration is ignored.

The utility can be downloaded here: http://dxlog.net/sw/#files%2Futilities

Read more about Club Log Live Stream here: https://clublog.freshdesk.com/support/solutions/articles/3000092445-using-club-log-live-streams

Dxlogstream.PNG

Club Log Gateway

Since the release of the utility above, Michael Wall, G7VJR, the founder of Club Log, has developed a much
more powerful agent for real time uploads. It works with all the three major loggers, DXLog.net, N1MM Logger+,
and Win-Test.

It is however less user friendly and more demanding to set up. But for a big scale DXpedition, this is the preferred agent.

You can find more information about it here:
https://clublog.freshdesk.com/support/solutions/articles/3000093504-club-log-gateway-for-real-time-uploads

Streamlining ESM

From release 2.4.0 DXLog has a much more straightforward, consistent, and
streamlined "Enter Sends Message" or "ESM" functionality.

Run

  • With the cursor in an empty callsign field is empty, ENTER sends RUN F1, typically CQ
  • With the cursor in a partially or correctly filled callsign field, ENTER sends the RUN INSERT message
  • With the cursor in the exchange field, ENTER sends the RUN PLUS message which (typically) concludes the QSO and logs.

When the party station has received the exchange correctly, focus is shifted to the exchange
field by pressing SPACE.

For a big gun station, where correct reception of the exchange is (almost) guaranteed, you can
automatically shift focus to the exchange field after having sent the exchange by enabling the
menu option Tools|Data entry|ESM mode change focus on $LOGGEDCALL macro.

S&P

  • With the cursor in the callsign field, ENTER sends S&P F1, typically your own callsign
  • With the cursor in an empty exchange field, ENTER sends S&P F6, which is typically a request to repeat the exchange.
  • With the cursor in a filled exchange, ENTER sends S&P INSERT, which is typically a confirmation and semi-CQ, and logs.

As of version 2.4.9 focus remains in the callsign entry field with all spot grabbing actions.
This removes the need for re-positioning the cursor after spot or callsign grabbing and also
allows for using automatic dupe checking and exchange guessing with ESM.

For a big gun station, where correct reception of the exchange is (almost) guaranteed, you can
automatically shift focus to the exchange field after having called the station by adding the $SPACE
macro to the S&P F1 message.

Diversity reception

Diversity means receiving the same signal through two different receive chains, including antenna.
With two antennas having different characteristics this can give substantial benefits in receiving
fading and/or weak signals or separating calls in a large pile-up. Particularly on low bands.

DXLog.net supports diversity operation on a selected number of radio models.

For the supported radios, diversity operation can be toggled on and off using [Ctrl][-] or [Ctrl][Keypad -].

If enabled via the radio's controls, DXLog.net will automatically detect diversity operation and enable
the necessary mechanics. Diversity operation is indicated by a small DIV icon in the frequency
counter box for the radio's band map.

Yaesu FTDX101D

Yaesu calls this feature "Sync" and it has a dedicated button up and left of the main VFO knob.
Enabling this will make DXLog update both VFO with the same information when grabbing spots.
It will also adjust the sub VFO with the correct amount when RIT is applied to the main VFO.
Since both VFO are kept on the same frequency, split operation is not supported.

ICOM IC-7851 and IC-7610

ICOM calls this feature "Tracking" and it can be enabled either via a menu entry or a long press on the "MAIN/SUB" button.
Enabling this will make DXLog.net update both VFO with the same information when grabbing spots.
It will also adjust the sub VFO with the correct amount when RIT is applied to the main VFO.
Since both VFO are kept on the same frequency, split operation is not supported.

Elecraft K3/K3S

Elecraft calls this feature by its proper name. It is enabled by a long press on the "Sub" button.
It should be noted that Elecraft's implementation where the main VFO controls both the main and
sub receivers allows for split operation, i.e. transmitting on a different frequency using VFO B.

UDP broadcast

For interaction with other applications, DXLog.net can broadcast useful information as
XML datagrams over UDP.

There are three types of broadcast messages:

  • QSO information. Sent when logging.
  • Radio information. Sent at changes as well as periodically.
  • Rotator information. Sent when rotor control is invoked.

The broadcasting is enabled using the Options|Broadcast and Options|DX Cluster|Send spots to SmartSDR submenus.


Radiobroadcastenable2.png


UDP broadcast parameters are configured in the Options|Network configuration panel.
Please note that up to three ports can be specified for each broadcast, thereby supporting
multiple receivers of the information.

DXLog.net also has the ability to listen for locally broadcasted commands over UDP. For example,
QSY commands from applications like N2IC Waterfall Bandmap.


Networksettingsbroadcast3.png


If you are writing a C# application to make use of these datagrams, there is a very nice online tool
for creating an object from a sample XML datagram here https://xmltocsharp.azurewebsites.net/

In C# parsing is easily done using Linq. One example of XML parsing and deserialization using Linq
can be found here https://github.com/bjornekelund/ICOMautomagic

QSO information

Keyword Meaning
logger The name and version of the logging program
qsoid A unique string for this QSO. If this QSO is edited another contactinfo message will be sent with the same qsoid.
Note that the qsoid is only unique within one instance of DXLog. If the computer is networked to others running
DXLog the different computers may have a different qsoid for the same QSO.
contestname The name of the contest as it would be written to a Cabrillo file.
timestamp The UTC date and time of the QSO.
mycall The callsign of this station.
band The band on which the QSO was made.
txfreq The frequency on which the QSO was made.
operator The callsign of the operator if the OPON command was used to set it, otherwise blank.
mode The mode used for the QSO.
call The callsign of the station worked.
countryprefix The DXCC country of the station worked.
wpxprefix The WPX prefix of the station worked.
snt The RST sent. This is always included whether or not the contest exchange contains an RST.
rcv The RST received. This is always included whether or not the contest exchange contains an RST.
nr The number sent if the exchange uses a serial number, otherwise the qso number from this station.
exch1 The first part of the contest exchange if any.
exch2 The second part of the contest exchange if any.
exch3 The third part of the contest exchange if any.
exch4 The fourth part of the contest exchange if any.
xqso True if this QSO should not be counted towards the score.
invalid True if this QSO is invalid, for example a DX QSO in a domestic contest.
duplicate True if this QSO is a dupe (the station has previously been worked).
rule10broken True if this QSO breaks the 10 minute or similar rule. Note that a QSO may not break the 10 minute
rule when it is logged but may later if another QSO is edited. This may not cause a broadcast.
azimuth The approximate direction of the station worked, in degrees.
distance The approximate distance of the station worked, in kilometers.
stationid The station ID of the station which made the QSO.
stationtype The type of station - R for run, R1 for run 1 etc.
local True if this broadcast is due to this QSO being logged or edited on this computer.
mult1 The name of the multiplier if this station is a new multipllier, blank otherwise.
mult2 The name of the multiplier if this station is a new multiplier, blank otherwise.
mult3 The name of the multiplier if this station is a new multiplier, blank otherwise.
period The number of the operating period.

Example message:

<?xml version="1.0" encoding="utf-8"?>
<contactinfo>
    <logger>DXLog.net v2.4.13</logger>
    <qsoid>19</qsoid>
    <contestname>ARRL-SS-CW</contestname>
    <timestamp>2020-01-13 18:28:07</timestamp>
    <mycall>K1XM</mycall>
    <band>80</band>
    <txfreq>352376</txfreq>
    <operator></operator>
    <mode>CW</mode>
    <call>K4BAI</call>
    <countryprefix>K</countryprefix>
    <wpxprefix>K4</wpxprefix>
    <snt>599</snt>
    <rcv>599</rcv>
    <nr>19</nr>
    <exch1>076</exch1>
    <exch2>B</exch2>
    <exch3>54</exch3>
    <exch4>GA</exch4>
    <xqso>False</xqso>
    <invalid>False</invalid>
    <duplicate>False</duplicate>
    <rule10broken>False</rule10broken>
    <azimuth>225</azimuth>
    <distance>1388</distance>
    <stationid>STN1</stationid>
    <stationtype>R1</stationtype>
    <local>True</local>
    <mult1>GA</mult1>
    <mult2></mult2>
    <mult3></mult3>
    <period>1</period>
</contactinfo>

Radio information

Keyword Meaning
logger The name and version of the logging program.
Station The ID of the station.
RadioNr The radio being described.
Freq The receiving frequency
TXFreq The transmitting frequency
InactiveFreq The frequency of the VFO not receiving.
Mode The radio's mode
OpCall The callsign of the operator if the OPON command was used to set it, otherwise blank.
IsRunning "True" if the station is running, "False" if search and pounce.
FocusEntry The Windows handle for the focused entry window
Antenna Antenna number.
Rotors Rotators used by selected antenna (not currently used by DXLog).
FocusRadioNr The radio which has keyboard focus.
IsStereo True if headphones are listening to two radios.
ActiveRadioNr The radio which is transmitting, if any.
Technique SO1R, SO2R, SO2R_ADV, or SO2V
isTransmitting True if a radio is transmitting. This is only true if DXLog is transmitting.
Otherwise it may be false if a radio is transmitting due to PTT or VOX.

Example message:

<?xml version="1.0" encoding="utf-8"?>
<RadioInfo>
    <logger>DXLog.net v2.4.13</logger>
    <Station>STN1</Station>
    <RadioNr>1</RadioNr>
    <Freq>704000</Freq>
    <TXFreq>704000</TXFreq>
    <InactiveFreq>702500</InactiveFreq>
    <Mode>CW</Mode>
    <OpCall>K1XM</OpCall>
    <IsRunning>False</IsRunning>
    <FocusEntry>591124</FocusEntry>
    <Antenna>1</Antenna>
    <Rotors>ABC</Rotors>
    <FocusRadioNr>1</FocusRadioNr>
    <IsStereo>False</IsStereo>
    <Technique>SO1R</Technique>
    <IsTransmitting>False</IsTransmitting>
</RadioInfo>


Rotator information

Keyword Meaning
logger The name and version of the logging program.
station The ID of the station.
radio The radio associated with the rotator.
go True if the rotator should be turned.
stop True if the rotator should be stopped if it is turning.
azimuth The direction to turn the rotator if go is True.
frequency The transmit frequency of the specified radio.

Example message:

<?xml version="1.0" encoding="utf-8"?>
<Rotator>
    <logger>DXLog.net v2.4.13</logger>
    <station>STN1</station>
    <radio>2</radio>
    <go>True</go>
    <azimuth>252</azimuth>
    <frequency>2800200</frequency>
</Rotator>

Broadcast listening

DXLog.net also listens for commands over UDP. Currently only one command is implemented, a QSY command.

Example message:

<?xml version="1.0" encoding="utf-8"?>
<radio_setfrequency>  
    <app>WaterfallBandmap</app>
    <radionr>1</radionr>
    <frequency>21022.194</frequency>
    <mousebutton>Left</mousebutton>
</radio_setfrequency>

SDR integration

HDSDR, OmniRig, and microHAM

Contributed by Ingo SM5AJV/SE5E

Until DXLog offers SDR integration there are still ways to get a waterfall/spectrum display with DXLog.

I have integrated the free SDR software HDSDR with DXLog using Microham Device Router,
OmniRig and AutoHotkey.

As illustrated below I place the HDSDR window at the very top of the desktop with DXLog right below.

I share my transceiver's (an Elecraft K3) antenna with the SDR. The receiver antenna signal from my
K3's RX-ANT OUT is connected to the input of a 3dB power splitter. The two outputs from the splitter
are connected RX-ANT IN on the K3 and the SDR Receiver antenna input, respectively. On a K3 you
need to enable the RX-antenna input to make this to work. An additional benefit with this method
is that the SDR is protected during transmission. It is a widely used method and is e.g. described
by Bob N6TV in this presentation.


Screenshot of my desktop:

Sdrdesktop.png

Since both DXLog and HDSDR need to communicate with the radio, you need to "split"
the CAT communication. microHAM's USB Device Router provides a second, independent,
CAT port that can be used via HDSDR's omniRig interface.


"PORT" Tab on microHamRouter:

Sdrmicrohamrouter.png


OmniRig settings in HDSDR:

Sdromnirig.png


With this set up, the radio, DxLog, and HDSDR will be fully synchronized. For instance, you can
click in the waterfall to make the radio QSY, and it is easy to quickly find a clean frequency.

To make the integration even better I use a small AutoHotkey script. The script pulls entry focus
back to DxLog after clicking on the HDSDR waterfall and in DXLog it allows you to use hotkeys to
control HDSDR. [Ctrl][Alt]+ and [Ctrl][Alt]- zooms the waterfall/spectrum
in and out, and [Ctrl][Alt]C centers it.


AutoHotkey script:

 SetTitleMatchMode, 2
 #InstallKeybdHook
 #IfWinActive, HDSDR
 {
 F4:: return ; disable F4
 ~LButton Up::
   sleep, 1
   Winactivate, DXLog.net
 return
 }
 #IfWinActive, DXLog.net
 {
 ^!+:: ControlSend ,, ^{+}, HDSDR
 ^!-:: ControlSend ,, ^{-}, HDSDR
 ^!c:: ControlSend ,, {c}, HDSDR
 }


The script can be downloaded here.

If you start two instances of HDSDR with two different SDR you can even have two waterfalls
running at the same time.

I have not yet found a way to display cluster spots in the HDSDR spectrum panel.
But I still find it very useful to check band activity and it allows me to easily find
a new Run frequency on a crowded band.

Waterfall Bandmap

The free waterfall/spot display utility "Waterfall Bandmap" by Steve N2IC is supported by DXLog.

Waterfall Bandmap supports almost any SDR that produce I/Q output either via ExtIO.DLL or a
sound card; SDRPlay, FunCubeProPlus, HackRF, SDR-IQ, RTLSDR, SoftRock, etc.

A zip file with an executable binary and a Microsoft word document with installation and
configuration instructions can be found here: https://groups.io/g/waterfallbandmap/files

If you are not a member of the support forum group, you need to apply for membership to download.
Membership is free.


Waterfallbandmap.png


The SDR can be connected either to a separate receive antenna, an external receiver output on
your transceiver or to an IF output, should your transceiver have one. If connected to an antenna,
keep in mind that you may need protection from the transmitter such as a T/R relay or a passive level limiter.

Please refer to Waterfall Bandmap's documentation for setting it up with your SDR.

Waterfall Bandmap needs two information feeds over UDP: Radio information and spot information.
Both are provided as UDP broadcast by DXLog.

The default port for both is 13063 and this needs to be set in DXLog's Network configuration panel.
If Waterfall Bandmap runs on the same computer as DXLog, the broadcast address can be left at the default 127.0.0.1.


Setbroadcastportsforwfbandmap.png


Clicking on the waterfall display can set the frequency of DXLog.net. (Left click sets VFO A, right click sets VFO B.)
To enable this functionality, check the option Options|Broadcast|Receive Broadcasts
Also make sure "UDP broadcast listener" includes port 13064 in the network settings panel.

The radio information feed needs to be enabled by checking the Options|Broadcast|Radio information option


Radiobroadcastenable2.png


and the spot feed needs to be enabled by checking the Options|DX Cluster|Send spots to SmartSDR option.


Enablesendspotstosmartsdr.png

Time synchronization

In a multi-station setting, the time needs to be accurately synchronized across all networked PC.

Windows' built in time synchronization is very crude and for a PC with poor clock stability the inaccuracy of the clock may be up to a minute. Which of course is not acceptable for contesting.

DXLog.net has built in support for time synchronization as described in the Configure network section.

Due to Windows' security system, this however requires all except the PC running as time server to
run DXLog.net with elevated permissions. There is unfortunately no way around this inconvenience.

An equally accurate and less intrusive method is to use a standalone time synchronization application on each networked PC.
This will keep each PC's clock accurate within a fraction of a second.

Contrary to a solution built into a logger it also has the great benefit of being an "install and forget" solution.

A popular application is Dimension 4 by Thinking Man Software. It is free for personal use and
can be downloaded here: http://dxlog.net/sw/files/utilities/d4time531.msi

It runs in the background and only shows up as a tiny icon in your system tray.
You hover the mouse above the icon to check status and right-click to open and change settings.


Dimension4tray.png


After installation a brief configuration is required.

First of all, allow the application to disable Windows' time service and to modify your system clock.

For maximum accuracy, select a time server geographically close to your location.
When in doubt, you can always add the global server "pool.ntp.org" to the list and use that.

There are also national and continental pools of time servers. You can find them here https://www.ntppool.org.


Dimension4b.png


Make sure the check boxes "Load Dimension 4 at startup", "Start minimized", "Hide when minimized",
and "Display icon in tray" are all checked.


Dimension4advanced.png


Click the Advanced button and also make sure the option "Use the selected server" is selected.

Make sure the application reports a successful connection to the selected time server.
From here on, you can basically forget the application.
It will silently start with your PC and always keep its time accurate.