Topics

TS890 USB CW and PTT Operaton

Jim W7RY
 



I tried this setup from the TS-890 group and no joy either.

Thanks
73
Jim W7RY





Jim Vilbert
11/17/18   #630  

SUCCESS with connecting.  Here are the settings I am using to connect in CW and radio keying.

On the TS-890 - Advanced menu

17 - Stnd Com Port RTS = Flow Control
18 - Stnd Com Port DTS = Off
19 - Enhanced Com Port RTS = PTT
20 - Enhanced Com Port DTS = CW

My settings in N1MM

Com 23 (standard) generic Kenwood.  38,400, N, 8, 1. Radio 2
               Handshake.   Handshake
               PTT delay = 100. 2 radio protocol = None. Polling = Normal

Com 24 (Enhanced) for keying. DTR = CW. RTS = PTT
              PTT delay = 100. 2 radio protocol = MK2R

I am sure that there are others who know better than I how to make these connections.  My biggest issue was thinking that the Enhanced port was for rig control when it really is the Standard Port.  

Hope this helps with others trying to connect their new TS-890.

Jim
K3WU

On Sat, Dec 7, 2019 at 6:51 PM Jim W7RY <jimw7ry@...> wrote:
Trying to set  up my new TS890 for USB keying. I get this error shown below.


When I say ok to this window, the rig then transmits and sends the desired CW.

I have not loaded any Kenwood drivers. Just kept the Icom ones from my IC7610.



Ideas?
Thanks 73
Jim W7RY


image.png

N1MMLogger.net - Version 1.0.8018.0
Built: 11/26/2019 7:57:32 AM
Microsoft Windows NT 10.0.17763.0,64:1,en-US,en-US
Error occurred at: 12/7/2019 6:48:04 PM in Thread:
---------------------------------------------------------------------------------------
System.IO.IOException: A device attached to the system is not functioning.

   at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
   at System.IO.Ports.InternalResources.WinIOError()
   at System.IO.Ports.SerialStream.set_RtsEnable(Boolean value)
   at System.IO.Ports.SerialPort.set_RtsEnable(Boolean value)
   at N1MMLogger.Net.PortManager.udp_RTSEnable(Int32 PortNr, Boolean aBool) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\PortManager.vb:line 538
   at N1MMLogger.Net.UDPClass.RTSEnableEventHandler.Invoke(Int32 PortNr, Boolean aBool)
   at N1MMLogger.Net.UDPClass.HandleGenericMessage(XmlReader reader, String cmd) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\UDPClass.vb:line 430
HRESULT = '8007001F'
---------------------------------------------------------------------------------------


Call Stack before the runtime error:   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at N1MMLibrary.SharedLib.CallStackString() in C:\N1MM+Source\N1MM Logger on .NET\N1MM Library\Classes\SharedCode.vb:line 89
   at N1MMLogger.Net.SharedCode.HandleError(Exception e, String PortName, String Info) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Modules\SharedCode.vb:line 186
   at N1MMLogger.Net.UDPClass.HandleGenericMessage(XmlReader reader, String cmd) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\UDPClass.vb:line 490
   at N1MMLogger.Net.UDPClass.DistributeXML(String aString) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\UDPClass.vb:line 318
   at N1MMLogger.Net.CWIFInterfaceClass.SendXMLPortString(Int16& PortNr, String& groupname, String& p1name, String& p1value, String& p2name, String& p2value, String& p3name, String& p3value) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\CWIFInterface.vb:line 463
   at N1MMLogger.Net.N1MMComm.set_RTSEnable(Boolean Value) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\N1MMComm.vb:line 220
   at N1MMLogger.Net.N1MMPort.SetXmit(Boolean& aBoolean, PrinterPort& RadioControlPort, Boolean& IsSSBMode) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\N1MMPort.vb:line 524
   at N1MMLogger.Net.N1MMPortManager.SetXmit(Boolean& aBoolean, Int16& aRadioNr, PrinterPort& RadioControlPort) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\N1MMPortManager.vb:line 647
   at N1MMLogger.Net.RadioInterface.SetXmit(Boolean& aBoolean) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\RadioInterface.vb:line 6585
   at N1MMLogger.Net.StationClass.SetXmit(Boolean aBool, String FKeyCaption) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\Station.vb:line 1590
   at N1MMLogger.Net.EntryWindow.SendCW(String& aString, Int16& Index, String& msg) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Forms\EntryWindow.vb:line 2704
   at N1MMLogger.Net.EntryWindow.SendInfo2(Int16& Index, String& aStr) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Forms\EntryWindow.vb:line 2387
   at N1MMLogger.Net.EntryWindow.SendInfo(Int16& Index, String& aStr) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Forms\EntryWindow.vb:line 2069
   at N1MMLogger.Net.EntryWindow.EWSendBtn_OnClick(Object sender, EventArgs e) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Forms\EntryWindow.vb:line 1613
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
   at N1MMLogger.Net.My.MyApplication.Main(String[] Args) in :line 82

Jim W7RY
 

I get the same error as below with the setup posted from the TS-890 group.

Any idea why I get this?


I was able to get it to work and stop the error, by taking PTT out of the USB port, and selecting PTT by radio command in CW. Anytime PTT was used on the radio port, or the virtual port, the error text would pop up.

Thanks
73
Jim W7RY
On 12/8/2019 7:27 PM, Jim W7RY via Groups.Io wrote:



I tried this setup from the TS-890 group and no joy either.

Thanks
73
Jim W7RY





Jim Vilbert
11/17/18   #630  

SUCCESS with connecting.  Here are the settings I am using to connect in CW and radio keying.

On the TS-890 - Advanced menu

17 - Stnd Com Port RTS = Flow Control
18 - Stnd Com Port DTS = Off
19 - Enhanced Com Port RTS = PTT
20 - Enhanced Com Port DTS = CW

My settings in N1MM

Com 23 (standard) generic Kenwood.  38,400, N, 8, 1. Radio 2
               Handshake.   Handshake
               PTT delay = 100. 2 radio protocol = None. Polling = Normal

Com 24 (Enhanced) for keying. DTR = CW. RTS = PTT
              PTT delay = 100. 2 radio protocol = MK2R

I am sure that there are others who know better than I how to make these connections.  My biggest issue was thinking that the Enhanced port was for rig control when it really is the Standard Port.  

Hope this helps with others trying to connect their new TS-890.

Jim
K3WU

On Sat, Dec 7, 2019 at 6:51 PM Jim W7RY <jimw7ry@...> wrote:
Trying to set  up my new TS890 for USB keying. I get this error shown below.


When I say ok to this window, the rig then transmits and sends the desired CW.

I have not loaded any Kenwood drivers. Just kept the Icom ones from my IC7610.



Ideas?
Thanks 73
Jim W7RY


image.png

N1MMLogger.net - Version 1.0.8018.0
Built: 11/26/2019 7:57:32 AM
Microsoft Windows NT 10.0.17763.0,64:1,en-US,en-US
Error occurred at: 12/7/2019 6:48:04 PM in Thread:
---------------------------------------------------------------------------------------
System.IO.IOException: A device attached to the system is not functioning.

   at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
   at System.IO.Ports.InternalResources.WinIOError()
   at System.IO.Ports.SerialStream.set_RtsEnable(Boolean value)
   at System.IO.Ports.SerialPort.set_RtsEnable(Boolean value)
   at N1MMLogger.Net.PortManager.udp_RTSEnable(Int32 PortNr, Boolean aBool) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\PortManager.vb:line 538
   at N1MMLogger.Net.UDPClass.RTSEnableEventHandler.Invoke(Int32 PortNr, Boolean aBool)
   at N1MMLogger.Net.UDPClass.HandleGenericMessage(XmlReader reader, String cmd) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\UDPClass.vb:line 430
HRESULT = '8007001F'
---------------------------------------------------------------------------------------


Call Stack before the runtime error:   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at N1MMLibrary.SharedLib.CallStackString() in C:\N1MM+Source\N1MM Logger on .NET\N1MM Library\Classes\SharedCode.vb:line 89
   at N1MMLogger.Net.SharedCode.HandleError(Exception e, String PortName, String Info) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Modules\SharedCode.vb:line 186
   at N1MMLogger.Net.UDPClass.HandleGenericMessage(XmlReader reader, String cmd) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\UDPClass.vb:line 490
   at N1MMLogger.Net.UDPClass.DistributeXML(String aString) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\UDPClass.vb:line 318
   at N1MMLogger.Net.CWIFInterfaceClass.SendXMLPortString(Int16& PortNr, String& groupname, String& p1name, String& p1value, String& p2name, String& p2value, String& p3name, String& p3value) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\CWIFInterface.vb:line 463
   at N1MMLogger.Net.N1MMComm.set_RTSEnable(Boolean Value) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\N1MMComm.vb:line 220
   at N1MMLogger.Net.N1MMPort.SetXmit(Boolean& aBoolean, PrinterPort& RadioControlPort, Boolean& IsSSBMode) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\N1MMPort.vb:line 524
   at N1MMLogger.Net.N1MMPortManager.SetXmit(Boolean& aBoolean, Int16& aRadioNr, PrinterPort& RadioControlPort) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\N1MMPortManager.vb:line 647
   at N1MMLogger.Net.RadioInterface.SetXmit(Boolean& aBoolean) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\RadioInterface.vb:line 6585
   at N1MMLogger.Net.StationClass.SetXmit(Boolean aBool, String FKeyCaption) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Classes\Station.vb:line 1590
   at N1MMLogger.Net.EntryWindow.SendCW(String& aString, Int16& Index, String& msg) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Forms\EntryWindow.vb:line 2704
   at N1MMLogger.Net.EntryWindow.SendInfo2(Int16& Index, String& aStr) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Forms\EntryWindow.vb:line 2387
   at N1MMLogger.Net.EntryWindow.SendInfo(Int16& Index, String& aStr) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Forms\EntryWindow.vb:line 2069
   at N1MMLogger.Net.EntryWindow.EWSendBtn_OnClick(Object sender, EventArgs e) in C:\N1MM+Source\N1MM Logger on .NET\N1MM Logger.Net\Forms\EntryWindow.vb:line 1613
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
   at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
   at N1MMLogger.Net.My.MyApplication.Main(String[] Args) in :line 82

ve3ki
 

There seem to be a lot of things mixed up here. Here is my attempt to unsnarl them:

First, if you have two radios, both using the Silicon Labs CP210x driver and with each radio supporting two COM ports, then there should be four Silicon Labs serial ports showing up in the Windows Device Manager, two for each radio. Each radio would have its own separate radio control port, that would have to be configured for that radio, and each radio would also have its own separate CW/PTT port created by the Silicon Labs driver.

With other radios using a Silicon Labs driver, as I understand it the "standard" port is the one that is used for CW and PTT, and the "enhanced" port is the one that is used for radio control. I suspect that the problem you are having with PTT might be caused by having the ports reversed. On the other hand, perhaps Kenwood has chosen to reverse the terminology used by Icom and Yaesu -- but why would they do that?

Regardless, the settings in the radio and in the Configurer need to match. On the port that is used for radio control with the Kenwood  radio, in the radio's menu DTR would be set to Off and RTS would be set to Handshake. TxD and RxD are used for radio control commands on this port. In the N1MM+ Configurer, for the same port the Radio would be set to Kenwood and the CW/Other check box would *not* be checked. DTR would be set to Always Off and RTS would be set to Handshake. If you have only one radio, or for the first radio in an SO2R setup, the Radio Nr would be 1. Radio Nr = 2 is used for the second radio in an SO2R setup.

On a port (the other one, not the radio control port) that is used for direct keying from the computer to the radio (*not* through an SO2R controller), in the radio's menu DTR would be set to CW and RTS would be set to PTT. TxD and RxD are not used on this port. In the N1MM+ Configurer, for the same port the Radio would be set to *None* and the CW/Other check box would be checked. DTR would be set to CW and RTS would be set to PTT. The Radio Nr would be the same as for the radio control port. The Two Radio Protocol would be set to None on any port that is connected directly to a radio. If this is how you are doing CW and PTT keying, there would be four ports in the Configurer - one for radio control for each radio (with the Radio set corresponding to the radio type and with CW/Other unchecked), and a second one for CW/PTT for each radio (with the Radio set to None and the CW/Other check box checked).

If you have two radios, and if you are controlling CW and PTT through an SO2R controller, you would not use the CW/PTT ports in each radio. Instead, CW and PTT would be controlled by physical connections between the SO2R controller and the radios. While there would be five ports showing up in the Windows Device Manager (two for each radio plus a separate one for the SO2R controller), only three of them would appear in the N1MM+ Configurer, namely the radio control port for each radio plus the separate control port for the SO2R controller. The SO2R controller's port would have whatever settings are needed for it (Radio Nr = Both, Two Radio Protocol set according to the needs of the controller), but this has nothing to do with the ports created by the Silicon Labs driver for the two radios.

73,
Rich VE3KI



Jim W7RY
 

See my comments below.

Thanks
73
Jim W7RY
On 12/8/2019 8:57 PM, ve3ki wrote:
There seem to be a lot of things mixed up here. Here is my attempt to unsnarl them:

First, if you have two radios, both using the Silicon Labs CP210x driver and with each radio supporting two COM ports, then there should be four Silicon Labs serial ports showing up in the Windows Device Manager, two for each radio. Each radio would have its own separate radio control port, that would have to be configured for that radio, and each radio would also have its own separate CW/PTT port created by the Silicon Labs driver.
There are indeed 4.


With other radios using a Silicon Labs driver, as I understand it the "standard" port is the one that is used for CW and PTT, and the "enhanced" port is the one that is used for radio control. I suspect that the problem you are having with PTT might be caused by having the ports reversed. On the other hand, perhaps Kenwood has chosen to reverse the terminology used by Icom and Yaesu -- but why would they do that?
Not sure. I'll look into this. The 890 is brand new to me. I have been using the IC7610. More research is needed on my end.

Regardless, the settings in the radio and in the Configurer need to match. On the port that is used for radio control with the Kenwood  radio, in the radio's menu DTR would be set to Off and RTS would be set to Handshake. TxD and RxD are used for radio control commands on this port. In the N1MM+ Configurer, for the same port the Radio would be set to Kenwood and the CW/Other check box would *not* be checked.
I see. But, I used only one com port for my IC7610, (and IC7300 for that matter, I used 7610 for radio 1 and 7300 for radio 2. But I only use SO2R in RTTY contests where I dont use CW. I use 2ea MORTTYs for FSK, one for each radio) and used DTR and RTS for PTT on the radio control port. Worked perfectly. But I understand, the Icom is not a Kenwood and may work differently.

DTR would be set to Always Off and RTS would be set to Handshake. If you have only one radio, or for the first radio in an SO2R setup, the Radio Nr would be 1. Radio Nr = 2 is used for the second radio in an SO2R setup.
Understand. I use SO2R often.. See above.

On a port (the other one, not the radio control port) that is used for direct keying from the computer to the radio (*not* through an SO2R controller), in the radio's menu DTR would be set to CW and RTS would be set to PTT. TxD and RxD are not used on this port. In the N1MM+ Configurer, for the same port the Radio would be set to *None* and the CW/Other check box would be checked. DTR would be set to CW and RTS would be set to PTT. The Radio Nr would be the same as for the radio control port. The Two Radio Protocol would be set to None on any port that is connected directly to a radio. If this is how you are doing CW and PTT keying, there would be four ports in the Configurer - one for radio control for each radio (with the Radio set corresponding to the radio type and with CW/Other unchecked), and a second one for CW/PTT for each radio (with the Radio set to None and the CW/Other check box checked).

If you have two radios, and if you are controlling CW and PTT through an SO2R controller, you would not use the CW/PTT ports in each radio. Instead, CW and PTT would be controlled by physical connections between the SO2R controller and the radios. While there would be five ports showing up in the Windows Device Manager (two for each radio plus a separate one for the SO2R controller), only three of them would appear in the N1MM+ Configurer, namely the radio control port for each radio plus the separate control port for the SO2R controller. The SO2R controller's port would have whatever settings are needed for it (Radio Nr = Both, Two Radio Protocol set according to the needs of the controller), but this has nothing to do with the ports created by the Silicon Labs driver for the two radios.
I have NO SO2R controller. See above.

My failure was using a single radio, the new Kenwood TS-890.
The IC7300 was not turned on, but it is active because of the way the USB works. If the USB cable is plugged into the 7300, and the power is supplied to the radio, (but the radio not turned on) it shows up in the device manager.

Thanks Rich, Ill do some more reading in the TS-890 manual and on line to see what is what on the ports.

73,
Rich VE3KI