The Saleae devices operate by streaming the recorded data over USB in real time to the PC. This allows them to use the host PC's memory as the sample buffer, instead of local memory. This is what enables deep capture buffers. The maximum bandwidth of USB also dictates the maximum sample rate of the product, which is why the USB 3.0 products are able to sample so much faster.
Before continuing, make sure you are using the latest Saleae software: https://www.saleae.com/downloads
Several different kinds of failures
There are several different error messages you may see between starting a capture and the completion of that capture. These error messages vary slightly with operating system, but generally fall into one of these categories:
- Logic could not keep up at the sample rate. The device was able to start the capture process, the USB stream was not fast enough to keep up with the sample rate, and the device had to stop sampling.
- An error occurred when trying to queue read transfers This usually indicates a problem with the host controller. This happens before a capture starts, when the software tries to queue the very first read transactions. The device hasn't started sampling yet.
- An error occurred sending the start command. The device has been configured, the read commands have been queued, but the final write command (the start command) failed to send. This indicates a communication synchronization problem. It may need to be reconnected.
- An error occurred when trying to configure the device Communication with the device has been completely lost. It needs to be reconnected.
- An unknown USB error has occurred
- A out-of-memory exception was thrown. This occurs when the software was unable to allocate any more memory. If you see this, the software managed to stop itself before crashing. Now would be a good time to save your work and restart the software, as the system is now dangerously low on memory.
USB latency and bandwidth requirements
Follow these recommendations if you are sometimes seeing the following error message: "We're sorry, but the device was not able to keep up with this sample rate. If you continue to see this message, please contact Saleae technical support."
If you're occasionally seeing the above error when using the higher sample rates, there a few things you can do to try and get the device to sample more reliably at the high rate. Keep in mind that the maximum sample rate consumes almost all of the USB bandwidth, and might not be sustainable on all PCs. Sampling at 75% or 80% of the maximum rate might be the fastest the device can reliably sample.
To try to optimize performance, please follow these steps: - Make sure that there are no other high-bandwidth USB devices attached and active during the capture. USB bandwidth is shared between all devices connected to the same host controller. Most new desktop PCs have two USB 2.0 host controllers and 1 USB 3.0 host controllers. Most new laptops only have 1 of each. - Try removing any USB hubs between Logic and the host PC - Try using the device on other USB ports. If you're using one of the USB 2.0 products, try all the ports on the PC, as that will test with all host controllers. - USB 2.0: try moving all attached devices to one host controller, so Logic has it's own host controller. Try both host controllers, as one may perform better than the other. Instructions to test this are here: How to move Logic to it's own host controller
Note that the problem is not the maximum average bandwidth USB can provide, but actually the best consistent read latency. Because the logic analyzer produces data at a fixed rate, and has a small streaming buffer in the hardware, it's very important that the USB read requests arrive at an extremely steady rate. The devices can't tolerate periodic delays between read requests, even if the overall bandwidth is high, simply because the device side buffer space is limited. The newer products have larger and larger device side stream buffers, so the original Logic is the most sensitive to this issue. The new generation of products should have little to no problem with this.
Device Specific Considerations:
We are currently investigating an issue on some newer Mac models where the original Logic (8 channels, digital only) does not reliably capture at 24 MSPS. If you are on recent Apple hardware and are having trouble sampling at 24 MSPS or 16 MSPS, please contact support.
On some computers, the original Logic might not be able to consistently capture at its maximum sample rate of 24 MSPS or even at 16 MSPS. However, on most computers, the device should be able to reliably capture at 12 MSPS.
The Logic 4 should reliably sample at its maximum sample rate. If the device isn't able to consistently sample at this rate, you may wish to review the troubleshooting guides or contact support if no solution was found.
The new Logic 8, Logic Pro 8, and Logic Pro 16 all have significantly larger device side buffers, and should sample consistently at their maximum rates on most, if not all computers. If you are not able to consistently record at these rates, you may want to review the troubleshooting guides or contact support.
Test lower sample rates. Not all computers can keep up at the maximum sample rate.
If you are unable to sample reliably at even 50% of the maximum sample rate, this indicates a more serious, but ultimately solvable problem. The below only applies to a small number of computers and the highest sample rates on some of the devices.
Specifically, the original Logic may have trouble on some computers at maintaining it's highest two sample rate options, 24 MSPS and 16 MSPS. This is because the original Logic has the smallest device side buffer, which makes it more sensitive to USB latency issues. If, even after trying the above recommendations, your original Logic can't record consistently faster than 12 MSPS, you may want to consider one of the following options:
- Adding a new host controller to your PC. Either a PCI express card or a laptop ExpressCard.
- Upgrading to a newer Saleae product, which have larger device side buffers.
More serious issues
If the software fails as soon as the capture starts, either every time or some of the time, this indicates a more serious issue. In addition to reviewing the details here, you may also want to open a support ticket if you continue to have more serious capture problems.
Consistent failures on start, either on every attempt or on seemingly regular intervals usually indicate one of the following problems.
- Windows: USB host controller driver is out-dated. We can help you find the absolute latest driver for your device. Depending on your host, the drivers are either distributed by the host controller manufacturer (i.e. VIA technologies) or released by the integrator. In the latter case, you the manufacturer of your specific host controller card or motherboard may not have the latest drivers, which are generally universal across manufacturers who use the same host controller. We can help you locate newer drivers than may be posted.
- All platforms: the USB cable could be bad. In the case of USB 3.0 cables, it's possible that there is an issue with the USB 3.0 contacts, as these have very strict signal integrity requirements.
- Linux: we are still working out exact host controller / kernel version incompatibilities.
- OS X: There is a known bug in the Saleae firmware that almost exclusively affects OS X users, almost only over USB 3.0, which will cause frequent capture failures. This issue seems to be specific to certain versions of Apple's IOUSBFamily, which changes frequently with OS X updates. We are working on a solid solution right now, which should also improve reliability on other platforms as well.
- OS X: Another issue reported by a customer causes issues when sampling over USB 2.0 and USB 3.0 when a thunderbolt display is connected. Connecting Logic to a USB port on the thunderbolt display solved the problem. We're still investigating the issue.
If the device fails to connect to the software over USB 3.0, but works properly over USB 2.0, please see our device connection troubleshooting guide: The device does not connect to the software. [depreciated]
Contacting support for additional help
If you're still having trouble with reliably sampling, please contact support! If your software is crashing when attempting to sample, make sure to include all the information requested from the crash support article: The software has crashed, or I have discovered a bug.
Please include the following information in your support request:
- Which device you are using
- What OS you are using, the version of that OS, and if it is 32 bit or 64 bit.
- The host controller(s) installed in your system. See this article for instructions on how to find it: How can I find out what USB 3.0 host controller(s) are installed in my machine, and their driver version(s)?
- On Windows, include the driver version of each host controller installed in your system. Instructions provided in the same link as above. Driver version information is the most important data you can provide for issues on Windows.
- Screenshots of the error message(s) you're seeing in the Saleae software.
- Description of how often the failure is occurring, and if there is any pattern to the issue.
- Test the device on another PC to help rule out a hardware problem.
We've very sorry for the trouble, and we're actively working on making the software capture system more reliable now, and we're also adding the ability for the software to automatically identify and work around or solve these issues.
trello ID: 55f0e75a10f9f592573a8232