Previous Topic Next Topic
 

I have created a custom CDB and I notice a system hang, or possibly even a system crash, when sending the command to my device. Why?

Are you setting the data buffer size smaller than what the device actually wants to transfer (i.e. a data overrun condition)? If so, this is likely the cause and is NOT the fault of our software. There are some port/miniport drivers that do not, or cannot, handle this situation. You may encounter a momentary hang until the command times out (e.g. 20 seconds). In a worst case scenario, on some versions of Windows, you may experience a system hang. Please be aware of this before setting the CDB and/or buffer length. The built-in predefined CDBs that our software includes do not exhibit this problem. Contact your miniport driver vendor for a fix.

 

The busPROBE CDB Exerciser is showing me more data transferred than what was truly transferred by the device. Why?

Some port/miniport drivers do not properly report the number of bytes transferred. This is often caused by a hardware limitation. For example, we may pass down a buffer size of 1024 bytes, but the device returns back 256 bytes. The port/miniport driver should return back that the device transferred 256 bytes. Instead, it might report back the full length of 1024 bytes. We have put in special handlers to attempt to detect this situation and display only the data that is transferred in the CDB window. However, our workaround is not possible with all commands. This problem is common when the device is an IDE/ATAPI device, and DMA mode is enabled. To assist you in discovering this issue, we fill the buffer with the value CCh before issuing the command. The Raw Data window will always show you the data transferred as reported back to us from the port/miniport driver.

See Also: