BlueDV issues on Ubuntu 21 and Mono 6.8 #bluedv #linux


Dave Slotter, W3DJS
 

I am a long-time user of BlueDV under Windows. However, I am trying to run version 1.0.0.9609 under a modern version of Ubuntu Linux and am running into a number of issues. (Yes, I know 9610 is available, but repackaging the Windows version for Linux is a chore / pain.)

There are two issues:
1) GUI is mangled on 4K display
2) Cannot access sound hardware (i.e. crashes)


1) Mangled GUI
I have included an inline image of the BlueDV GUI to show the mangled display I am observing when the main display is set to 4K. Dragging the window to a non-4K display doesn't correct it.

Main window:
Screenshot from 2022-02-27 21-11-59.png

Preferences window (I have redacted sensitive information):
Screenshot from 2022-02-27 21-14-38.png

About Box:
Screenshot from 2022-02-27 21-19-59.png

2) Sound Crashes
a. When attempting to click "Mute spk" checkbox, BlueDV crashes:

Dump:

dave@Pluto:/usr/local/BlueDV$ mono BlueDV.exe
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: cHRM chunk does not match sRGB
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: cHRM chunk does not match sRGB
System.NotSupportedException: This functionality is only supported on Windows Vista or newer.
  at NAudio.CoreAudioApi.MMDeviceEnumerator..ctor () [0x00018] in <554b80148c284b99953f098db496ebd4>:0
  at BlueDV.Form1.checkBox1_CheckedChanged (System.Object sender, System.EventArgs e) [0x00000] in <52d530c3007f4ac8aac38af99ba2ae9b>:0
  at System.Windows.Forms.CheckBox.OnCheckedChanged (System.EventArgs e) [0x0001c] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.CheckBox.set_CheckState (System.Windows.Forms.CheckState value) [0x00032] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.CheckBox.OnClick (System.EventArgs e) [0x00042] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.ButtonBase.OnMouseUp (System.Windows.Forms.MouseEventArgs mevent) [0x00081] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.CheckBox.OnMouseUp (System.Windows.Forms.MouseEventArgs mevent) [0x00000] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) [0x0007e] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x0016f] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.ButtonBase.WndProc (System.Windows.Forms.Message& m) [0x0004e] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x0000b] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.NativeWindow.WndProc (System.IntPtr hWnd, System.Windows.Forms.Msg msg, System.IntPtr wParam, System.IntPtr lParam) [0x0008e] in <a3daa9b84fd241a497578a25f68bc3c7>:0
 
b. When clicking on "AMBE" menu, BlueDV crashes (the first time):

Dump:
dave@Pluto:/usr/local/BlueDV$ mono BlueDV.exe
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: cHRM chunk does not match sRGB
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: cHRM chunk does not match sRGB
System.DllNotFoundException: winmm.dll assembly:<unknown assembly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) NAudio.Wave.WaveInterop.waveOutGetNumDevs()
  at NAudio.Wave.WaveOut.get_DeviceCount () [0x00000] in <554b80148c284b99953f098db496ebd4>:0
  at BlueDV.soundcard.listPlayDevices () [0x00000] in <52d530c3007f4ac8aac38af99ba2ae9b>:0
  at BlueDV.Form1.aMBEToolStripMenuItem_Click (System.Object sender, System.EventArgs e) [0x00010] in <52d530c3007f4ac8aac38af99ba2ae9b>:0
  at System.Windows.Forms.ToolStripItem.OnClick (System.EventArgs e) [0x0001c] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.ToolStripMenuItem.OnClick (System.EventArgs e) [0x00017] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.ToolStripMenuItem.HandleClick (System.Int32 mouse_clicks, System.EventArgs e) [0x00000] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.ToolStripItem.FireEvent (System.EventArgs e, System.Windows.Forms.ToolStripItemEventType met) [0x00061] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at (wrapper remoting-invoke-with-check) System.Windows.Forms.ToolStripItem.FireEvent(System.EventArgs,System.Windows.Forms.ToolStripItemEventType)
  at System.Windows.Forms.ToolStrip.OnMouseUp (System.Windows.Forms.MouseEventArgs mea) [0x00057] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.Control.WmLButtonUp (System.Windows.Forms.Message& m) [0x0007e] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x0016f] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.ToolStrip.WndProc (System.Windows.Forms.Message& m) [0x00000] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.MenuStrip.WndProc (System.Windows.Forms.Message& m) [0x00000] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x0000b] in <a3daa9b84fd241a497578a25f68bc3c7>:0
  at System.Windows.Forms.NativeWindow.WndProc (System.IntPtr hWnd, System.Windows.Forms.Msg msg, System.IntPtr wParam, System.IntPtr lParam) [0x0008e] in <a3daa9b84fd241a497578a25f68bc3c7>:0

4) System Information
Here is the relevant information to aid debugging:

dave@Pluto:/usr/local/BlueDV$ cat /etc/os-release 
PRETTY_NAME="Ubuntu 21.10"
NAME="Ubuntu"
VERSION_ID="21.10"
VERSION="21.10 (Impish Indri)"
VERSION_CODENAME=impish
ID=ubuntu
ID_LIKE=debian
UBUNTU_CODENAME=impish

dave@Pluto:/usr/local/BlueDV$ uname -a
Linux Pluto 5.13.0-30-generic #33-Ubuntu SMP Fri Feb 4 17:03:31 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

dave@Pluto:/usr/local/BlueDV$ mono --version
Mono JIT compiler version 6.8.0.105 (Debian 6.8.0.105+dfsg-3.2 Wed Jun 30 05:34:49 UTC 2021)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS:           __thread
SIGSEGV:       altstack
Notifications: epoll
Architecture:  amd64
Disabled:      none
Misc:          softdebug 
Interpreter:   yes
LLVM:          supported, not enabled.
Suspend:       hybrid
GC:            sgen (concurrent by default)

dave@Pluto:/usr/local/BlueDV$ ls -l
total 19872
-rw-r--r-- 1 dave dave   32768 Jul  2  2017 AGauge.dll
-rw-r--r-- 1 dave dave   28672 Apr  8  2017 AquaGauge.dll
-rw-r----- 1 dave dave    1048 Feb 27 20:50 BlueDVconfig.ini
-rwxr-xr-x 1 dave dave 8354816 May 25  2021 BlueDV.exe
-rw-r--r-- 1 dave dave    8800 Mar  7  2021 BlueDV.exe.config
-rw-r--r-- 1 dave dave    2281 Feb 27 20:31 BMhosts.txt
-rw-r--r-- 1 dave dave    7865 Feb 27 20:30 DCS_Hosts.txt
-rw-r--r-- 1 dave dave   34681 Feb 27 20:30 DExtra_Hosts.txt
-rw-r--r-- 1 dave dave   30040 Feb  2  2017 digital.ttf
-rw-r--r-- 1 dave dave 8426519 Feb 27 20:31 dmrid.csv
-rw-r--r-- 1 dave dave   15459 Feb 27 20:30 DPlus_Hosts.txt
drwxr-xr-- 2 dave dave    4096 Feb  9 18:22 en
-rw-r--r-- 1 dave dave   26734 Feb  2  2017 en_us.ambe
-rw-r--r-- 1 dave dave     754 Feb 27 20:31 fcs_masters.txt
-rw-r--r-- 1 dave dave      62 May 10  2020 fcs.txt
-rw-r--r-- 1 dave dave    3078 Feb 27 20:31 FreeDMR_Hosts.txt
-rw-r--r-- 1 dave dave     375 May  2  2021 HBLink.txt
-rw-r--r-- 1 dave dave     295 Sep 14  2018 HBLink.txt.EXAMPLE
-rw-r--r-- 1 dave dave    1278 Feb 27 20:30 JPN_Hosts.txt
-rw-r--r-- 1 dave dave  513536 Jan 31  2020 NAudio.dll
-rw-r--r-- 1 dave dave  700336 Nov  9  2019 Newtonsoft.Json.dll
-rw-r--r-- 1 dave dave   14848 Feb  2  2017 ProgressBarEx.dll
-rw-r--r-- 1 dave dave  100864 Feb  2  2017 ToggleSwitch.dll
-rw-r--r-- 1 dave dave 1644118 Feb  2  2017 web_hi_res_512.ico
-rw-r--r-- 1 dave dave   16896 Oct 26  2017 WebSockets.Common.dll
-rw-r--r-- 1 dave dave  244224 Aug 17  2015 websocket-sharp-with-proxy-support.dll
-rw-r--r-- 1 dave dave   14848 Oct 26  2017 WebSockets.Server.dll
-rw-r--r-- 1 dave dave   14583 Feb 27 20:31 xlx_DMRMaster.txt
-rw-r--r-- 1 dave dave   33678 Feb 27 20:30 XLX_Hosts.txt
-rw-r--r-- 1 dave dave   11495 Feb 27 20:30 XLXYSF_Hosts.txt

(Notice there is no SoundCardIn or SoundCardOut configured in the INI below like the Windows version has in its config file.)

dave@Pluto:/usr/local/BlueDV$ cat BlueDVconfig.ini

[GENERAL]
myCall=W3DJS
comport=/dev/ttyUSB0
invertDTR=0
saveQSOLog=1
RXTXColors=1
StartProtocol=None
dvdongle=1
frequency=434300000
modeTimerRF=10
modeTimerNet=5
DVMEGAPower=254
longitude=[REDACTED]
latitude=[REDACTED]
alwaysOnTop=0
invertRXTXColors=1
language=English

[AMBE]
AMBEtype=AMBE3000
AMBEspeed=230400
AMBEDMRid=[REDACTED]
enableAMBEServer=0
AMBEServerHost=192.168.1.1
AMBEServerHostPort=2460
enableRoger=1
comport=/dev/ttyUSB0
PTTKeying=0
PTTCOMPort=
enableRXIndicator=1
RXIndicator=RTS
RXIndicatorHighLow=HIGH
PTTIndicator=CTS
PTTIndicatorHighLow=HIGH
killswitch=5
DSTARSlowDataText=BlueDV by PA7LIM    

[DMR]
dmrid=[REDACTED]
dmridsimplemode=[REDACTED]
DMRmaster=74.91.114.19
DMRpassword=[REDACTED]
DMRplusmaster=213.202.229.40
DMRplusPort=55555
DMRplusPassword=passw0rd
qrg=0
autostart=1
noInbandData=0
DMRtypeSelection=BM

[FUSION]
autostart=0
QTHlocation=[REDACTED]
defaultYSFReflector=AmericaLink
defaultFCSReflector=FCS00401
autostartProtocol=YSF

[DSTAR]
autostart=0
DSTARmodule=C
APRS=1
defaultReflector=REF030C


--
- Dave, W3DJS
-- Lifetime Member of ARRL & GARS and curator of HamPi, the ham radio software distribution for the Raspberry Pi --

--
- Dave, W3DJS
-- Lifetime Member of ARRL & GARS and curator of HamPi, the ham radio software distribution for the Raspberry Pi --


Dave Slotter, W3DJS
 

David PA7LIM,

Reviewing some of your prior posts, I now read that you stated, "The only difference is that you can not use an AMBE3000 with the Linux version. The reason for this is the sounddriver that can not be emulated in Linux( MONO )."

So my new question is: If one cannot use the AMBE3000, what is one left to do? Could one instead run the AMBEServer and have BlueDV connect to that? What other options exist?

Please advise, and 73.

--
- Dave, W3DJS
-- Lifetime Member of ARRL & GARS and curator of HamPi, the ham radio software distribution for the Raspberry Pi --


Gadget Lust
 

I have successfully run the AMBE server on Raspbian with a NWDV dongle, and connected the BlueDV software to it from a Windows machine.  That certainly works.  

73
Harv
K2PI