PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

PXI-8108 controller causing DMA failure

Solved!
Go to solution
I am using a PXI-8108 controller running WinXP. I have a PXI-6561 HSDIO card trying to DMA data to and from a StreamStor PXI-808 RAID controller and disk. DMA reads and writes are not happening properly when this controller is in the chassis. The addressing is not incrementing properly on the PXI bus. I have removed the controller and replaced it with a MXI-4 running from a desktop PC and it works fine. I have also moved the cards to PXI slots of a PXIe chassis and it also works fine. I have checked SW revisions and have duplicated them on the PXI-8108 to match the PC and still no luck. It looks like the PXI-8108 may be faulty. I have attached the SW configs of each system I tried.
0 Kudos
Message 1 of 13
(6,151 Views)

tirwin,

 

I have not used the StreamStor PXI-808 and am not familiar with it, but does it require any drivers?  It sounds like it may be possible that your computer you are using with the MXI board has a driver for the StreamStor board loaded on it and the 8108 does not.

 

Eric K

Applications Engineering

National Instruments

0 Kudos
Message 2 of 13
(6,126 Views)

tirwin,

 

Could you provide more information about the PXI-8108?  Can you tell me what BIOS version is on the controller?  Are there any other devices in the chassis, other than the PXI-808 and PXI-8108 when you are seeing this problem?  What chassis are you using? 

 

Thanks,

Logan 

0 Kudos
Message 3 of 13
(6,117 Views)
The PXI-8108 is a Intel Core DUO CPI T9000 @ 2.53 GHZ with 2GB of RAM. There is nothing else on the bus exceptan HSDIO board (NI PXI 6561) and the PXI-808 StreamStor controller. The BIOS is from Aptio and is version 1.24.1115. I am using a NI PXI-1042 chassis.
0 Kudos
Message 4 of 13
(6,090 Views)

Hello tirwin,

 

There is a second, different, BIOS version field (which is unfortunately the one we  needed a value from) - can you get the version from the main BIOS Setup page, the value right below the name "PXI-8108" and is labeled "Firmware Version".  It will be a 3-field value like "1.1.3" or "1.2.2".

 

Also, in the interest of trying to set up a system as similar to yours as possible, can you list which slots of your PXI-1042 contain the PXI-808 and the PXI-6561? Also, do you have a simple app. that can be used to reproduce this problem?

 

Thank you,

JoshH

Embedded Controllers Software

 

0 Kudos
Message 5 of 13
(6,079 Views)
The Firmware Version is 1.1.1. I have the PXI-808 from StreamStor in slot 2 and the Ni PXI-6561 in slot 3. The PXI-8108 controller is in slot 1. I have attached a simple VI (LV 8.6) that just fills the StreamStor disk with a few MB of data and then tries to DMA some data to the HSDIO board memory. When I am using a desktop CPU with a MXI-4 this VI runs without error. When using the PXI-8108 I get a timeout error.
0 Kudos
Message 6 of 13
(6,076 Views)

Hello tirwin,

 

Thank you for the additional information - we will attempt to set this test up and see if we can reproduce the issue.  In parallel, I would like to ask you to update to the latest BIOS firmware to verify if any of the fixes in the latest release resolved this issue.

 

The latest BIOS is available here on our FTP site:

ftp://ftp.ni.com/support/pxi/PXI-8108/BIOS/

 

To flash the BIOS, you need a USB key which can be erased and the zip file from the above location.

1. Unzip the zip file and run the program inside to make a bootable USB key. (Note: The USB creation tool will erase existing data on the USB drive.)

2. Boot from the USB key and follow the onscreen instructions. (Note: you will need to change the boot order in BIOS setup, or press "F10" when you boot the controller to launch the alternate boot menu)

 

Thank you,

JoshH

Embedded Controllers Software

 

0 Kudos
Message 7 of 13
(6,050 Views)

I updated the BIOS to 1.2.2 and it had no affect on the DMA failure.

 

The only thing that I can think to do at this point would be to totally re-install Window XP and LabVIEW and just the drivers that I need.

 

I have already loaded different device drivers - my desktop CPU was using VISA 4.4 instead of VISA 4.4.1 for example. This had no affect.

 

0 Kudos
Message 8 of 13
(6,044 Views)

Hey tirwin,

 

I was just curious if you are getting the error from the HSDIO driver, or from the Streamstor functions? Also, have you tried breaking down you code a bit, so that it narrows down where the issue is coming from. I would suggest trying to just use the HSDIO board without the streamstor and see if you still get the error. Also, try just saving to file and just reading from file using the streamstor functions and see where the issue lies.

 

For the HSDIO portion, have a look at the files in the HSDIO Stream From Disk (and the HSDIO Stream To Disk) example. Now these examples deal with streaming using the Win32 I/O functions, but there is a VI that will only stream from/to memory and the HSDIO device, so you can see if things are working fine there. Check out the VI called "niHSDIO Stream From Memory Maximum Transfer Rate.vi" in the following directory:

...\ni-hsdiogeneration-advanced\NI-HSDIO Generation\ApplicationExamples\NI-HSDIO

This will give you an idea as to whether the issue is caused by streaming from system memory to the HSDIO device. If there is no issues here, then it seems as if the issue might be more related to the Streamstor.

 

In the same way, try to just stream data (any data) from memory to the Streamstor hardware, and from the Streamstor hardware to system memory. If there is no error here, then it seems as if the issue is more related streaming data to the HSDIO device from system memory.

 

I hope this helps troubleshoot where the issue lies, which will help testing going forward as well. Please let us know what you find. Thanks, and have a great day.

 

Regards,

DJ L.

0 Kudos
Message 9 of 13
(6,039 Views)
The error I am referring to comes directly from the HSDIO vi, niHSDIO Write Named Waveform (Direct DMA).vi and only when using the DMA version of this vi. I am able to use the DMA engine on the CPU to transfer data to and from the StreamStor device, I am also able to send data to and from CPU memory to the HSDIO device using the HSDIO vi's in any other mode rather that DMA. I have looked at the PCI traffic with a bus analyzer and it looks like that when the PXI-8108 controller is in it interferes with the addressing of the DMA traffic between the HSDIO card and the StreamStor controller, the addressing no longer becomes sequential and this causes the StreamStor controller to lock up. It is easy to see on a DMA write to the StreamStor because the HSDIO card writes to offset zero twice and that locks up the StreamStor. All of these same vi's and HW work properly when I remove the PXI-8108 controller and replace it with a MXI-4 running off of a desktop computer.
0 Kudos
Message 10 of 13
(6,011 Views)