Go Back   TechArena Community > Technical Support > Computer Help > Windows XP > Windows Device Drivers
Become a Member!
Forgot your username/password?
Register Tags Active Topics RSS Search Mark Forums Read SiteMap

Tags: , , , ,

Usbser.sys CDC Virtual COM Port

Windows Device Drivers


Reply
 
Thread Tools Search this Thread
  #1  
Old 11-04-2006
Greg Inman
 
Posts: n/a
Usbser.sys CDC Virtual COM Port

Hello!

I have an interesting question regarding the use of the usbser.sys built in
windows driver... I have implemented a USB CDC driver in some hardware that
I am developing hoping not to have to change Win32 applications that
currently talk to the device using an RS-232 COM Port.

I have generated a .inf file for windows XP and it installs the usbser.sys
driver correctly and it works! The Win32 apps can happily send and receive
data over USB from the device as if it was connected to an RS-232 COM port.

My problem is that the device will not remain in the device manager when
disconnected. It is of course very reasonable that when you unplug a USB
device it is removed from the device manager, however, RS-232 ports are
always available! This causes problems in the Win32 apps that are using the
port as they have to be re-started (or they at least have to re-connect to
the port) each time the device is reconnected to the PC. I wouldn't be
surprised if there is no solution to this but I was wondering if anyone had
any ideas of how to get round it? Of course, I am hoping not to have to
change the implementation of the Win32 apps as that was the whole point of
implementing USB as a virtual COM port.

Any suggestions would be most welcome!

Cheers,
Greg

Reply With Quote
  #2  
Old 12-04-2006
Doron Holan [MS]
 
Posts: n/a
Re: Usbser.sys CDC Virtual COM Port

there is no way to change this. COM1 and COM2 can also disappear by removal
(esp on a laptop b/c they are in a hw dock) or by disalbing them in device
manager.

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Greg Inman" <NoSpamFakeEmail@nowhere.com> wrote in message
news:92298c67d1ab4f58b6ec506666966818@ureader.com. ..
> Hello!
>
> I have an interesting question regarding the use of the usbser.sys built
> in
> windows driver... I have implemented a USB CDC driver in some hardware
> that
> I am developing hoping not to have to change Win32 applications that
> currently talk to the device using an RS-232 COM Port.
>
> I have generated a .inf file for windows XP and it installs the usbser.sys
> driver correctly and it works! The Win32 apps can happily send and receive
> data over USB from the device as if it was connected to an RS-232 COM
> port.
>
> My problem is that the device will not remain in the device manager when
> disconnected. It is of course very reasonable that when you unplug a USB
> device it is removed from the device manager, however, RS-232 ports are
> always available! This causes problems in the Win32 apps that are using
> the
> port as they have to be re-started (or they at least have to re-connect to
> the port) each time the device is reconnected to the PC. I wouldn't be
> surprised if there is no solution to this but I was wondering if anyone
> had
> any ideas of how to get round it? Of course, I am hoping not to have to
> change the implementation of the Win32 apps as that was the whole point of
> implementing USB as a virtual COM port.
>
> Any suggestions would be most welcome!
>
> Cheers,
> Greg




Reply With Quote
  #3  
Old 12-04-2006
Greg Inman
 
Posts: n/a
Re: Usbser.sys CDC Virtual COM Port

Thanks for the response Doron... I suspected as much.

I guess I'll just have to implement USB properly!

Greg.

Reply With Quote
  #4  
Old 12-04-2006
Greg Inman
 
Posts: n/a
Re: Usbser.sys CDC Virtual COM Port

Just to follow this up...

We have here a third party USB->8-port expander device, ie. provides 8
RS-232 COM ports on a single USB connection to the pc. This manages the
problem of dissapearing virtual COM ports very effectively.

I can connect a Win32 App to one of the virtual COM ports, see it work,
completely unplug the expander device from the USB (not just at the COM port)
and see that the app can no longer communicate with the device. After
plugging the USB device back in to the PC the software app is able to
communicate with the device as before without any need to re-start or
re-create the COM port in windows.

When disconnected the virtual com ports do disapear from device manager,
however. So it must be that the windows logical side of that device is able
to re-attach to the COM port when it comes back after being re-connected.

The device is of course using it's own custom driver not the usbser.sys but
I just thought it might be of interest that it appears perfectly possible to
maintain the virtual COM port in windows even though the device has been
removed from the USB bus.

Greg.

Reply With Quote
  #5  
Old 04-11-2008
Member
 
Join Date: Nov 2008
Posts: 1
Re: Usbser.sys CDC Virtual COM Port

Hi Greg,

It has been a while since you posted last here.. But I still hope to see your reply!

We are also developing virtual COM port driver. (For the purpose : We have a legacy application that outputs only to COM port and a usb hardware device). We are using usbser.sys as virtual COM port driver. We are able to install the driver successfully.

But when we use Serial COM APIs like CreateFile etc., they fail with GetLastError reporting 2(system can not find specified path). Also if i see device manager -> Ports (COM & LPT) section, the virtual COM driver is listed with an exclaimation mark with below error,-

"Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)"

Do you have any inputs here ? Thanks in advance!

Vijay

Reply With Quote
  #6  
Old 18-01-2009
Member
 
Join Date: Jan 2009
Location: Birminghan UK
Posts: 1
Re: Usbser.sys CDC Virtual COM Port

Hi All,

Just a note here that I had this problem. I got around it by scanning all available com ports a few times a second on a timer until the port I wanted came up and then opened it. Use the code below (VB sorry):-

Sub GetSerialPortNames()
' Show all available COM ports.
For Each sp As String In My.Computer.Ports.SerialPortNames
ListBox1.Items.Add(sp)
Next
End Sub

Regards

John

Reply With Quote
Reply

  TechArena Community > Technical Support > Computer Help > Windows XP > Windows Device Drivers


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Similar Threads for: "Usbser.sys CDC Virtual COM Port"
Thread Thread Starter Forum Replies Last Post
USB Virtual Printer Port Problems Bill Farina XP Hardware 5 05-10-2009 02:22 PM
How do I create a Virtual Port for USB e125 XP Print Fax 3 12-06-2008 10:42 PM
Reassigning bluetooth virtual COM port LADA54 Vista Setup and Install 1 10-04-2008 07:59 AM
Virtual Port Set-up Don56 Vista Hardware Devices 0 16-03-2008 03:35 AM
Virtual Printer Port for USB Grant Vista Hardware Devices 0 13-03-2007 03:02 AM


All times are GMT +5.5. The time now is 01:27 AM.