How I debug Computer System Issues with PowerSDR(tm)

August 18th, 2010 Neal No comments

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.

I usually do not think that sharing the USB port with the firewire port is a doable thing if its in use. Since laptops are sneaky and use USB connectvity to access disk drives, cd drives, etc. you can never be sure whats happening. I always disable the USB controllers sharing IRQs with the firewire port and see what I lose. Since there are usually 4 controllers on all motherboards and at most laptops only bring two controllers out to the case for usage, its a 50/50 chance that you can easily disable the USB controller. Its easy to check, I put a thumb drive in every USB port, wait till it mounts everything, then go to the device manager and in the USB controller entry under the advanced tab you can see what devices are attached to it. If you see nothing, you can disable without fear.
First thing I do is a quick scan of the control panel settings, services and Windows Aero/Graphics settings and turn everything off. Run Autoruns and stop the garbage from the manufacturer systray items, etc. If PowerSDR doesn’t run after this, its time to start debugging.
Entering PGM
We are now entering Pure Geek Mode (PGM for TLA fans). Please put on your seatbelts, stow your children in the overhead containers. Do not jump out the door on the flotation device!
The steps I do to debug these types of problems:
  1. 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
  2. Start DPCLat and get a sense of the DPC pattern.
  3. Restore 1394 driver to the regular one for the device (not legacy driver)
  4. Install relevant Windows firewire patches, depending on XPSP2, XPSP3, WIN7
  5. Disable the USB controllers not being used. Notice any influence on the DPCs
  6. 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.
  7. Go to manufacturer’s website and download latest drivers for everything it has concerning your computer.
  8. Take a restore point (I never turn restore off)
  9. 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.
  10. Apply Microsoft updates to bring it to the latest state (minus any hardware drivers)
  11. Reboot as required.
  12. Observe DPCLat and see if pattern has changed for the worse. If it has, revert to the restore point.
  13. Run PSDR and see if behaviour has changed. If the behaviour is worse, roll it back to before driver install
  14. Install the chipset driver update (if available from the manufacturer).
  15. Reboot
  16. See if DPCLat pattern changed. If it got worse, roll it back.
  17. Run PSDR and see if behaviour has changed.
  18. Install ethernet driver updates.
  19. 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.
  20. While the problem still exists and you have disabled devices, install relevant driver from manufacturer’s site
  21. Enable the relevant device
  22. Reboot
  23. Observe DPCLat pattern. If it changes for the worse, roll the driver change back.
  24. 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.
  25. Choose a new device and go to step 20 until you run out of disabled devices
If you still cannot run after doing these steps, THEN try the legacy firewire driver. Then do 21-24 again. I am not sold on wholesale movement to the legacy firewire device driver. I really have only seen it work magic on Win7x64 systems and 1 laptop for Win7x86.
A Good Geek Recognizes Their Limitations
If you haven’t fixed it by the end of this process, its not going to work. I am sorry! I have also been there. Want to buy some nice general purpose laptops?
I have seen a few not work and with no obvious reasons why (good dpc figures, no IRQ problems, low proc util, no contention amongst the IO subsystem, etc). This is where I think the actual bios architecture and motherboard architecture is probably to blame. I was reading how laptops have much smaller flash memory to store bios routines than desktop systems. The bios routines are the actual instructions programmed by the manufacturer to talk between the CPU and devices on the motherboard including the memory, embedded devices,  PCI/PCIe slots. One symptom of this is when you have IRQs ganged up on one or two interrupts. Obviously these systems are not a candidate for digital audio work.

And now a word from our sponsor…

I would be remiss in not  outlining what we offer to help you in this area:

  1. 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”.
  2. 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!
  3. 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.
  4. 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!
  5. 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!

Categories: Computer building Tags:

How to predict your success with a computer

August 5th, 2010 Neal 4 comments

This is a subject I get asked daily, “Will my …… computer work with my new Software-defined radio?”. Sometimes its for a desktop computer bought from a big-box store, many times however its for a laptop.

Before we begin

Before getting into specifics, let me say a word about laptops: Laptops are engineered for weight, portability and battery life (although almost all fail on this design criteria). The killer is the small case and heat generation. So they design to alleviate the negatives as much as possible while accentuating the positives. You will notice that performance is not in the list of design criteria, its just “do the best you can while balancing out the negatives and positives”. So, its a compromise system to begin with.

Also, let me talk about name brand computers: they probably make more money off the crapola they load your system up with than the price you pay for the computer.Almost all of the crapola is on my “worst offenders” list of programs that are pseudo-virus, in they install services that are active all the time and periodically call home to tell you great news about new products or track how often you use the product. Norton Antivirus is the absolute worst, even when you uninstall it, it does not uninstall its services so you have Norton stuff in your computer when you think you have eliminated it. Sounds very much like a virus. This stuff is usually so bad, I will just blank out the disk and reinstall Windows from scratch rather than spend a day trying to remove it. If you do try to remove it, I would recommend using Revo Uninstaller instead of just the normal routines as it checks for stuff left behind.

Finally, let me discuss the different classes of interfacing your radio with your computer. There are four methods:
- LPT Port and sound card (either inside the computer, via firewire sound card or USB sound card;
- ethernet connectivity;
- single firewire (1394a) connection;
- single USB connection.

Three of the four are  areas I have exposure to.

The LPT port/sound card connectivity is the mode of my first SDR, the SDR-1000. Its discontinued and I really do not have much tweaking knowledge of it, so this article will give general advice but not specific to LPT port communication.

There are a slew of new devices utilizing the gigabyte ethernet interface while I have not played with one yet (will someone buy me one?) the principles exposed here completely apply. Stay away from wireless connectivity to the computer if possible, however.

Single firewire devices just tether to the computer with a firewire cable. In the Flex world, this includes the Flex-5000′s and Flex-3000s. I have a lot of experience here so most of my article is harvested from those efforts. You will use the FlexDriver control panel to configure and check the status of your firewire device.

Single USB connectivity applies to many of the current SDR receivers as well as the Flex-1500 radio. While the vagaries of debugging and diagnosing specific areas of problems is a bit different from firewire radios, this article is pretty much spot on for configuring. One thing to note when looking at the device manager for USB controllers, there is almost always 2-3 times more controllers present that actually are useful on the computer. Thats because there are capabilities built into the motherboard that are not carried out to the computer case. One test is to get a handful of thumb drives, plug them in every usb port, then look at the device manager and see which USB controllers do not have a device. Disable them if you want to tweak your configuration. No damage if you do not, however.

Now the process!

There are four  main components in choosing a system (or predicting how a system will work) for SDR work (or any pseudo-real time audio work):

1. The overall latency due to DPCs inherent in your system
2. The IRQs shared by the interface card in your computer connected to your radio
3. The type of controller chip used in that interface card
4. What else is running in your system.

To tell whether your system has acceptable latency, download DPCLat ( http://www.thesycon.de/dpclat/dpclat.exe ) and run it for a while.  If you see the latency (in microseconds) averaging between 50-400us, you have a good system. If you see a spike every 10 seconds or so and that spike goes over 1000, you need to investigate. I have found wireless interfaces for TCP and webcams  to be the most common cause, but you can go thru the device manager and start disabling devices and watching which one affects the spike. If you cannot fix the spike and its over 3000, you will have problems running your SDR. DPC latency is a product of the amount of I/O going thru the system as well as the efficiency of the I/O subsystem in handling it. If you have a really crappy device driver and a small amount of traffic, it can be bad. If you have a reasonably well-behaved driver and a ton of traffic, its can cause spikes.

IRQs offer a different kind of latency, this is more like traffic control. Devices use IRQs to signal to the motherboard it has something to do. If there are a lot of devices using that IRQ, it can have to wait for that priviledge. If there are high-usage devices on that IRQ, the device can be far behind in the queue to get to the motherboard’s bus. Perfection is for your USB controller or firewire controller to be on a dedicated IRQ (and this is easily achieved on AMD-based systems using AMD controller chips). On Intel-based systems, its almost impossible to get a dedicated IRQ but sometimes the shared IRQ is for a PCI root device or PCIe root/manager device and I haven’t found these upset things. If you share an IRQ with a video device, ethernet device or USB device, first thing is to see if you can move the interface device to another slot and see if the IRQ changes (and what the change results in). If thats not acceptable, you can try disabling devices that it shares and see what you lose. Of course do not disable your video! If you cannot accept the loss of the devices you have disabled, the system failed.

Next is the type of controller chip used in the interface card. I have a lot of experience with Flex Radio System SDRs so I can only comment on that experience, although I suspect other SDR devices have similar issues. Their firewire products use a controller/driver that Flex has purchased and are always testing what 1394 controllers are compatible. The current list of acceptable controller chips are TI, Lucent(Agrere) and Via. I have seen controller chips by Rickoh that seem to work okay. The two “no way” chip brands are NEC and JMicron. This list changes with new releases of the firmware but the safe bet is it will always work with TI and Lucent. From a USB perspective, I have found that some USB controller chips from Intel and nVidia do not always discover the device when you power it up or connect it. I have found that inserting a powered USB hub between the radio and the computer always solves the issue so you can solve this problem pretty cheaply!

Finally, there is the question of what else is running in your system. Download Autoruns ( http://download.sysinternals.com/Files/Autoruns.zip ) and run it. Click on the Login tab. There you will see a list of the programs that start up when you access your computer. Usually the list is long. You will see “crapware” from Adobe, sound card panels, video controller programs, music services, antivirus phone home programs. mouse/keyboard utilities, external disk drive programs, scanner and printer hardware programs and more. I uncheck everything except the automatic backup programs and the required antivirus program (but not all of them as they are horrible with crapware). Horrible vendors for this type of stuff are Adobe, Norton, Semantec, Logitech, RealPlayer, Apple, ATI, nVidia, etc. Microsoft also is part of this category. Invisible to the average user, Microsoft runs 30+ programs at startup to accomplish little things like calculating the windows experience Index, making the beep-beep when a new device is loaded, painting those pretty flourishes on the screen, etc. Go to www.blackviper.com and learn which of these services you can do without. I also disable the Aero graphical interface of Windows Vista and Windows 7 and cannot tell it makes any graphical difference but it does make a latency difference. I download the UWT program from www.thewindowsclub.com and make system tune-ups with it. A good site to read for tweaking your operating system is www.tweakhound.com. If you enjoy it, make blackviper and tweakhound a donation, they richly deserve it!

A separate comment: When you install programs and if the installer gives you the option of a “full” or “custom” install, ALWAYS USE THE CUSTOM INSTALL! Sorry for the shouting but it needs to be loud. When using the custom install, you can see what the installer is going to load into your system and can usually uncheck some of the obvious crap. For instance, if you download the latest drivers for your ATI video controller and don’t select custom, it will install games on your system as well as the Catalyst Control Center whose main purpose in life is to stay in contact with the marketing department at AMD and tell you about new products/services. Almost everything else it offers can be done via the normal Display control panel.

And now a word from our sponsor…

I would be remiss in not  outlining what we offer to help you in this area:
1. 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”.
2. 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.
3. 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!
4. 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!

Thats it, I hope this answers some questions for you!

Categories: Computer building Tags:

A couple of discoveries in building computers

August 3rd, 2010 Neal 1 comment

Just a couple of things I have discovered in the past few weeks that you might be interested in, learned via working on customer computers.

Both involves using the new SATA III disk interface for my medium and premium computers.

You may not be aware that we are undergoing a new standard in how disk drives send data to the motherboard of your computer. For years, the throughput of data to/from disk drives has lagged the improvements made elsewhere on your computer system. Moore’s law has ensured we are getting incremental improvements in CPUs every year, new memory technology continues to push that forward, but disk I/O has remained stubbornly behind. Either the throughput was slow or the cost of the faster interfaces was  too high for the consumer market.

Enter SATA III, the latest generation of the standard SATA II interface for disks. Sata II has a theoretical bandwidth of 3.0 GBits per second while SATA III doubles that to 6.0 GBits. When motherboards and disk drives were competitively priced as compared with the previous generation, I decided it was mainstream enough to switch my medium and premium systems to SATA III configurations.

Maybe not so fast (as Maxwell Smart used to say)!

Last week I built an enhanced version of my premium system for a customer. It was standard except for the graphics card. So it was using an Intel 80GB Solid State Drive for the operating system and a 1TB Western Digital drive for data and programs.

My first discovery was that SATA III drives do not work well with SATA II cables. Didn’t know there was such a thing? Neither did I! SATA III cables look more like zip cord, two conductors separated by a groove in the casing. Anyway, I used a short SATA II cable and tried formating the drive. Nope, would not format! I thought I had a defective drive so I started to bag it, then realized that the cable might make a difference. It did, formatted in 4 seconds.

Now, whether the aborted attempt to format it with a SATA II cable affected the drive (I wouldn’t think so, a successfully formated drive should have removed any problems) but the drive never worked. It continually failed the Passmark disk stress test, in such a way I wonder if the Passmark test can do SATA III testing properly. However, after a lot of reading, I discovered that this particular Western Digital drive had problems with certain firmware levels of the Marvell controller on the P7H55D-E motherboard and I had not updated the firmware as I thought I had. So I applied the latest update, reformatted and tried again. Nope, failed the same way.

After consulting with my customer, he had also been studying the internet and came to the conclusion SATA III was not yet ready for primetime and asked to replace it with a standard SATA II drive (note he didn’t want to use a SATA III dive in SATA II mode which they are compatible). I made the switch, ran PassMark successfully for 10 hours without error and sent the machine on its merry way.

I ordered a spare 1TB drive in case the customer wanted to try it, and since he didn’t, I decided to put it in my ham radio system (modeled after the medium computer configuration) and tested it. In Sata III mode, it worked well. I immediately felt it was a faster drive. I do not know if the SATA III controller in my ASUS M4A78TD-Evo board is different but it works better. I ran the Passmark throughput test and measured 128MB/S throughput. I then compared it with the WD 640GB 32MB cache SATA II drive in the customer system. Throughput there was (wait for it>>>) 128 MB/S! The exact number. So whether its a problem in the test, motherboard bios, or whatever, SATA II and SATA III drives worked exactly the same.

So the impression of a faster system was “anticipated performance” syndrome rather than true performance!

So the lessons learned are:

1. If you use SATA III, better make sure you have a SATA III cable or you will be in a heap of trouble!

2. Unless you are a fan of anticipated performance, stick with SATA II for the short term!

Categories: Computer building Tags:

How to check if your Firewire is on a dedicated IRQ

April 10th, 2010 Neal No comments

I get this question a lot so I figured I would put it in the blog so its persistent!

If you are running XP, click on the start button, click on Settings, click on System. This will bring up the Systems applet. One of the tabs at the top will say Hardware. Click on Hardware and then you will see the button for the Device Manager. Click on this. When the Device Manager window appears, at the top of the window will be a menu item called View. Click this and then select View by Connections. When that information appears, you will see a line for IRQs. Expand this by clicking on the little plus sign.

This provides a sorted list of devices by its IRQ number (which is the number to the left of the description of the device). Scroll down until you see a line that has 1394 in it somewhere. Look at the IRQ number associated with that line and then look what else has that IRQ number.

On Vista and Win7, click on the Start orb and click on Control Panel. There is a combo box (a drop-down list box) in the upper right that can change the way you can see the control panel applets. Select Large Icon. Then, you will see Device Manager in that window. Click on the Device Manager entry. It will show the list of devices on your machine. At the top of the window will be a menu item called View. Click this and then select View by Connections. When that information appears, you will see a line for IRQs. Expand this by clicking on the little plus sign.

This provides a sorted list of devices by its IRQ number (which is the number to the left of the description of the device). Scroll down until you see a line that has 1394 in it somewhere. Look at the IRQ number associated with that line and then look what else has that IRQ number.

There is a difference in architecture between Intel chipsets and AMD chipsets. Intel has a hierarchy of interrupts, starting at the top for the PCI-PCI Bus root port, then various specific root ports for the outlets on the bus, then devices under those root ports. Its not unusual to see 3 “devices” on one IRQ and two of them be part of the PCI bus mechanism. So if you see your 1394 device sharing PCI root port IRQs, it probably is okay if thats the only thing.

AMD does not have this type of scheme, you will see system devices either with very high IRQs or what appears to be negative numbers. Anyway, they are not apparently sharing the IRQ with the peripheral devices. This might explain why AMD-based systems have such a higher chance of being a great SDR computer than Intel (but I do not know for a fact).

Categories: Computer building Tags:

The “Craftsman” view of computer building

April 6th, 2010 Neal 2 comments

We are lucky enough to have a beach house and the deck on it was in pretty bad shape so we hired a local guy who had done general repairs for us to build us a new deck. We were not down at the house while he built it so we had the joy of arriving after it had all been built and we were stunned how beautiful and solid it was. When I asked the guy how he built such a wonderful deck, he said that he planned everything in advance and knew exactly what each piece of wood should look like and where it went. I thought, this is a real craftsman. We have used him many times since then and we have been amazed with every project. Thank you Kenneth Eborn of New Bern, NC by the way.

Since I spend a good part of my waking hours building computers for people, I thought back to Ken’s craftsmanship and strive to be a good craftsman myself.

I cannot tell you how many computers I have built in my life but it is easily over 200 and climbing. After all of this time, I know more about how planning and visualizing the steps before you even open the boxes results in a better computer build.

When I first started building systems, my plan of attach was:

1. open the motherboard box, put the cpu and cooler in, place the memory sticks in

2. open the covers of the computer case,  and install the power supply

3. put the back plate in, place the standoffs in the proper holes in the case, then place and screw in the motherboard

4. put the cdrom and hard drive(s) in

5. put in the peripheral cards

6. wire everything up

This works but if your goal is a well organized, cleanly wired computer where nothing is bouncing around internally and has the most air flowing thru it, this is not the best way for me to do it. Although I felt that this was the logical approach, its not the craftsman way of planning, visualizing and doing the work in the proper steps.

The result of this method is that the wires are laid out around/over the components and its the wires that are the most troublesome for movement and restricting air flow. Air flow means your computer parts are cooler and hence it will last longer. It might even take less energy since all of my computers have the fans controlled by the bios which measures the temps in the case. Movement means the plugs move off the motherboard, cables get in the fans, drives stop working, etc.

So now, I start with visualizing the wiring. Where will the drives  go? I use 6″ SATA cables when possible to reduce wire clutter. I think about where the power cables will go to get to the cdrom and drive(s). I think about the sata cables and how to route them to avoid a tangle of cables. The front panel cables have to be routed to the area on the motherboard where they go, and almost 100% of the time, the cables originate at the opposite side of the case from where the motherboard headers are (why is this?).

So, I spend 20 minutes looking at the case inside, placing the drives where I want them and think about how the cables will lay out. I try to use modular power supplies so I can take the modular power cable and lay it out and test how I will place it. Sometimes the distance between the power plugs and the drives isn’t workable and I will need two power cables just to connect a dvd drive and 2 sata drives.

Then, I start building the cable runs. I place the front panel cables just outside where the motherboard will end, place in the power cables for the drives, the sata cables for the drives and any fan power and controller cables in this run. Its between the edge of the motherboard and the cage where the drives and dvd drive will go. I route excess cable under the drive cage if possible or to the side near where the power supply goes. If there are places in the case to cable tie this run to the case, I do that. Nice and tight so nothing can move in shipment.

Then I put in the Power Supply, connect the modular power cables I just fastened and figure out how to route the excess if I cannot hide/bind it elsewhere. If possible I put a toroid on the motherboard power cable just in case RFI wants to visit. Again, try to route the excess of this cable somewhere it isn’t in the air flow. Cable tie it as much as you can.

Now I put in the drives. I connect them to the already placed power and sata cables before I screw them in.

Next, I put in the motherboard. Hook up the power cables, Hook up the front panel cables to their headers, put the sata cables in the sata jacks.

Finally I give a visual check and cable tie anything that could possibly more.

Oddly enough, doing all this makes replacing a part easier since the cables went in before the parts originally. Also, since I planned and visualized it, I have fewer mistakes and almost 100% power up on the first try.

One thing is to not put in all the peripheral cards before you power it up and know it POSTs and you get the system beep telling you its ready to boot. Motherboards these days now do testing/tuning during the POST cycle so it can take 10+ seconds. Many boards now have status lights so you can see it adjusting for memory speed settings, video cards, etc.

If you don’t wait to put the peripheral cards in after it POSTs, you will not know what caused the problem. If the bare board, with just the graphics card (if needed) and memory plugged in do not POST, I try a different video card and take out all but one stick of memory. If that doesn’t POST, I have a POST diagnosis card I plug in and see where it stuck. Usually its wiring (like forgetting to plug in the 4 or 8 wire CPU power cable or the 6 wire PCIe cable used by the graphics board). When it posts, you can put everything in knowing you have a good baseline. Once everything is in, try it again and if it doesn’t post, start taking out peripheral cards one by one. You will find the one that prevents it from coming up this way. In my case, I use Startech firewire cards which have an increasing defect rate so that’s the first one I test by taking out.

I thought  I would share this for those of you wanting to professionally build a system. I am sure this is on the internet somewhere but I hadn’t seen it so I thought I would share this experience!

Can you build a beautiful and professional computer without doing it this way? Yes indeed! This is just what I have learned works for me the best.

73

Neal

Categories: Computer building Tags:

After being in the Flex-ready Computer Business for 8 Months

February 14th, 2010 Neal 5 comments

After being in the Flex-ready computer business for the past 8 months, I have gained a lot of experience.  Over the last 6 months I have probably tested 30 motherboard/cpu combinations, primarily to find cheaper/better/faster machines for the Flex. I would say 20 of them have been intel-based platforms and the other 10 AMD-based.

Here are some of the things I have “learned”:

On the intel-based motherboard category, I would say I could get 1 in 6 to work at my acceptable level (avg 20us DPCs). I cannot find a real rhyme/reason for it. The Intel boards seem to layer IRQs on top of each other so you will see an IRQ for a Primary root device and under that will be pci devices with their own IRQs and you can see a lot of high-speed devices assigned to the same root device IRQ but having a dedicated IRQ at the device level. I honestly do not know if IRQ contention at the root device level could cause an issue or not but its my practice to disable everything not in use. But I have only found a couple of boards in the Intel world I could get down to 20us. At the ATX board size, the P7T55D asus board is king of the hill in terms of price/performance. With the i7 860 cpu, the right ddr3 memory and windows XP, you can see stretches of time where the DPC level is 0! It easily is the fastest computer I sell and sub-20us averages are normal. With Win7, the DPCs go up but nothing like on AMD-based machines, its still in the 20-40 range.

But I have seen quite a few  boards where I could not get a dedicated IRQ and even when I could, I could not get even XP’s DPCs down below 90 reliably. I could never figure out why but after an evening of trying, I would put it back in the box and wait until I needed to build a test server or something. By the way, a machine that gives you an average of 90us is still a good machine for Flex radios. Its just that I figure if I can provide a machine that does better at the same or lower price, thats what I will do.

CPU-wise, the i9s are definitely the way to go if you can afford it. The newly released i3 cpus are interesting in that they support hyperthreading (which the i7 cpus do not) and they have built-in support for graphics processing, so the motherboards that support i3s are leveraging Intel’s latest direction towards integration of GPUs and CPUs on one chip. I have an Intel motherboard/i3 510 setup on the workbench right now and its performance is interesting but still much more expensive than better performing AMD systems. I haven’t looked at the i5 cpus so I don’t know how they fit in the overall consumer offering.

On the other hand, AMD-cpu boards, especially the ones using AMD northbridge controller chips, are easy as pie. You do not have this Root Device IRQ stacking nonsense and its pretty easy to find ones that give you a dedicated firewire IRQ. I have tried 2 AMD-CPU-based boards that had Nvidea chipsets and one worked and the other didn’t.

CPUs in the AMD line I find exceptional value are: Athlon 2 X2 250, Phenom 2 X4 945, 955 and 965. You will usually see the 955 and 965 in “black editions” which means they allow tweakers to overclock them, but Flex says no support to overclocked systems and I find no reason to do so, these chips are really fast for the money!

One thing to watch out for is that AMD has a habit of changing the manufacturing design of CPUs while retaining the same name, and some cpus can have the same name but different power requirements so will not work on some motherboards.

I have an affinity for using ASUS motherboards. I like the way they are designed, the bios setup, the way all of their current boards wire up to the computer case the same way, etc. I find G, Skill and OCZ memory to offer high quality at reasonable prices. I like Western Digital drives and Antec computer cases. I like OCZ Fatal1ty modular power supplies (which allow you to only use connectors that are needed instead of the rats nest of the full set found on non-modular power supplies). They all provide products in the sweet spot of price/performance. They also have very expensive products which I would avoid because more bells and whistles means more stuff to interfere or turn off.

I have found Nod32 to be the only “invisible” antivirus. Others have had good reports about AVG but I have not had measurable experience with them.

Another topic is memory and memory speeds. Many of you probably don’t care to know that memory is sold in type (DDR, DDR2, DDR3), speed and latency. Motherboards pretty much dictate what type and speed you use, but its important to get the fastest memory the motherboard will support with the lowest latency you can. The memory speed/latency is so critical you will find that most motherboard manufacturers will list the memory they say will “work” on specific motherboards. I have found a DPC difference in memory with a CAS latency of 9 versus one of 7 (the difference between 20us and 50-60us). A huge difference can be seen in placing the memory “sticks” in the wrong memory slots on the motherboard, so you defeat the dual or triple memory channels designed into the motherboard by doing so, if the board will even boot up at all.

I have, oddly enough, found it more performant to use DDR2 memory than the more modern and supposedly faster ddr3 memory. For some reason, you do not find CAS latency levels of 5 in DDR3 memory like you do in DDR2. Believe it or not, very cheap memory with a high CAS latency is noticeable on a system.

If you are going to take the route of buying a big-box store computer, you stand better chances with an AMD system that uses an AMD chipset (750, 780, 790). If you buy an i9 860, 920, 960. etc. type of system, you probably will not have many problems that we can’t help you work around because the processors are so powerful (and expensive). If you are building, AMD rules the sub-$200 CPU territory. As I find more systems that work well, I will provide a list of the system parts to any and all!

Categories: Uncategorized Tags:

The way to be safe with data

February 10th, 2010 Neal 2 comments

We have seen emails on the reflector in previous months about the need to back up your registration file, logs and other precious files that you might not be able to find  if they disappear.

I have been using a couple of on-line services with good results and can recommend both. The one I have used the longest is Sugarsync (www.sugarsync.com) and it is reasonably priced (I think 100GB is about 120 bucks or so). It works with Macs and Windows. You install the sugarsync software and it creates a folder called magic briefcase which is automatically sync’e with all of the computers you have sugarsync installed. You can also designate folders to be sync’ed with their servers and it works seamlessly.

The service with the most buzz is Dropbox which operates in a similar manner. I think they have priced it lower than competing services so if you have broadband and trust that their protection schemes are adequate, these services cannot be beat.

But, I recently arrived at a situation where they didn’t quite meet my needs. Being a multiple-Operating System type of guy (and programmer), I have the need to leverage offline storage but without the requirement that the files are stored locally on my computer. For instance, laptops usually are limited to 500gb or 640gb of disk (and thats quite an improvement over what the situation was 1 year ago). Therefore, having a “common folder” of 100gb that will constantly be sync’ed with my laptop isn’t going to work. This laptop is a shiny new Macbook Pro with half of the 500gb drive for Mac OS X and the other half for Win7 x64. So with 240GB per machine, I cannot afford to give away 100gb just for the pleasure of using Dropbox or sugarsync.

I needed a network drive that worked equally as well on windows machines as well as OS X. After research, I purchased the Synology DS210J Networked Storage Device (http://www.biz.newegg.com/Product/Product.aspx?Item=N82E16822108041). The reviews on newegg were stellar, the price was pretty cheap ($235) and it took 2 drives in a good selection of RAID options, so I purchased it along with 2 1T B Western Digital drives.

Installation was a breeze (but I do build systems for a living) and I had my NAS system up in a matter of an hour.

The Synology software is the highlight of this device. As a developer, I wish I had written it, it is very easy to use, nice to look at and works the same regardless of operating system. With a gigabyte lan connection and a raid 0 configuration, its almost as fast as a local drive.

Its a great setup, you can even access it when you are away from home, although I doubt I set that up. You can also use it as a Mysql database server, host websites, use it as a firewall, etc.

I can heartily recommend it!

Categories: Uncategorized Tags:

Pricing Changes for DXBase in 2010!

February 9th, 2010 Neal 1 comment

I am happy to announce the new price schedule for DXBase for this year!

Effective immediately, a new license of DXBase 2007 is $69.99 which is a reduction from $79. Any new license purchased from 1 February 2010 will get a free upgrade to DXBase 2010 when it is released.

Upgrades from DXBase 2006 to 2007, or ultimately 2007 to 2010 have been reduced to 25.99, a reduction from the old price of $29. Again, any license upgraded from 1 February 2010 will get a free upgrade to DXBase 2010 when released.

Upgrades from versions older than DXBase 2006 have been reduced to $39.99, from the previous price of $49. These upgrades also qualify for the DXB 2010 upgrade.

I hope you know how much I appreciate your loyalty to DXBase and I will continue to do everything I can to earn and retain that trust!

Best regards

Neal

Categories: Uncategorized Tags:

Status update

February 8th, 2010 Neal 3 comments

Work is progressing on DXBase 2010 but at the scale of the work, I doubt I will make my end-Spring target date but we shall see as we get closer to alpha testing.

The user interface will retain the philosophy of the current progam but will be with brand new and shiny components, with some stuff separated and others consolidated or re-arranged in an attempt to make it a bit easier for newcomers. We will be moving to the latest Jet database  format (2007) and your databases will not end with .mdb anymore but .accdb  (such is the price of progress!) It is my goal to make DXB look very clean and yet familiar to the current dedicated user base.

I am dropping Win 95/98/ME support with the new release so you have some time  to consider your options if you are on those platforms.

One thing that I am considering to drop is the cw keyer interface via the LPT port and just interfacing with winkey-style keyers. I haven’t made a hard and fast decision on  this yet so if you have strong feelings, let me know.

I will be adding support for Omnirig from Alex, VK3NEA, as a rig option so if you see a rig we do not yet support but there is a definition for Omnirig, ou can jump on it. I will NOT be dropping the rig interface in DXB, but will be scrubbing it up and make it more modern. Hopefully it will accommodate the features of new types of radios (like PowerSDR) with an understandable syntax.

One last thing that will be changing is the level of registration security associated with the program. You will be issued a serial code, when you buy a license, but we will no longer restrict the logs you can create to those callsigns you have registered with me. Nor will you be limited to what callsign you log into a DXCluster with. So the registration stream will be there to remove the trial limitations and that will be it.

We will continue with using Crystal Reports for report definitions  and the latest version of the modules that create the incredible label designs.

I am also looking to consolidate the various utilities as modules within DXBase 2010 so you do not need to run a bunch of different programs for importing/exporting data, repairing the database, etc. As we have mentioned before, an automatic refdata capability will be present but it will be defeatable for those who enjoy managing their own data.

Then, finally, there will be an expanded DxCluster interface which will provide most of the capabilities that my Macintosh program, Spot, provides (including bandmap features).

This is a full plate but I hope I have the chance to pleasantly surprise you with something unexpected when the first release comes out. Note that is a “when” and not an “if”.

As every status update always says, all of this is subject to change depending on what challenges arise as time marches on, but I wanted you to know where the plans are at this moment!

Neal

Categories: Uncategorized Tags:

The DXBase update challenge

September 20th, 2009 Neal 9 comments

Hi everyone!

Sorry about the absence, not only am I incredibly busy with all of the software, I actually took a week off and went to the beach. Luckily, our internet satellite was hoppin’ so I hope too many things didn’t get lost from you.

During the past week, I have spent a lot of time, talking both to Jack and Joe (as well as Oystein, hello!) One area that I am dedicated to improving is the upgrade process for the software. Many of you mentioned it in your posts and I could feel the same experience first hand.

The problem I want to discuss  is the reference data. DXBase uses the Jet database engine (commonly called Access) for data storage. DXBase gives you the functionality to modify ref data and those who own a copy of MS Access 98 (the version that is compatible with the current version of DXBase) can do even more creative things with the reference data (add new fields. etc.) Thia is a real luxury that no other logging program I am aware offers (since most of the data access logic is proprietary or you are never informed what system tools you could use to modify things).

As with most things in life, this luxury comes with a cost and a responsibility. I am a big believer in making updates an automatic function (if you enable the automatic update function in a preference). So, when new prefixes, countries, qsl mgrs, program updates, etc.) would be downloaded from my server and applied. Hopefully, this sounds good to you! However, the only real way to do this without incredible complexity is to backup the old data tables, replace them with the new tables then pro grammatically re-initialize the new tables. This means that any of you who have manually manipulated these tables will lose those changes.

S0, what is your feeling about this?  How many of you are modifying these tables and what is the nature of the changes? How would you feel if we can dramatically improve the frequency/turnaround/process of updates at the sacrifice of your ability to add new fields, etc (or at a minimum leave it to you to figure out how to import that data from the old backup table)?

73

Neal k3nc

>>>>>>>>>>>>>>>  UPDATE UPDATE UPDATE <<<<<<<<<<<<<<<<<<<<

The conclusion in this discussion is that I will be implementing an auto-update function that the user can opt-out of if you manage the database yourself. An updater, similar to Joe’s will also be available  for those opting out of the auto-update process.

Categories: Uncategorized Tags: