Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI DIO 96 problems with Vista



@sead_suskic wrote:
Bryan, I meant to mention another thing yesterday. I noticed that there is a chip set driver for nVIdia SMBus marked as urgent. Can you check if your system has this update?



I just realized that I was looking at Windows XP downloads, and it appears that the same driver is not there for Vista. Sorry about that.
Regrads,
Sead Suskic
National Instruments
0 Kudos
Message 11 of 21
(2,137 Views)
Bryan,

Can you please give us some details from the Device Manager when the PCI-DIO-96 is in the system? Namely, view the devices in the Device Manager by "connection" (one way to get this is to right-click on Device Manager, select View >> Devices by connection), and expand the whole device tree (an easy way to do this is to select the root of the tree, i.e. your machine name, and then press * to expand all items). I am interested to see the lay out of the PCI bus and where the PCI-DIO-96 appears in that part of the device tree.
Regrads,
Sead Suskic
National Instruments
0 Kudos
Message 12 of 21
(2,133 Views)
To follow-up on Sead's request, I would suggest attaching a screenshot of the Resources tab from the property page of a device manifesting this issue.  Perhaps this will reveal which resource is causing the failure (memory or interrupt).  Screenshots of the Resources tabs for the parent(s) of the device manifesting the issue (in the Device Manager >> View >> Devices by Connection, look for the parent node in the tree view) may also be helpful.  These may determine if an upstream PCI bridge is misconfigured (which could be caused by either the BIOS or OS).
0 Kudos
Message 13 of 21
(2,118 Views)
Sorry for the delay and lack of response, things got busy over here.   I should be able to get the screenshot off the machine sometime later today.

Thanks

-Bryan
0 Kudos
Message 14 of 21
(2,103 Views)
Pics are below.  The card died once again this morning after 28 reboots and a little under two days of running.  These pictures show the Device Manager with the card in the Code12 state.  Unfortunately, as you can see, Vista does a wonderful job of hiding all useful information from the end-user.  It would have been nice if it were to tell you "which" resources it couldn't get.





















0 Kudos
Message 15 of 21
(2,089 Views)
Have you tried disabling the MosChip "PCI Serial Port" and "Unusable Parallel Port"?  What is an "unusable" parallel port anyhow?  Perhaps there is an issue with IO Space (traditionally these "Legacy" devices use IO space, and your screenshot didn't show them using any memory space) and the PCI Bridges causing a PCI rebalance.  From you screen shots, it looked like the upstream PCI bridge had plenty of memory space allocated (1MB), and your network card was only using 8kB of it. 

If that doesn't do it, then for each of the following devices in the red ovals below:



Please right-click on them, select Properties, select Resources, and take a screenshot?

For example:



This may help us determine the root cause.
0 Kudos
Message 16 of 21
(2,071 Views)
The MosChip card is a second card we install along with the PCI-DIO-96.   I've tried the run both with and without the card in the machine, and the PCI-DIO-96 still dies.   The "Unusable Parallel Port" is part of the card.   The card is the exact same card as another model they make that includes a parallel port.  The control logic to drive the parallel port is included on the same chip that drives the serial port.  The difference is, this card ONLY has a serial port.   The header where the parallel port should be is bare (no pins) and it looks like there are some additional missing electronics on the card to simply make it a cheaper card than the Parallel/Serial bigger brother.

Vista is picky about its hardware drivers though.  No longer can driver developers write "blanket drivers" for a series of hardware.  Now, EVERY hardware configuration must be completely accounted for.  An example I was given was two video cards, one with and one without a chip that accellerated video.  The logic for talking to that chip is built onto the main chip of the video card, but whether it "uses" it or not is determined if the actual physical accellerator chip is soldered onto the board or not.

In the past, you simply wrote a single driver that checked the hardware, and if that chip was present, used it; but the rules have changed.   You can't write a single driver for Vista that "covers both cards".   Vista apparently needs discrete drivers, which means you must now write two individual drivers, one for each variation of the card; and each must be signed by Microsoft.  Since this is slightly ludicrous, many driver writers have taken to writing "sub-drivers" for Vista.  They write a driver for the card itself, then they write a second driver for the video accellerator sub-system, and a third driver for the "non-present video accellerator".  Depending on which card the user buys, it will always install the first driver, then either the second or the third depending on the .inf file and hardware ID of the card. 

The "Unusable Parallel Port" driver is simply that.  It tells Vista that "Yes, there is hardware on this board the other drivers aren't telling you about, it controls a parallel port which is physically disabled, make sure it uses no resources."

At least, that's what I've been told.

Jeremiah, your pictures didn't come through.  Which hardware do you want the Resources used?  Also, is there any way to prevent a PCI rebalance... because as I said, when it works, it works well.

Thanks!

-Bryan
0 Kudos
Message 17 of 21
(2,068 Views)
Howdy Bryan,
My apologies on the screenshots, I thought they were stored on a server rather than just being inline links.  I am attaching my screenshots at the bottom of this post.  I am looking for the Resources tab for the DIO-96, it's parent/upstream PCI bridge, and any sibling devices such as the MosChip (devices that were at the same level in the View Devices by Connection view in the Device Manager).

With regards to the PCI rebalance, MS has suggested that either the BIOS should "properly" allocate resources, or all folks should test their devices and drivers with PCI rebalance.  We performed some PCI rebalance testing prior to our Vista release, but I doubt that it included the DIO-96.
0 Kudos
Message 18 of 21
(2,050 Views)
Apparently attachments are lost if you preview your post?
Download All
0 Kudos
Message 19 of 21
(2,032 Views)
Alright, got the Resources listings of everything:

PCI standard PCI-to-PCI Bridge:
Mem: FDA00000-FDAFFFFF
Mem: FD900000-FD900000
I/O : 8000-9fff

MosChip Multi-I/O Controller:
I/O : 9C00-9C07
I/O : 9800-9807
I/O : 9400-9407
I/O : 9000-9007
I/O : 8C00-8C07
I/O : 8800-880F
IRQ: 0x00000010 (16)

MosChip Serial Port:
I/O : 9C00-9C07
IRQ: 0x00000010 (16)

MosChip Unusable Parallel Port:
I/O : 9400-9407
I/O : 9000-9007

PCI DIO-96:
"This device cannot find enough free resources that it can use."
The tab is empty except for the error text.  No listbox, no disabled (greyed out) controls, nothing.
It doesn't give you a clue as to which resources it's trying to use.
0 Kudos
Message 20 of 21
(2,002 Views)