Viability of implementing a modem in UMDF 1.11

Hi!

I’m in the process of developing a driver to interface to an external modem that requires us to provide a modem and/or a virtual com-port with a modem layered onto it in order to enable PPP. The reason is that modem requires special handling (encapsulation of data) and may thus not use a solution like e.g. the existing usbsys driver.

I’ve modified the Virtual Serial so that it forwards all reads and writes onto another com-port. The port itself works just fine as a pure “forwarding” serial port with various programs (putty et. al) . The next step is to install a modem on this port and verify that I can get dial-up networking to play nice with the port which is based on the sample from WDK 8. However, I’ve run into an issue where the driver’s callbacks are not even getting called when initiating the dialup process (OnCreateFile etc.). This seems to point to that unimodem is refusing to even open the file handle of my driver. My research did uncover the following post where it is hinted that what I’m trying to accomplish may not be possible, however this probably applies to UMDF 1.9, so I’m unsure if it’s still relevant:
https://www.osronline.com/showthread.cfm?link=186512

My question is thus if it’s at all possible to implement a modem or a virtual com-port (with a Direct Cable Connection modem) installed on top of it or do I have to go the KMDF route.

Regards,
Aj

Update:

I’ve made good progress and have the virtual port working fine with UMDF 1.11 after an upgrade to WDK 8. The dial-up process now calls my OnCreateFile callback, however, no read,write or ioctl is issued to the driver. The dialup status simply stops with a dialog that says “Opening port” which never seems to time out. Is the absence of IRPS caused by a missing higher filter that would handle some “unknown” IRP on behalf of UMDF ? By the way. the modem log shows the following:

10-17-2013 17:29:11.659 - File: C:\Windows\system32\tapisrv.dll, Version 6.1.7601
10-17-2013 17:29:11.659 - File: C:\Windows\system32\unimdm.tsp, Version 6.1.7601
10-17-2013 17:29:11.659 - File: C:\Windows\system32\unimdmat.dll, Version 6.1.7601
10-17-2013 17:29:11.660 - File: C:\Windows\system32\uniplat.dll, Version 6.1.7600
10-17-2013 17:29:11.660 - File: C:\Windows\system32\drivers\modem.sys, Version 6.1.7600
10-17-2013 17:29:11.660 - File: C:\Windows\system32\modemui.dll, Version 6.1.7600
10-17-2013 17:29:11.660 - File: C:\Windows\system32\mdminst.dll, Version 6.1.7600
10-17-2013 17:29:11.660 - Modem type: Communications cable between two computers
10-17-2013 17:29:11.660 - Modem inf path: mdmhayes.inf
10-17-2013 17:29:11.660 - Modem inf section: M2700
10-17-2013 17:29:11.660 - Matching hardware ID: pnpc031
10-17-2013 17:29:11.786 - Opening Modem
10-17-2013 17:29:11.786 - 115200,8,N,1, ctsfl=0, rtsctl=1

which seems to indcate that something must be working.

Any thoughts on this ?

Regards,
Aj

I’d suggest trying the fakemodem sample included in virtual serial driver
sample package, and see if you can get clues from there.

-kumar

wrote in message news:xxxxx@ntdev…

Update:

I’ve made good progress and have the virtual port working fine with UMDF
1.11 after an upgrade to WDK 8. The dial-up process now calls my
OnCreateFile callback, however, no read,write or ioctl is issued to the
driver. The dialup status simply stops with a dialog that says “Opening
port” which never seems to time out. Is the absence of IRPS caused by a
missing higher filter that would handle some “unknown” IRP on behalf of UMDF
? By the way. the modem log shows the following:

10-17-2013 17:29:11.659 - File: C:\Windows\system32\tapisrv.dll, Version
6.1.7601
10-17-2013 17:29:11.659 - File: C:\Windows\system32\unimdm.tsp, Version
6.1.7601
10-17-2013 17:29:11.659 - File: C:\Windows\system32\unimdmat.dll, Version
6.1.7601
10-17-2013 17:29:11.660 - File: C:\Windows\system32\uniplat.dll, Version
6.1.7600
10-17-2013 17:29:11.660 - File: C:\Windows\system32\drivers\modem.sys,
Version 6.1.7600
10-17-2013 17:29:11.660 - File: C:\Windows\system32\modemui.dll, Version
6.1.7600
10-17-2013 17:29:11.660 - File: C:\Windows\system32\mdminst.dll, Version
6.1.7600
10-17-2013 17:29:11.660 - Modem type: Communications cable between two
computers
10-17-2013 17:29:11.660 - Modem inf path: mdmhayes.inf
10-17-2013 17:29:11.660 - Modem inf section: M2700
10-17-2013 17:29:11.660 - Matching hardware ID: pnpc031
10-17-2013 17:29:11.786 - Opening Modem
10-17-2013 17:29:11.786 - 115200,8,N,1, ctsfl=0, rtsctl=1

which seems to indcate that something must be working.

Any thoughts on this ?

Regards,
Aj