Linux Migration

37 views
Skip to first unread message

pastor...@gmail.com

unread,
Jun 4, 2024, 8:59:33 PMJun 4
to Public Seismic Network Mailing List
Greetings to the group

I have been using a 4channel digitizer for years, and am now moving away from
Windows, to Linux. 

I've installed Mint on the machine I have been using and it is up and running fine. 
I have followed all of the comments on the Winsdr migration to Linux page.  The 
installation is well documented there. 

I have confirmed the usb to serial adapter is in fact working in linux.  It is mapped to
com port 1 as the directions instructed.  When I load Winsdr, I immediately get the
"can't connec to a/d board" message.  I have tried every different combination in the
settings window for the com port, including different boards, to no avail. 

When I go into the settings page after the page load and do nothing, just close it, I
do not get a further message that the board can't connect.  But there are no traces on
the Winsdr screen. 

I don't know what else to check or test.  I have two devices set up in the settings and both
are showing in the list to display. 

Any direction would be great.  I'm hoping there are some other Linux users out here.

Thanks Jeff

Larry Cochrane

unread,
Jun 4, 2024, 9:39:38 PMJun 4
to psn...@googlegroups.com
Hi Jeff,

This might be a permission issue. Try running WinSDR as root or play around with the port permission / ownership settings.

I just installed WinSDR on a Raspberry PI 4. I found a program on the Internet called pi-apps that installed Wine, Wine
Tools, some Windows runtime libraries and a x86 emulator. After installing WinSDR I was able to run it without any
problems.

Let us know what you find out.

-Larry
> --
> You received this message because you are subscribed to the Google Groups "Public Seismic Network Mailing List" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to psnlist+u...@googlegroups.com
> <mailto:psnlist+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/psnlist/6c0c14ba-3583-4142-81b0-ed0e52e04cfcn%40googlegroups.com
> <https://groups.google.com/d/msgid/psnlist/6c0c14ba-3583-4142-81b0-ed0e52e04cfcn%40googlegroups.com?utm_medium=email&utm_source=footer>.

Jón Frímann Jónsson

unread,
Jun 4, 2024, 9:44:55 PMJun 4
to psn...@googlegroups.com
Hi,

You need to add your user to tty user group and the dial-up user group. I use Debian, but its the same in every linux distro when it comes to user groups permissions. My user uses tty, lp, dialout, plugdev, lpadmin for wine so the connection WinSDR works properly.

Best regards,
Jón Frímann
--
You received this message because you are subscribed to the Google Groups "Public Seismic Network Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to psnlist+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/psnlist/6c0c14ba-3583-4142-81b0-ed0e52e04cfcn%40googlegroups.com.

pastor...@gmail.com

unread,
Jun 5, 2024, 3:18:05 PMJun 5
to Public Seismic Network Mailing List
Thank you both for your comments.  Super helpful.

I set up WinSDR under root, and that seemed to make a difference in a positive way.
However, I still have no traces on the screen.  

I opened the log file to see if that would give me a clue.  Here is what it is stating:

Running under linux/wine
LIB error: No data timeout
Reset board: nousbdataerror=0 Usbdevice=0
Reset board: Waiting 5 seconds
LIB error: No data timeout

Loop


I did go down to the basement and short pins 2, 3 together and do a loopback test in a terminal
program.  I was able to see my key strokes.  Taking the short off of the connector, the keystrokes
were no longer showing.  So, I believe the usb to serial adapter cable is in fact working.  Linux shows
it in place as well as /dev/ttyUSB0

Then I updated the wine registry with this entry

[HKEY_LOCAL_MACHINE\Software\Wine\Ports]
"COM1"="/dev/ttyUSB0"

No change.  Rebooting wine, the system, etc.  No change.  The log still shows what I have listed above.  

Larry, if I can't get this desktop to work, maybe I will try a PI.  I would prefer to not start all over, but will
do whatever it takes to get this restored.  So happy to be away from windows.  This is just a bridge I
need to get over.

Thanks for any additional help

Jón Frímann Jónsson

unread,
Jun 5, 2024, 3:38:01 PMJun 5
to psn...@googlegroups.com
Hi,

Never run anything under root account in Linux. Set-up a normal user and run WinSDR from that account. Just adjust permissions as needed. You have the connection, but Wine might map it to COM3, COM5 or some other COM port, depending on how the this is handled in the system. You just have to test to find the correct COM port that is being used by ttyUSB0.

Best regards,
Jón Frímann

pastor...@gmail.com

unread,
Jun 5, 2024, 10:50:13 PMJun 5
to Public Seismic Network Mailing List
Well, I reinstalled Linux mint again to fix all of the myriads of changes made through the terminal in the first go around.
Starting fresh, changing permissions to all of the possibilities, testing the serial cable with minicom, it was another dead
end day.  

I'm thinking I will try your path Larry with the pi 4, and the mentioned software.  If you got it going, that is better than what I am doing.

I still am glad I am flipping to Linux.  But this project has been a bit much.  It's the first time I haven't had WinSDR in years. 
I'm groaning

Jón Frímann Jónsson

unread,
Jun 5, 2024, 11:32:57 PMJun 5
to psn...@googlegroups.com
Hi,

You can also use Debian or OpenSuse. Both have worked fine for me with Wine and WinSDR. Debian seems to have problem with EFI bios so in those cases, OpenSuse sould be used.

Best regards,
Jón Frímann

Larry Cochrane

unread,
Jun 5, 2024, 11:37:39 PMJun 5
to psn...@googlegroups.com
Hi Jeff,

Are you sure the ADC board is working? I think this message in the log file "LIB error: No data timeout" indicates that
WinSDR is opening the port but is not receiving the "I am here" message from the board. This could be a baud rate issue
so make sure the baud rate switches on the board are set correctly. When you run WinSDR does the LED on the ADC continue
to blink? And when you run minicom do you see any data. The "I am here packet" is binary so all you will see is garbage
but you should see some output from the board.

-Larry

Jeff Mauer

unread,
Jun 6, 2024, 12:36:50 AMJun 6
to psn...@googlegroups.com
Thank you Larry
The board has been running up to the point of swapping the os on the desktop

Minicom showed no data coming from the adc board.

I checked the dip switches on the board yesterday.  The two for baud rate are off, so it should be at 9600.

As far as the led. It's blinking.  However,  I tried turning it off via winsdr, and went down to see if it was off,  and it was on,  flashing.   But later,  I went down,  and it was off.

Jeff Mauer

unread,
Jun 6, 2024, 12:37:46 AMJun 6
to psn...@googlegroups.com
Are you using a Linux computer,  or Pi? 

pastor...@gmail.com

unread,
Jun 10, 2024, 11:48:25 PMJun 10
to Public Seismic Network Mailing List
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:

  1. Check the permissions of the serial port devices in /dev:
ls -l /dev/ttyS*

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.

  1. Check if your user is a member of the dialout group:
groups <username>

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:

  1. Debian, Ubuntu, and derivatives (using apt):

    su - apt update apt install sudo
  2. 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
  3. Arch Linux and derivatives (using pacman):

    su - pacman -Sy sudo

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:

  1. Add your user to the wheel group:

    usermod -aG wheel <username>

    Replace <username> with your actual username.

  2. 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):

    visudo

    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.

  3. 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

Now, you need to download WinSDR

https://www.seismicnet.com/winsdr/

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:

    cd ~/Downloads

    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:

    ls

    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:

    wine winsdr_setup.exe

    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.  

Reply all
Reply to author
Forward
0 new messages