Multiple Windows Driver Virtual Serial Port - wdk

I'm working on a Windows UMDF driver "to map" multiple virtual serial port into one single HW serial port.
I'd like to create a driver that expose to user some virtual COM ports (COM3, COM4, COM5,....) linked to single HW COM port.
I'm able to create driver for single virtual COM (I'm able to create one virtual COM port and link it to HW COM port); now I need to extend my job for several virtual COMs.
How can I generate and expose more virtual COM port in single driver?

Related

What Windows 10 driver model is appropriate for implementing IP link layer?

I'm looking to write a simple Windows driver to enable running TCP/IP over a proprietary RF module. The module already provides Ethernet-style data packets with source/destination MAC, so I just need to layer IP packets (generated by the regular Microsoft IPv4 subsystem), set the MTU appropriately so they will be the right size, and then call the module's serial API. I'll need to be able to handle transmit statuses and implement an ARP protocol as well. I want the driver to expose a new interface similar to a wifi or ethernet card in Network Connections and use the normal Windows IP stack.
The module is UART and might be connected via FTDI chip, RS-232 converter, or native UART on an IoT Core board, so it will just be talking to a generic serial port. I am fine with only running on Windows 10, but I'm still not sure what to use. Can I use the UWP VPN provider? Do I need to write an NDIS miniport driver, or an interface provider? Also, how will I handle the driver needing complete control over the serial port at all times? I can't write a serial driver as it might be connected via many different types of serial ports.

Do I understand the mechanism of COM Port assignment for USB-Serial bridge (VCP) correctly?

I have to base a critical Windows 7 software on virtual COM Port assignment. The software has to test devices in a production line. Each device is different and needs to be supplied with individual security keys.
There are 20 serial connections from an USB-Serial bridge (Silicon Lab CP2103). Each connection on a physical USB Port gets some virtual COM Port, which I can adapt by the device manager (e.g. to COM7).
If the serial number of the bridges are all the same, I was told, that Windows remembers the chosen COM Port for each USB Port. Can I rely on that to be "stable" under restarts and other USB activities, not related to my adapters?
What would be the difference, if each adapter has individual serial number: Is it true, that in this case Windows remembers the COM assignment, but is doesn't matter which physical USB port is used for connection?
Are there any recommendations to do it in one or an another way?

How to know a filter device driver is hooked to a com port

I have been trying to determine if a USB serial port (COM) port is monitored by a system bus driver without success. Basically I have an application that monitors a com port via a filter device driver. I was able to do this after reading this article from the Dr Dobb's magazine. Now what am trying to achieve in a seperate app is to be able to determine if there is an app hooked to a particular com port using a filter device driver. Can anyone help or guide me

How to create a virtual serial port on mac

I want to create virtual serial port which can be used to communicate between two application. I had tried with pty/tty pair(pseudoterminal) on mac. It worked also. But what i need it i want to configure it in such a way that other application could find it while doing the serial port search. Here i am stuck.
Does anyone knows how to make this pair confiurable so that they can act as serial port and list down while doing a serial port search.

how to convert RS232 communication to TCP/IP communication

I have a created hardware communicating application using RS232 protocol in MFC. But as there is problem regarding voltage signal strength, i would like to shift from RS232 to TCP/IP.
Can anyone help me on this topic...?
The solution is to extend the microcontroller board with a serial device server.
Known brands are Lantronix or Moxa, but there are many other options and manufacturers. For an "embedded" solution that is integrated on your board, the "Lantronix XPort" is a typical product.
http://www.lantronix.com/device-networking/embedded-device-servers/xport.html
(I'm not affiliated with the Lantronix company.)
The Serial Device Server will connect to your RS232 on one end, and on its TCP/Ethernet side it offers usually a TCP server. It is usually configurable via network, through a built-in web interface, much like an Internet router.
Your PC application then needs to be changed as follows: Instead of opening a Windows COM port, you need to make a TCP client connection to that server, on a preconfigured TCP port. (Lantronix has 10001 as the default TCP port for this.)
But there is also special Windows driver software that lets you talk to your Serial Device Server / your microcontroller through a "virtual COM port". This is sometimes the best solution for legacy PC applications, where you cannot change the original code and have to use a Windows COM port. For a MFC application this might be a good choice.

Resources