hi:
I’m using the toaster bus sample coupled with the toaster function driver to expose a number of virtual serial ports. I’m at the point now where I can use a test app to open/close the virtual com ports and send a read request.
However, I don’t think I’m getting the bus driver to load properly. I made the assumption that the bus driver should load when the USB device in question is plugged in.
Right now, since the usb hardware isn’t available yet, I’m using an old usb development board kit. I went into the existing enum hardware key (HKLM\System\CurrentControlSet\Enum\USB\Vid_0123&Pid_ABCD) for the device in the registry and modified the “Service” entry so that it specified the toaster bus sample. That way the bus sample loads when I plug in the device. (This is a shortcut - later on I can deal with writing an inf file.)
Questions
(1) What is the usual way for a bus driver to get loaded? The toaster bus sample isn’t tied to real hardware – root enumerated, I think they call it. In contrast, I want the virtual com ports to be available only when the usb is plugged in.
If somebody has a sample inf they could send that would be great or if you could outline the steps via the registry entries etc. I need that would be very helpful. (Please keep in mind that I’m relatively new to driver development when you answer.)
(2) When I use the toaster bus sample (without any of my code changes) as described above (with the funky registry setting above), when I enter suspend (via the Start menu button on my target PC) and exit suspend, my windbg trace shows that the bus driver is getting unloaded and then loaded.
Perhaps it is because I shouldn’t be specifying the bus driver in the registry key as I described above?
I see some funky QUERY_DEVICE_RELATIONS Irp debug statements that I don’t see if I run the toaster bus sample as described in the DDK sample (in which the toaster bus is a root enumerated bus not tied to any hardware). Driver Verifier didn’t shed any light on anything wrong.
Any comments/suggestions welcome, as well.
thanks in advance,
Sharon
- You just install the service like any other. Your bus driver will be a USB device driver which enumerates PDOs
- I think you are seeing this b/c of the device you are using. I am guessing that the device needs a firmware download when started, or it resets itself when it loses power.
As for the funky QDR, is asking for type 0xFF or something like that? If so, that is the verifier making sure you handle unhandled types properly.
d
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of S. Drasnin
Sent: Thursday, May 19, 2005 8:44 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] virtual serial port over usb bus loading/unloading
hi:
?
I’m using the toaster bus sample coupled with the toaster function driver to expose a number of virtual?serial?ports. I’m at the point now where I can use a test app to open/close the virtual com ports and send a read request.
?
However, I don’t think I’m getting the bus driver to load properly.? I made the assumption that the bus driver should load when the USB device in question is plugged in.
?
Right now, since the usb hardware isn’t?available yet, I’m using an old usb development board kit. I went into the existing enum hardware key (HKLM\System\CurrentControlSet\Enum\USB\Vid_0123&Pid_ABCD) for the device in the registry and modified? the “Service” entry so that it specified the toaster bus sample. That way the?bus sample loads when I?plug in the device.? (This is a shortcut - later on I can deal with writing an inf file.)
?
Questions
(1) What is the usual way for a bus driver to get loaded? The toaster bus sample isn’t tied to real hardware – root enumerated, I think they call it.? In contrast, I want the virtual com ports to be available only when the usb is plugged in.
?
If somebody has a sample inf they could send that would be great or if you could outline the steps via the registry entries etc. I need that would be very helpful. (Please keep in mind that I’m relatively new to driver development when you answer.)
?
(2) When I use the toaster bus sample (without any of my code changes) ?as described above (with the funky registry setting above), when I enter suspend (via the Start menu button on my target PC) and exit suspend, my windbg trace shows that the bus driver is getting unloaded and then loaded.
?
Perhaps it is because?I shouldn’t be specifying the bus driver in the registry key as I described above?
?
I see some funky QUERY_DEVICE_RELATIONS Irp debug statements that I don’t see if I run the toaster bus sample as described in the DDK sample (in which the toaster bus is a root enumerated bus not tied to any hardware). Driver Verifier didn’t shed any light on anything wrong.
?
Any comments/suggestions welcome, as well.
thanks in advance,
Sharon
?
Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com