Blocked com ports?
Erik Friesen
Posts: 1,071
I am having issues with miscellaneous computers that have unaccessable com ports. Surely there is a way to find which program has the handle? All google finds is programs that deal with IP addresses. One thing I have found out is that windows xp media edition will do this if you turn on caller id.
Comments
'
(Hardware Interrupt request)
'
If you don't know how to view these, Google IRQ.
'
You can manage the IRQ's to free up the COM ports you need.
'
Make sure you have a good understanding of how this works before you make any changes.
'
This should fix your problem with the COM ports.
It scans the registry and enumerates the ports and relevant info
Attachment not found.
Really what I need is some way to find out who is holding the handle open to a specific port.
If their not true COM ports why didn't you say this from the start.
'
And No. you can't change and IRQ on the fly. This has to be changed in the Boot directory.
'
Your Oblivious to how COM ports work.(Its a hardware thing)
'
There's no such thing as a virtual COM port. Unless its used to simulate a function. A simulation is not an out going port.
'
Unplug your ether net cable your WiFi card your BlueTooth your serial cable and your usb cable and see how a virtual com port works for You.
http://www.ftdichip.com/Drivers/VCP.htm
Thanks for proving my point Publison
'
The FTDI chip coverts the voltage and DATA from a PC port to another voltage.(usually lower voltage)
'
Its not the PC port that does this.
'
Unless you change the hardware in the PC, Theres nothing virtual about it.
Virtual COM ports have been around for a long time. If you have a USB connection to a Propeller or STAMP, you're using a virtual COM port.
I have one physical COM port (COM1) and 17 virtual COM ports for all of my USB devices - see image below.
I found that I could change the DeviceDesc registry entries so I could distinquish similar devices (like multiple Propeller boards, Arduinos, etc)
For example, the DeviceDesc string value for this key is "USB Oscilloscope"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_0403&Pid_6001\5&97be1ee&0&2
'
Throwing in the towel.
'
A quote from Cool hand Luke movie "Some men you just can't reach;This is what we have here today"
You guys are way over thinking this.
'
Do you have an answer to the post?
My post to the FTDI driver page was to say that Virtual Com Ports exist, not to prove your point.
@Eric
Are we talking the the ability of talking to Parallax IDE's or some other program. You were a little vague in your first post.
Don't worry Mike G
'
You'll get it one of these days.
'
www.re-quest.net/computers/messenger-spam/
www.pcreview.co.uk/.../com-port-open-problem-c-cf-2-0-wince-6-0-r3- t3936303p2.html
www.eggheadcafe.com/.../port-dotnet-micro-framework-to-sony-clie-ux50. aspx
www.filebuzz.com/files/Rs232_Sniffer/freeware-1.html -
'
These will look at the Hardware. Nothing Virtual in the Hardware.
This is the software I use but I think it's overkill for this question. You could roll your own if all you need to know is what process opened the port not what's being transmitted over the wire.
http://www.hhdsoftware.com/serial-port-monitoring-control
$WMc%,Have you tried any of the software you suggested and verified it will not work with a virtual serial port?
Portmon for Windows v3.02
The output below is from using a Parallax USB/Serial adapter and the Basic Stamp software.
You can use Windows Task Manager to see what process ID is associated with the named process e.g. Stampw.exe
http://www.com-port-monitoring.com/portmonitor.html
The other problem is that I think it has to be installed, then rebooted for the monitoring to work.
Most if not all software did not communicate directly with a modem since the early modems were all connected to the computer by a serial port. Even later designs that merged the UART and modem on a single chip still maintained the separate functions. The chip looked like a serial port with a modem plugged in to it to the computer.
For the discussion at hand, and the original questions: All of these ports cited here are called Virtual Com Ports because they create a port (an access point) into the IO memory map from outside of the IO memory map. That's the real short and sweet answer. For more information, feel free to read on.
$WMc% IS Right; and so is kwinn! 100% of the quoted Virtual Com ports everyone here cited is a device driver (software) that connects HIGH physical memory, such as a USB's drivers, to LOW IO memory. For any, and I reference ALL and ANY hardware to access a computer, it's hardware has to be "mapped" into the computer's memory. This location is a physical memory location located in low memory. This is because LOW memory will ALWAYS be there; all computers have a Minimum ram configuration and this is the primary reason.
Because there is limited space in any IO memory map, device drivers create space in high ram and the "software" uses this space in HIGH memory to talk to the device driver which preforms all the services to access the physical IO memory located in LOW ram. Some drivers create Virtual Ram above the physical RAM that is installed execute it's driver code from. (This is another whole concept outside this discussion of Virtual Com Ports and IO Memory Maps) This device driver is responsible for creating and maintaining buffers, pointers and everything else needed to communicate with the hardware. Lastly, the device driver preforms the physical IO with the hardware by sending the appropriate commands/data from the device drivers memory space (again, located in HIGH ram), to the IO memory the hardware is physically connected to (again, located in LOW ram). Some physical hardware requires at least one byte in the IO Memory map, such as a true COM port, others more, such as a USB Cam that requires 16 bytes.. All of the buffering, pre and post processing of data and commands happen in the device driver space, located else where (not in the IO Memory map!) of the computer.
KK
I tried to keep it simple, so some things are left out. It's a concept I'm talking about.
All I can say is that I try. The whole conversation never explained what a virtual com port was, and why someone was right and others were wrong. I've written a number of drivers in my life, and at that level of a PC, the hardware level, many things most users take for granted become issues. One of the biggest reasons why there are so many Virtual Com ports is because of how windows denies applications direct hardware access. In essence, the IO memory is protected memory, access is permitted only from drivers; thus windows can control which driver / software can access a port at any given moment in time; which, BTW, was originally designed so the IO memory could be shared between concurrent applications. In the days of DOS, you could have two TSR (Terminate and stay resident) applications that accessed the same IO Memory. Ok, I'm babbling AND dating myself...
Thanks for the compliment erco.
I don't mean to be a pain: You do know that ALL usb devices are basically serial devices daisychaned on a tx/tx pair and accessed in a time domain, right? Knowing this, you could easially remove all of your USB devices (while the computer is off), and then boot. Then it wouldn't appear as random ports being opened. I can say with fairly much cerinty that your Win7 PC has a number of USB devices installed (or had them installed), and identifying which one is on which Virtual com port is the issue at hand. As for the modem, its only particually working because you specified a USB SERIAL driver for it, not an AT class serial Modem.
Just trying to help.
KK
The serial port spy program I have installs its own drivers into the mix, I suppose everything gets shunted through their driver.