I thought I would give an update to the whole Linux / WinSDR installation. I finally got the app to work
with Mint.
For those who may want to get WinSDR to work with Linux, here is what I did.
Install Linux Mint - Cinnamon
Open terminal
Type or copy the following commands, one at a time
sudo apt update && sudo apt upgrade
sudo apt install wine, (y at the prompt)
ls /dev/ttyS*
Serial Port Names (ttyS*): Look for lines that contain references to ttyS*. These are the names of serial ports detected by the system. Each ttyS* represents a serial port, with * being a number (e.g., ttyS0, ttyS1, etc.).
Take note of the serial port names for your serial card. If you have one, fine. Two, get both names.
ls ~/.wine/dosdevices/
This command will list the contents of the /dosdevices/ directory within your Wine configuration directory (~/.wine). In this directory, you'll find symbolic links representing the COM ports mapped by Wine. The format of these links typically follows the pattern com*, where * is the COM port number.
Since you are going to want to use com1, or some other com port number with WinSDR, you need to map the appropriate com # in this list with
the serial port that Linux has assigned to it or them.
ls -l ~/.wine/dosdevices/com*
This is going to give you a list of how Wine maps serial or usb ports to a com port. Here is an example of my list
lrwxrwxrwx 1 jeff jeff 10 Jun 9 10:02 /home/jeff/.wine/dosdevices/com1 -> /dev/ttyS0
lrwxrwxrwx 1 jeff jeff 10 Jun 9 10:02 /home/jeff/.wine/dosdevices/com10 -> /dev/ttyS9
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com11 -> /dev/ttyS10
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com12 -> /dev/ttyS11
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com13 -> /dev/ttyS12
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com14 -> /dev/ttyS13
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com15 -> /dev/ttyS14
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com16 -> /dev/ttyS15
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com17 -> /dev/ttyS16
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com18 -> /dev/ttyS17
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com19 -> /dev/ttyS18
lrwxrwxrwx 1 jeff jeff 10 Jun 10 20:24 /home/jeff/.wine/dosdevices/com2 -> /dev/ttyS6
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com20 -> /dev/ttyS19
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com21 -> /dev/ttyS20
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com22 -> /dev/ttyS21
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com23 -> /dev/ttyS22
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com24 -> /dev/ttyS23
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com25 -> /dev/ttyS24
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com26 -> /dev/ttyS25
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com27 -> /dev/ttyS26
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com28 -> /dev/ttyS27
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com29 -> /dev/ttyS28
lrwxrwxrwx 1 jeff jeff 10 Jun 9 10:02 /home/jeff/.wine/dosdevices/com3 -> /dev/ttyS2
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com30 -> /dev/ttyS29
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com31 -> /dev/ttyS30
lrwxrwxrwx 1 jeff jeff 11 Jun 9 10:02 /home/jeff/.wine/dosdevices/com32 -> /dev/ttyS31
lrwxrwxrwx 1 jeff jeff 10 Jun 9 10:02 /home/jeff/.wine/dosdevices/com4 -> /dev/ttyS3
lrwxrwxrwx 1 jeff jeff 10 Jun 9 10:02 /home/jeff/.wine/dosdevices/com5 -> /dev/ttyS4
lrwxrwxrwx 1 jeff jeff 10 Jun 9 10:02 /home/jeff/.wine/dosdevices/com6 -> /dev/ttyS5
lrwxrwxrwx 1 jeff jeff 10 Jun 9 10:02 /home/jeff/.wine/dosdevices/com7 -> /dev/ttyS6
lrwxrwxrwx 1 jeff jeff 10 Jun 9 10:02 /home/jeff/.wine/dosdevices/com8 -> /dev/ttyS7
lrwxrwxrwx 1 jeff jeff 10 Jun 9 10:02 /home/jeff/.wine/dosdevices/com9 -> /dev/ttyS8
You will notice com1 is mapped to a serial port, because the names are /dev/ttyS(#)
They could be mapped to usb ports as well. /dev/ttyUSB(#) #=port number
If com1 is not mapped to your serial port name, then it needs to be changed.
First remove com1 from the list:
rm ~/.wine/dosdevices/com1
Then put this command in with the name of your serial port as you see in this example:
ln -sf /dev/ttyS0 ~/.wine/dosdevices/com1
You can verify the change by:
ls -l ~/.wine/dosdevices/com1
At this point, if the dosdevices file is mapped symbolically to your serial port name, you should
be good to go. There is one more thing you want to do.
Give your user permission to use the serial port
To ensure that the dialout group has the necessary permissions to access serial ports, you can use the ls command to check
the permissions of the serial port devices in /dev and the groups command to check if your user is a member of the dialout group.
Here are the steps:
- Check the permissions of the serial port devices in /dev:
This command will list the permissions of all serial port devices (ttyS*). Ensure that the owner is set to root and the group is
set to dialout. The permissions should allow read and write access for the owner and group.
- Check if your user is a member of the dialout group:
Replace <username> with your actual username. This command will list all the groups that your user belongs to. If dialout is listed among the groups, your user has the necessary permissions to access serial ports.
If your user is not a member of the dialout group, you can add it using the following command:
sudo usermod -aG dialout <username>
Replace <username> with your actual username. After running this command, log out and log back in for the changes to take effect. Then, recheck the group membership using the groups command to confirm that your user is now a member of the dialout group.
If you do not have sudo working, you can install it and try again.
Here are the instructions:
If you're on a Linux system that doesn't have sudo installed, you may need to install it using the package manager specific to your distribution. Here's how to do it for some common distributions:
Debian, Ubuntu, and derivatives (using apt):
su -
apt update
apt install sudo
Red Hat, CentOS, Fedora, and derivatives (using yum or dnf):
su -
yum install sudo # For older versions using yum
dnf install sudo # For newer versions using dnf
Arch Linux and derivatives (using pacman):
After installing sudo, you need to configure it to allow your user to run commands with elevated privileges. This typically involves adding your user to the wheel group and configuring sudoers file. Here's how to do it:
Add your user to the wheel group:
usermod -aG wheel <username>
Replace <username> with your actual username.
Edit the sudoers file to allow members of the wheel group to execute commands with elevated privileges. You can use the visudo command, which opens the sudoers file in a text editor (usually vi or vim):
Find the line that says %wheel ALL=(ALL) ALL and uncomment it by removing the # symbol at the beginning of the line, if it's commented out.
Save and exit the editor.
After making these changes, log out and log back in for the changes to take effect. Then, you should be able to use sudo to execute commands with elevated privileges.
** if the su command doesn't work on your installation, type in
su -
Try again
Your computer will want to save this to the download folder. That's fine.
Open your file explorer. In linux Mint, it should have installed Nemo (file explorer)
Verify that WinSDR downloaded an .exe setup file in the download folder.
If it is there, then follow these commands
Open Terminal: Open the Terminal in Linux Mint. You can typically do this by pressing Ctrl + Alt + T.
Navigate to the Downloads Folder: Assuming the installation program is in the Downloads folder, you can change to that directory using the cd command. Type the following command and press Enter:
This command navigates to the Downloads folder in your home directory (~ represents your home directory).
Verify the File: You can list the contents of the directory to verify that the installation program is there. Type:
This will show you a list of files and folders in the current directory.
Install with Wine: To install the program using Wine, you can use the wine command followed by the name of the
installation program. For example, if the program is called winsdr_setup.exe, you would type:
Replace winsdr_setup.exe with the actual name of the installation program showing in your download folder.
Follow Installation Instructions: Once you run the installation command, the installation process should start. Follow the on-screen instructions to complete the installation.
I didn't do anything but answer the basic prompts for the installation. I did not click on icon on desktop or the other choice.
Verify Installation: After the installation is complete, you can verify if it was successful by checking if the program icon appears in your application menu, or by running it from the terminal using Wine.
Now when you go to your Linux Mint menu, bottom left corner, you should see Wine in the main list. Click on that, and you will
see WinSDR as a choice of programs to open. Click on that, and you should have WinSDR running.
Click on settings, choose the appropriate com port, and we will all hope it runs properly. If not, you may need to
go back to the terminal and type this again
sudo usermod -aG dialout <username>
Replace <username> with your actual username. After running this command, log out and log back in for the changes to take effect.
This is what I did to get WinSDR to work on my new Linux Mint OS.
That's all I can add here. Hope this will help others ahead.
And Larry, if you don't want this on the wall, feel free to delete it. No issues with me whatsoever.