Changing COM port numbers in SmartSDR CAT

  • 1
  • Idea
  • Updated 2 years ago
  • Under Consideration
I had a problem with SmartSDR CAT and my US Navigator interface assigning duplicate com ports. I removed all virtual ports leaving some lower numbers available after reinstalling the Navigator. I made sure COM1, COM10, COM2, COM12, COM4 and COM14 were available and that there were no ghost ports.

I re ran SmartCat and it automatically installed 4 and 14 as the primary port. Great. I want to install another dedicated pair and it created 12 and 22, not 2 and 12 as I would have expected. I went into device manager to change the port assignments but was not able to.

Will there be a way to modify the port numbers in the future?

THanks and 73
Greg
Photo of Greg

Greg

  • 656 Posts
  • 63 Reply Likes

Posted 5 years ago

  • 1
Photo of BobT

BobT, Elmer

  • 59 Posts
  • 31 Reply Likes
Greg,

SmartSDR CAT starts assigning ports at COM4 (provided COM4 and14 are vacant). This was done in order to avoid some of the problems you can get into with lower-numbered hardware ports found on some motherboards (some are not automatically visible to the O/S). It will always move in sequence from COM4 as long as it can find empty port pairs. If the next port CAT created on your system was COM12, that means that at least one side of ports 5 through 11 (or 15 - 21) was already assigned.

I would delete all the CAT ports, quit CAT, install US Navigator in the lower number ports, and then restart CAT. CAT will not overwrite an existing port.

I believe there is a User Story (enhancement request) for manual assignment of ports but I have no idea of approval status or time frame.

73,

BobT
Photo of Greg

Greg

  • 656 Posts
  • 63 Reply Likes
Thanks Bob. That certainly explains why it would not go to 2/12. I have reassigned some of the Navigator ports to allow CAT to occupy COM4/14. Any chance in the future for the user to be able to change the COM port assignments manually...either thru CAT or the device manager?

73
Greg
Photo of BobT

BobT, Elmer

  • 59 Posts
  • 31 Reply Likes
As I mentioned in my first response, I know there has been an enhancement request entered for manual port assignment but I don't know when (or if) it will be accomplished.

Bear in mind that there is nothing magical about COM4 (or any other port number). You can click the "Add A Port" button until you run out of available ports and then choose (or not choose) to use any "dedicated" port with any third party program (if it can accept the port number). The ports do not have to be used in any particular order.

In addition to that, you can create "shared" ports (just virtual cable pairs) and use something like DDUtil to fan them out to almost any program.

Thanks for the input, keep it coming.

BobT
Photo of Mike

Mike

  • 67 Posts
  • 3 Reply Likes
US Navigator? I am having trouble with ports and n1mm+. At one point this was working in cw mode keying the radio. Now it seems ports that were set up don't show up in CAT and I get error message from n1mm+ about ports being in use.  I've got something hosed up here.
(Edited)
Photo of David G4NRT / Z21NRT

David G4NRT / Z21NRT

  • 229 Posts
  • 35 Reply Likes
I would like to add my voice to those who would like to start SmartSDR CAT assigning ports starting from a place of my choosing.

I had to go through the tedium of a complete uninstall and re-installation today - for the second or third time in as many days.

The issue is that I have other rigs (all from Icom as it happens) and I need to use pairs of COM ports for them for Sat control or memory management.  They often seem to try to use COM4 and COM5 even though those have been assigned to SmartSDR CAT. I can remap them easily enough after the event but every time I do, SmartSDR CAT stops recognising them and I have to do a tear down and re-build.  
Some of the applications I am using will not even recognise ports about COM8 so it is becoming a problem and is likely to become more so when I add another COM port to the mix to control my AZ/EL rotator!  That will leave me with three ports permanently used for my IC-9100 plus another for my IC-7300!

If I could start ALL my SmartSDR CAT ports at, say COM9, then I could install all the other stuff lower and not have this continuing  problem.

Thanks for considering it ...

David G4NRT
Photo of Tim - W4TME

Tim - W4TME, Customer Experience Manager

  • 9148 Posts
  • 3467 Reply Likes
This is a Windows problem.  It has been notoriously poor at managing virtual com ports.
Photo of David G4NRT / Z21NRT

David G4NRT / Z21NRT

  • 229 Posts
  • 35 Reply Likes
Indeed it is Tim.  It has been a pain in the 'you-know-where' for many years, however if we could at least choose our starting port for SmartSDR CAT it would alleviate many problems that I and others have and save having to do so many uninstall and reinstalls.
Photo of David G4NRT / Z21NRT

David G4NRT / Z21NRT

  • 229 Posts
  • 35 Reply Likes
It has happened again today.  I plugged in a cable to effect some memory management on one of my Icom rigs.  The cable installed itself as COM4 and, even though, I have now re-mapped it to COM8, I am still unable to use COM4 as my Slice A com port.

When I go to Device Manager, I am not seeing ANY of the VSP ports.  Not COM4 or COM5 nor 104 and 105.  Is this correct behaviour? Could this be the root of my continuing problems?
How should I get these ports to appear in Device Manager (they are not hidden, I have checked)?  I am running Windows 10 (latest version) on a Microsoft Surface Book (not surface tablet, the notebook).

David G4NRT
Photo of David G4NRT / Z21NRT

David G4NRT / Z21NRT

  • 229 Posts
  • 35 Reply Likes
I went to "C:\Windows\Program Files\Flex Radio Systems\SmartSDR v1.8.4\64-bit Drivers\VSP" and ran a repair on FlexVSPInstaller_64 and that has got me back running again but my device manager still does not show the VPS ports!

David 
Photo of Tim - W4TME

Tim - W4TME, Customer Experience Manager

  • 9148 Posts
  • 3467 Reply Likes
Whenever a USB/Serial device is connected to a USB port (not a controller) it will enumerate the VID/PID of the device and based on the USB port, either assign a new com port number or if the device had been previously connected to the same USB port, use the previously defined com port number.  This is standard Windows USB/Serial port behavior.

In addition, the Windows operating system is responsible for enumerating the currently active com ports on a system to get the in-use port numbers so that it will not allocate one to an existing com port.  Windows does a VERY POOR job of properly identifying virtual com ports.  Always has and probably always will.  This is why you are not seeing them in Device Manager.  Sometimes rebooting the PC will force a new enumeration and they will show up.  Other times they will not, even though they are valid and active com ports.  

The two behaviors described above leads to the issues that you are experiencing.  After dealing with these behaviors for many years, I do the following to keep com port number reassignment and consequently com port number conflicts to a minimum.

1.) I manually set com port numbers of connected devices, like the FlexControl, multi-port USB/Serial hub, USB/Serial connections to devices like wattmeters, TNCs, etc.. to high port numbers (>100).  

2.) I will note exactly which USB port the device is connected to and I never change it.  I always connect the same device to the same USB port.

I know all too well this is a pain in the rear end.  Dudley and I have been addressing these and other USB/Serial port issues for going on 10 years now and it is not much better today than it was back then. C'est la vie.
Photo of Sergey, R5AU

Sergey, R5AU

  • 836 Posts
  • 110 Reply Likes
Tim, my case is very close to #1 option, however once set up usually not necessary to change exclude something with FlexControl after Win upgrades,.
Photo of Peter K1PGV

Peter K1PGV, Elmer

  • 541 Posts
  • 315 Reply Likes
What Tim's said is entirely correct. He clearly has lived this and knows about what h speaks.

From and OS perspective: The Windows mechanism for tracking serial port numbers dates back to pre-Windows 3.0 days. The root problem is that there is no way for the OS to know which devices claims to be serial ports, and thus relies on driver developers to follow a somewhat convoluted procedure for assigning a COM port number. The numeric assignment needs to be done both during initial install and at runtime... And it's all subject to confusion, contention, clashes, and resulting misconfiguration.

Because each device wants to "do its own thing", in an ecosystem where anybody can write a serial port driver or, better yet, a driver for an arbitrary device that claims to be a serial port, there's no solution to this. Say my device wants to be COM6, and always tries to claim COM6 whenever my device is detected.. Your device gets connected, sees five pre-existing COM ports, and claims COM6 because it's the next COM Port number available. Now I attach my device... And it tries and fails to assign COM6. Oops. That won't work.

That's the mechanism at work here. It's really no more complex than that at its basis.

Peter
K1PGV
Photo of David G4NRT / Z21NRT

David G4NRT / Z21NRT

  • 229 Posts
  • 35 Reply Likes
My thanks to Tim and the others who replied.  I think my problem is that COM4 and COM5 never appear in my Device Manager > Ports so any device that I plug in sees those as vacant ports and grabs them.  They will not work for that device but the attempt also breaks SmartSDR CAT!  It is only by performing the repair that I get the ports back!

I note Tim's suggestion about using higher port numbers and this is a great idea EXCEPT for the fact that a large number of (older) applications do not recognise ports above COM16.

Right now my ports (including 'Show Hidden Devices') look like this:

COM3 - IC-7300
(COM4) - Not shown but used for SmartSDR CAT for Slice A
(COM5) - Not shown but used for SmartSDR CAT for Slice B
COM6 - IC-9100
COM7 - IC-9100
COM8 - IC-2730
COM10 - FlexControl

I think that if I can just find a way for the 'invisible' ports to show up as being in use then perhaps my issues will be lessened! 

David
(Edited)
Photo of David G4NRT / Z21NRT

David G4NRT / Z21NRT

  • 229 Posts
  • 35 Reply Likes
Al,

Yes, that would be fine IF and ONLY IF I were able to see my VSP ports in device manager!  
This is part of my issue!  
I am unable to change them using the SmartSDR CAT application AND I do not see them in Device Manager.  This is after I do not know how many total uninstall and reinstalls of the whole SmartSDR suite!

I tried viewing hidden ports (see above!) it is still the same so any device that I plug in which wants a port thinks that COM4 and COM5 are free and then allocates them! That then necessitates me doing exactly what you suggest for that device and then having to do a repair on the FlexVSPInstaller_64 application.

David
Photo of Al K0VM

Al K0VM, Elmer

  • 581 Posts
  • 94 Reply Likes
You dont see any comports or see hardware ports but not VSP ports ? What type of PC / WIndows are your using ?

AL, K0VM
(Edited)
Photo of David G4NRT / Z21NRT

David G4NRT / Z21NRT

  • 229 Posts
  • 35 Reply Likes
I see a the others (see my earlier post) but I do not see any of the VSP ports. I only have two right now - COM4 & COM5 but I would have expected to see 4/104 and 5/105. They are not hidden - before you ask!
Photo of Al K0VM

Al K0VM, Elmer

  • 581 Posts
  • 94 Reply Likes
It is very strange that Windos is not showing them in the device manager.... What type PC/windows are you using ?  I think I would be tempted to Uninstall all com ports that you do see ( hidden or visable ) and the Flex VSP program and then reboot the PC.  WIndows should reinstall any standard hardware ports.

AL, K0VM
Photo of David G4NRT / Z21NRT

David G4NRT / Z21NRT

  • 229 Posts
  • 35 Reply Likes
Al,
I have uninstalled everything apart from the OS almost every day for weeks and weeks and weeks!  I am not prepared to reformat the Windows drive and start again as it would just take too long and too tedious.  This is bad enough quite frankly!

Every time I insert any USB cable which assigns a COM port (and this is quote a common thing these days with all the cable I use to control other pieces of equipment in my shack), it breaks SmartSDR CAT and I generally have to do a complete uninstall of all the FRS software and reboot then re-install.  As Tim mentioned above, once a device has found its port it tends to stay there - unless (like me) everything is uninstalled and reinstalled on a daily basis!

I am using Windows 10 (latest fixes) with a Microsoft Surface Book laptop (the laptop not a Surface tablet).  Everything else works fine and I am able to re-map COM ports to my heart's content but any new device sees COM4 and COM5 as being vacant and therefore uses them and breaks SmartSDR CAT.

I think I will just have to live with it ... the reason why I would like to be able to choose the starting port for SmartSDR CAT is to alleviate this problem but moving the VSP ports to be out of the way of the other applications I am using. 
Perhaps SmartSDR v2 will change things.  We shall see! 
(Edited)
Photo of Norm - W7CK

Norm - W7CK

  • 747 Posts
  • 151 Reply Likes
I've been having a problem with COM port assignments as well.  It seems that no matter what I do, after doing a SmartSDR (beta) install, nearly every COM port I have on the system then shows as (in use).  I haven't tried going back to a pre-beta version of SmartSDR yet.

I have removed all software and drivers that are associated with COM ports, I have removed all Ghost ports several times.  I have restored a previous image of my OS drive and have started out clean several times.  Once I install SmartSDR and reboot, nearly every com port on my system shows as (in use).

A few years ago I put together a spreadsheet which has the physical location of each USB port on my system and EXACTLY what gets plugged into each of those ports along with the COM port assigned or in use for that USB port and that device.   It is the only way I can keep track of it and know exactly what COM ports are truly available.

I