PCIe driver works on certain model PC but not on other model

Discussion in 'Windows Vista Drivers' started by quyq, Dec 11, 2009.

  1. quyq

    quyq Guest

    I'm working on a device driver for a PCIe device. The device is configured as
    network device(CSR 0xb is 0x2), with 3 BARs that has size 16M, 1M and 1M. The
    driver just provides I/O access to the device. And I tested on several
    different PC workstation those all running Windows XP professional 2002 with
    SP3.
    The driver and device works properly on a HP PC with Intel Q35 chipset. But
    it has problem on another similar HP PC that using Intel 945G chipset. The
    driver works in a very short period(about several seconds) right after
    installation done. After that, all access to the BAR will return 0xFF. Other
    weird things is with the 945G chipset PC, sometimes the windows OS just
    cannot enumerate the device with the first try. And sometimes the OS does
    detect the device but will fail while trying to start the device. Error code
    from ACPI driver is saying device does not exist or power failure.

    Another problem I have is the size of BAR. If I have BAR0~3 as 16M, 32M and
    64M, it's ok for one model of PC. But if I change the size to 64M, 32M and
    16M(just the order changed), then the BIOS(not the OS?) cannot reserve the
    space range for the device. I know the on board integrate graphic card is
    reserving 256M space without problem. Microsoft whitepaper mentioned that
    might need firmware update, so I cannot do any thing in the driver to make it
    work, is that correct?

    I know many thing could affect a driver, such as BIOS setting,
    motherboard/chipset, OS, other device driver or software. I'm still trying to
    collect more information.

    Thanks
     
    quyq, Dec 11, 2009
    #1
    1. Advertisements

  2. Could it be overaggressive PCIe link power management?

    Also, what current does it consume directly frm PCIe connector?
     
    Alexander Grigoriev, Dec 12, 2009
    #2
    1. Advertisements

  3. quyq

    Tim Roberts Guest

    Link training in PCIExpress is complicated and error prone. Did you create
    your own PCIExpress core, or did you buy one off the shelf?
     
    Tim Roberts, Dec 12, 2009
    #3
  4. quyq

    quyq Guest

    Though I'm not sure how much is the current, but I guess it won't be an issue
    as our PCIe device is self powered. Thanks.
     
    quyq, Dec 15, 2009
    #4
  5. quyq

    quyq Guest

    As I know the IP was bought from 3rd part. The device works fine with VxWorks
    and it also works fine on some PC. For example, it works on HP Compaq DC7800p
    but it has the problem I mentioned on HP Compaq DC7600p. The two PC is very
    similar. Dc7600 is using Intel 945G chipset and Dc7800 is using Intel Q35
    chipset. So far I tried on two DC7800p and two DC7600p and result is same. Of
    cource many other different software were installed on those PC. I will try
    to do a fresh install of OS once the PC with problem is shipped to me. Just
    want to narrow down which part could contribute to the problem.
    Thanks.
     
    quyq, Dec 15, 2009
    #5
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.