Instantiating serial porta

I am working with a vendor of a PCI board with a number of serial ports
and wondering is there a PCI hardware ID I can use in my bus driver that
will load the in box serial driver for the ports, or am I going to at a
minimul need an INF file to connect to an ID of my creation.

Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

But is there a proper way to give your child devices resources?
Also, the inbox serial driver only works with IO ports (x86 and x64 builds, at least) and your device is most likely using memory-mapped IO.

I’m confused by your question, Don.

If you’ve written the bus driver, it’s probably not pretending to be a “PCI”
bus, right? It’s just a bus. You can use any IDs you like.

If you’re using our PCI driver, then you don’t supply the IDs.

I think I could rephrase your question as “what IDs will load the stock
Microsoft serial driver?” But I know you know how to read an INF, so
reading it to you probably isn’t the answer to your question.

I’ll tell you anyhow, in case I’m wrong. Use *PNP0501. That’s the standard
for UARTs, dating back to the ISA PnP spec.

  • Jake Oshins
    Windows Kernel Team

“Don Burn” wrote in message news:xxxxx@ntdev…

I am working with a vendor of a PCI board with a number of serial ports
and wondering is there a PCI hardware ID I can use in my bus driver that
will load the in box serial driver for the ports, or am I going to at a
minimul need an INF file to connect to an ID of my creation.

Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

Jake,

If I try to use *PNP0501 in my bus driver I do not see the device,
and the device node shows:

DevNode 0x89731b90 for PDO 0x89730d60
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_INVALID_DATA

The device does use memory not ports but is otherwise a standard
16550. I was hoping there was a way to just use the inbox serial
driver. Right now I am taking the approach of making a unique hardware
ID and using the serial driver from the WDK.

Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

“Jake Oshins” wrote in message
news:xxxxx@ntdev:

> I’m confused by your question, Don.
>
> If you’ve written the bus driver, it’s probably not pretending to be a “PCI”
> bus, right? It’s just a bus. You can use any IDs you like.
>
> If you’re using our PCI driver, then you don’t supply the IDs.
>
> I think I could rephrase your question as “what IDs will load the stock
> Microsoft serial driver?” But I know you know how to read an INF, so
> reading it to you probably isn’t the answer to your question.
>
> I’ll tell you anyhow, in case I’m wrong. Use *PNP0501. That’s the standard
> for UARTs, dating back to the ISA PnP spec.
>
> - Jake Oshins
> Windows Kernel Team
>
> -----------------------------------------------------
>
> “Don Burn” wrote in message news:xxxxx@ntdev…
>
> I am working with a vendor of a PCI board with a number of serial ports
> and wondering is there a PCI hardware ID I can use in my bus driver that
> will load the in box serial driver for the ports, or am I going to at a
> minimul need an INF file to connect to an ID of my creation.
>
>
> Don Burn (MVP, Windows DKD)
> Windows Filesystem and Driver Consulting
> Website: http://www.windrvr.com
> Blog: http://msmvps.com/blogs/WinDrvr

That’s a new on on me. What does setupapi.dev.log say?


“Don Burn” wrote in message news:xxxxx@ntdev…

Jake,

If I try to use *PNP0501 in my bus driver I do not see the device,
and the device node shows:

DevNode 0x89731b90 for PDO 0x89730d60
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_INVALID_DATA

The device does use memory not ports but is otherwise a standard
16550. I was hoping there was a way to just use the inbox serial
driver. Right now I am taking the approach of making a unique hardware
ID and using the serial driver from the WDK.

Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

“Jake Oshins” wrote in message
news:xxxxx@ntdev:

> I’m confused by your question, Don.
>
> If you’ve written the bus driver, it’s probably not pretending to be a
> “PCI”
> bus, right? It’s just a bus. You can use any IDs you like.
>
> If you’re using our PCI driver, then you don’t supply the IDs.
>
> I think I could rephrase your question as “what IDs will load the stock
> Microsoft serial driver?” But I know you know how to read an INF, so
> reading it to you probably isn’t the answer to your question.
>
> I’ll tell you anyhow, in case I’m wrong. Use *PNP0501. That’s the
> standard
> for UARTs, dating back to the ISA PnP spec.
>
> - Jake Oshins
> Windows Kernel Team
>
> -----------------------------------------------------
>
> “Don Burn” wrote in message news:xxxxx@ntdev…
>
> I am working with a vendor of a PCI board with a number of serial ports
> and wondering is there a PCI hardware ID I can use in my bus driver that
> will load the in box serial driver for the ports, or am I going to at a
> minimul need an INF file to connect to an ID of my creation.
>
>
> Don Burn (MVP, Windows DKD)
> Windows Filesystem and Driver Consulting
> Website: http://www.windrvr.com
> Blog: http://msmvps.com/blogs/WinDrvr