How to Add N4PY Radio Control Software to a Linux Computer

A “How To” For Linux User to Add N4PY Radio Control Software to the Operating Position.

Getting started, we need to choose a distribution. For purposes of this discussion I will describe the
setup in OpenSUSE 13.1. I won’t go through it for Ubuntu, but if you follow this with openSUSE, you
should be able to interpolate and succeed with the other Linux distributions.

Choosing a suitable computer platform. http://en.opensuse.org/Hardware_requirements

At KA7U, I am currently using an IBM Intellistation Zpro with dual XEON processors and an NVIDIA
6800 video card, for the radio control computer. I have also used an ACER Aspire One ZG5 to
interface to the radio. The IBM is quicker and the display is much better, but both of these computers
get the job done.

To install openSUSE and configure it for a useful desktop, you might like to follow some of the
directions found at How To Forge.
http://www.howtoforge.com/the-perfect-desktop-opensuse-12.3-gnome-desktop

While this is not specifically for openSUSE 13.1, it is for openSUSE 12.1, the available software
should be similar. Pick and choose what you want to install.

You must install WINE, http://en.opensuse.org/Wine , the current version being used here today is
WINE version#1.7.8 . Both 32 bit and 64 bit versions are in use here and both run N4PY without
special consideration or addition of native Windows DLL files.

You will need to enable serial ports in the directory ~/.wine/dosdevices . One of my computers has a
~/.wine/dosdevices directory that lists the following:

ron@linux-i6yo:~/.wine/dosdevices> ls -l
total 0
lrwxrwxrwx 1 ron users 10 Nov 22 14:49 c: -> ../drive_c
lrwxrwxrwx 1 ron users 10 Nov 6 09:31 com1 -> /dev/ttyS0
lrwxrwxrwx 1 ron users 12 Nov 18 23:42 com3 -> /dev/ttyUSB0
lrwxrwxrwx 1 ron users 8 Nov 23 09:47 d:: -> /dev/sdb
lrwxrwxrwx 1 ron users 17 Nov 22 14:48 e: -> /sys/kernel/debug
lrwxrwxrwx 1 ron users 13 Nov 22 14:48 f: -> /proc/bus/usb
lrwxrwxrwx 1 ron users 8 Nov 5 09:46 g:: -> /dev/sdd
lrwxrwxrwx 1 ron users 9 Nov 22 14:48 h: -> /home/ron
lrwxrwxrwx 1 ron users 8 Nov 5 09:46 i:: -> /dev/sdg
lrwxrwxrwx 1 ron users 8 Nov 5 09:46 j:: -> /dev/sdf
lrwxrwxrwx 1 ron users 8 Nov 5 09:46 k:: -> /dev/sr1
lrwxrwxrwx 1 ron users 8 Nov 21 11:25 l:: -> /dev/sdh
lrwxrwxrwx 1 ron users 9 Nov 21 11:25 m:: -> /dev/sdh2
lrwxrwxrwx 1 ron users 9 Nov 21 11:25 n:: -> /dev/sdh5
lrwxrwxrwx 1 ron users 9 Nov 21 11:25 o:: -> /dev/sdh1
lrwxrwxrwx 1 ron users 8 Nov 23 09:47 p:: -> /dev/sdc
lrwxrwxrwx 1 ron users 8 Nov 23 09:47 q:: -> /dev/sde
lrwxrwxrwx 1 ron users 8 Nov 23 09:47 r:: -> /dev/sr0
lrwxrwxrwx 1 ron users 9 Nov 24 23:44 s:: -> /dev/sdc1
lrwxrwxrwx 1 ron users 9 Nov 24 23:44 t:: -> /dev/sdc2
lrwxrwxrwx 1 ron users 9 Nov 24 23:44 u:: -> /dev/sdc5
lrwxrwxrwx 1 ron users 55 Nov 28 10:42 v: -> /var/run/media/ron/babd3add-c7bf-422a-83e7-5955e9581a33
lrwxrwxrwx 1 ron users 9 Nov 24 23:51 v:: -> /dev/sdb1
lrwxrwxrwx 1 ron users 9 Nov 24 23:51 w:: -> /dev/sdb2
lrwxrwxrwx 1 ron users 9 Nov 24 23:51 x:: -> /dev/sdb5
lrwxrwxrwx 1 ron users 8 Nov 25 11:14 y:: -> /dev/sdi
lrwxrwxrwx 1 ron users 1 Sep 26 22:07 z: -> /
ron@linux-i6yo:~/.wine/dosdevices>

Notice that com1 is linked with /dev/ttyS0 , which is an actual serial port on this computer.
Notice that com3 is linked with /dev/ttyUSB0 which is a USB to Serial converter device.
When you plug in your USB to Serial converter it will be assigned a device name in the /dev directory.
You can find out what it is called by searching for it like so:

ron@linux-i6yo:~> dmesg |grep ttyUSB
[21825.616981] usb 3-1: FTDI USB Serial Device converter now attached to ttyUSB0
ron@linux-i6yo:~>
You can further search for it in the /dev directory.
ron@linux-i6yo:~> cd /dev/
ron@linux-i6yo:/dev> ls -l ttyUSB*
crw-rw---- 1 root dialout 188, 0 Dec 12 16:14 ttyUSB0 # notice ownership is root:dialout
ron@linux-i6yo:/dev>

If you unplug a USB to Serial converter and plug it back in, the name assignment may increment up a
number. So generally don’t do that and if you do, think about needing to reboot the computer or relink
the com port.

So what do you do in the ~/.wine/dosdevices directory to link the Serial Ports?

ron@linux-i6yo:~/.wine/dosdevices> ln -s /dev/ttyS0 com1
ron@linux-i6yo:~/.wine/dosdevices> ln -s /dev/ttyUSB0 com3

It is important that you create these symbolic links while logged into the terminal as the normal user.
Otherwise, you will get an error message when trying to connect to the ports that they are busy or in
use. Which brings us to the need of our normal user belonging to the required groups in order to have
permission to access certain hardware items. So add your user to the user group “dialout”. The image
below should help you to get this done.

n4py-setup
Once these things are accomplished, you should be able to install N4PY in the usual way as if you were
using Windows. I do use the WINE utility “Uninstall Software “ to add and remove programs
however. So I would download N4PY, and then run “Uninstall Software” from the WINE program
group in the start menu.

There are some minor anomalies in N4PY when it is running under WINE, but if you are willing to
overlook some minor font display issues, and possibly some other little details, you should find that
N4PY functions as expected working with Linux and WINE. http://wiki.winehq.org/FAQ
I find that other applications work well with N4PY using Linux, such as MixW, N4PY remote, IPSound,
and several other windows programs. Your experience may vary.

If you would like to watch an example of N4PY remote running on openSUSE 13.1, please watch video:
http://www.youtube.com/watch?v=cuJWYr8lYgo&feature=youtu.be

73,
Ron Morell

KA7U