How I debug Computer System Issues with PowerSDR(tm)
The Problem
I get a lot of questions about how to make brand X laptop/desktop computer work with my new SDR. I work on systems for customers all the time trying to optimize, tweak, coax, whatever you want to call it, in order to successfully run PowerSDR with as low latency as possible (and hence unleashing the fantastic cw capabilities that are sometimes mentioned as a work in progress).
I thought I would write about how I attack the problem of a system that really should work but doesn’t. The system has decent DPC ratings, no obvious IRQ problems, etc. but just doesn’t work! Here is how I proceed with trying to isolate the issue!
Initial Triage
I usually start at the Device Manager, looking at the firewire device chipset type and look at the IRQs that the firewire card is being shared. Often, the IRQ is shared with PCI Root Ports, PCI Express ports, etc. These are not problematic, these interrupts are actually only used for removable devices and thats not going to happen often (but if you notice PSDR’s display freezes when you unplug your wireless mouse fob, you are seeing a real problem). Sometimes you will see the firewire card also sharing IRQs with USB controllers.
- Update Bios to latest version and go in and set off Speedstep/Cool n’ Quiet if possible. Also turn off C1E state setting in Intel BIOS’es
- Start DPCLat and get a sense of the DPC pattern.
- Restore 1394 driver to the regular one for the device (not legacy driver)
- Install relevant Windows firewire patches, depending on XPSP2, XPSP3, WIN7
- Disable the USB controllers not being used. Notice any influence on the DPCs
- Disable webcams, fingerprint readers, modems, soundcards, unused IDE controllers, in other words, completely disable everything not necessary to talk to the web and run PSDR. I always use wired RJ45 connectivity to my PSDR computer.
- Go to manufacturer’s website and download latest drivers for everything it has concerning your computer.
- Take a restore point (I never turn restore off)
- Run PowerSDR and see how the system runs. Bring up the Process monitor and see if you notice anything weird when the panadapter freezes. If it doesn’t freeze, its good news since one of the devices you have disabled is definitely your problem. Just enable one at a time until you find the one causing the freeze. Decide if you can live without it, if so, great, if not, can you easily turn it on and off just to run PSDR. If so, great, if not, no go.- A note: Some laptops, especially refurbs from the corporate world, have TPM devices (Trusted Platform Management) which you cannot disable nor can you effectively turn it off in Windows. I wonder if this device is giving us problems behind the scenes. We should try to collect information on this as we find laptops that should work but don’t.
- Apply Microsoft updates to bring it to the latest state (minus any hardware drivers)
- Reboot as required.
- Observe DPCLat and see if pattern has changed for the worse. If it has, revert to the restore point.
- Run PSDR and see if behaviour has changed. If the behaviour is worse, roll it back to before driver install
- Install the chipset driver update (if available from the manufacturer).
- Reboot
- See if DPCLat pattern changed. If it got worse, roll it back.
- Run PSDR and see if behaviour has changed.
- Install ethernet driver updates.
- Reboot and do steps 11-13. I have found the latest set of broadcom ethernet drivers sometimes seems to have a negative effect on DPCs for some reason.
- While the problem still exists and you have disabled devices, install relevant driver from manufacturer’s site
- Enable the relevant device
- Reboot
- Observe DPCLat pattern. If it changes for the worse, roll the driver change back.
- Run PSDR and see if it now works or doesn’t. Continue if it doesn’t until it either works or you have no devices left to enable.
- Choose a new device and go to step 20 until you run out of disabled devices
And now a word from our sponsor…
I would be remiss in not outlining what we offer to help you in this area:
- We test many many motherboards/CPU and interface cards each year looking for the best value components for SDR-based systems. We continually tweak this list as better value for money becomes available. You can see these systems in our store and they are guaranteed to work. Usually at a price not far off the big-box “bargains”.
- Since we test a lot of things that don’t work, if you have a need for a good cheap system or laptop, give me a call, we might be able to give you a deal!
- We can take your system and tune it for SDR work (as much as possible). If we cannot make it work for you, you can guarantee that the most has been done and its the end of the road in terms of options.
- We offer remote tuning/installation services where you install a small client program which securely (and under your complete control) connects to my computer and allows me to control it. I can set up your computer the same way I have set up hundreds of others for a smooth SDR experience!
- If you are unsure or a bit unsteady on managing your computer, we offer an affordable monthly and yearly remote support package so you can have assistance directly on your screen to explain, install or correct system components, applications, etc. Please see our store for more information!