N1MM Logger on Linux

N1MM Logger is popular amateur radio contest logging software designed for Windows. It may also be usable on Linux using WINE.

Caveats

This procedure requires some expertise with using WINE and may not work easily. It’s much easier to just run N1MM Logger on Windows, perhaps in a virtual machine.

Given the rapid development of N1MM, this unsupported procedure may break at any time. This N1MM logger on Linux was tested using:

  • Ubuntu 18.04 / 20.04
  • WINE 4.0 (WINE 3.x is fine too)
  • winetricks 20181203
  • winecfg set to Windows 7 32-bit

Install

Setup a 32-bit Windows 7 WINE environment with .NET 4.0, then install the N1MM logger.

  1. Set WINE to Windows 7 under

    WINEPREFIX=~/.wine_n1mm WINEARCH=win32 winecfg
    

    This implicitly creates a new 32-bit Wineprefix.

  2. Install .NET 4.0 in WINE 32-bit. It takes about 3-5 minutes, and at a couple points in the install, the progress bar seems to freeze, but the console text keeps scrolling. Note that .NET newer than 4.0 might not work for N1MM (thanks Harry Bloomberg for noting this).

    WINEPREFIX=~/.wine_n1mm winetricks dotnet40
    
  3. Download and run N1MM Full Install

    WINEPREFIX=~/.wine_n1mm wine N1MM*FullInstaller*.exe
    
  4. Download and run N1MM latest update

    WINEPREFIX=~/.wine_n1mm wine N1MM*Update*.exe
    
  5. Start and configure N1MM Logger as per the directions for your particular contest, the binary is at:

    WINEPREFIX=~/.wine_n1mm wine '/home/thin/.wine_n1mm/drive_c/Program Files/N1MM Logger+/N1MMLogger.net.exe'
    

    Create a script ~/n1mm.sh containing:

    #!/bin/bash
    
    WINEPREFIX=~/.wine_n1mm wine '/home/thin/.wine_n1mm/drive_c/Program Files/N1MM Logger+/N1MMLogger.net.exe'
    

    then

    chmod +x ~/n1mm.sh
    

Run N1MM Logger by simply typing in Terminal:

~/n1mm.sh

Radio control

N1MM can OPTIONALLY interface with your radio to pull out the frequency/mode for the log. You’ll need to map the WINE serial port and then select that COM port in N1MM Logger.

  1. look for the USB ↔ serial adapter before/after plugin with:

    dmesg -w
    
  2. Start the WINE registry editor:

    WINEPREFIX=~/.wine_n1mm wine regedit
    
  3. configure the port. Say your device is seen at /dev/ttyUSB0, and you want it to appear to WINE on COM1. Edit HKEY_LOCAL_MACHINE/Software/Wine/Ports to have a new string entry named COM1 with value /dev/ttyUSB0.

  4. restart WINE:

    wineserver -k
    

    then reopen N1MM logger wit the script you created in the installation:

    ~/n1mm.sh
    
  5. verify this setting (but do not edit) by:

    ls ~/.wine_n1mm/dosdevices/com1
    

    there should be: com1 -> /dev/ttyUSB0

Note: Harry Bloomberg notes that you may be able to specify the specific long device name under /dev/serial instead of /dev/ttyUSB0. This may help avoiding the USB device changing port numbers when plugging / unplugging the USB device.

Notes

Alternatives

Currently, ReactOS 0.4.10 is not able to install N1MM logger. The N1MM Logger install hangs at:

Downloading RGB9RAST_x86.msi

Advanced use

Phil Erickson of MIT Haystack noted that for certain SDRs that use hamlib, you may be able to rewire the output of N1MM into hamlib via socat.