Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

Instantiating serial porta

Don_Burn_1Don_Burn_1 Member Posts: 4,311
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

Comments

  • Alex_GrigAlex_Grig Member Posts: 3,238
    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.
  • Jake_OshinsJake_Oshins Member Posts: 1,058
    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
  • Don_Burn_1Don_Burn_1 Member Posts: 4,311
    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" <xxxxx@windows.microsoft.com> 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
  • Jake_OshinsJake_Oshins Member Posts: 1,058
    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" <xxxxx@windows.microsoft.com> 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
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
Developing Minifilters 29 July 2019 OSR Seminar Space
Writing WDF Drivers 23 Sept 2019 OSR Seminar Space
Kernel Debugging 21 Oct 2019 OSR Seminar Space
Internals & Software Drivers 18 Nov 2019 Dulles, VA