Testing soundcard compatibility with modern computers.
(Sept 07 2009)

"Modern computers"

This page was written in September 2009. The meaning of "modern computers" changes (rapidly) over time. This page is part of "Linrad Home Page" and the purpose is to shed some light on the difficulties that Linrad users may encounter when trying to use soundcards on modern computers.

Several changes are occuring simultaneously:

Microsoft is switching from Windows XP (which was similar to Windows 2000 and others) to Windows Vista and Windows 7. Drive routines for Vista and Windows 7 are not available for many good old soundcards.

Operating systems are changing from 32 bit to 64 bit. Drive routines are not always possible to find.

Soundcards that use the PCI bus may not work correctly on computers that have both PCI express and traditional PCI. Soon it will be hard to find computers with any PCI slot at all...

Hard disks are changing from IDE to SATA. That means that one can no longer install old operating systems on modern computers. At least not with "normal computing skils".

Modern computers have two CPU cores or maybe four. Soon even more. That could also be a factor behind malfunction of soundcards on modern computers.

Delta 44 on motherboards with both PCI and PCI Express.
Delta44 under different versions of Windows.

Test procedures.

For each operating system the most recent drive routine is installed for the soundcard under test and Linrad is set to use it at the maximum sampling speed with the maximum number of channels (up to four.) A pure sine wave is fed into the soundcard and the spectrum is monitored for correct frequency response and for "clicks", the discontinuities that occur if some data is lost while a strong sinewave is present. When loss of data is severe, Linrad would report a too low sampling speed for the soundcard.

One problem with drive routines is that they may perform resampling in software. As an example, compare figures 1 and 2. Figure 1 shows Linrad set to receive data from the on-board soundcard of a D5400XS motherboard at a rate of 48 kHz.


Fig 1. Windows Vista 64 bit running on a D5400XS. Linrad is set to sample at 48 kHz.
The signal generator is set to 15kHz (it is actually a little higher as one can see from the spectrum.) In figure 1 there are many false signals. The reason is that Windows actually sets the soundcard to sample at 44.1 kHz (by default) and when Linrad asks Windows to open the soundcard at a sampling rate of 48 kHz, Windows will silently resample from 44.1 to 48kHz. Figure 1 represents a user error. One has to find the way to control the sampling rate actually used by Windows. Figure 2 shows Linrad running with the same parameters and the same input signal as figure 1, but this time Windows Vista is instructed to perform the sampling at 48 kHz.


Fig 2. Windows Vista 64 bit running on a D5400XS. Linrad is set to sample at 48 kHz. Here Windows is running the hardware at 48 kHz.
The sound system of the Intel D5400XS motherboard, ADT (formerly Sigmatel) can be used at a sampling rate of 192 kHz with Windows Vista as can be seen in figure 3.



Fig 3. 192 kHz with Sigmatel under Windows Vista.
When running at 192 kHz under Windows XP the screen looks quite different. With Windows XP the on-board sound system of the D5400XS motherboard can sample only at 48 kHz like many cheap sound systems. The button Advanced that should allow different sampling rates is not working. I do not know whether the reason is ignorance from my side or whether Windows XP really should work like this. Figure 4 illustrates what happens under Windows XP.



Fig 4. Windows XP always samples at 48 kHz. Asking for any other speed for this sound system in Linrad is a bad idea under Windows XP.
The ADT/sigmatel sound system of D5400XS works fine with Fedora 11, the most recent of the Linux distributions I have tested. With ALSA the hardware runs at the sampling speed Linrad asks for. Older Linux distributions do not work correctly for input due to problems with the sound mixer software, but the output works fine.

Delta 44 on systems with PCI Express and PCI.

This soundcard is popular for use with software defined radios. There are drive routines for modern Windows operating systems, but they do not work correctly on modern hardware. The problems seem to be related to the PCI bus. Delta44 is not the only soundcard that fails on computers having both PCI slots and PCI Express slots. The problems are similar for Windows XP, Windows Vista and Windows 7. Both the 32 bit and the 64 bit versions of the Windows operating systems have the same problem.

Figure 5 shows the screen when the Delta 44 soundcard is tested under Debian etch on a D5400XS. Everything works fine. The Delta 44 soundcard works fine with all Linux distributions I have sucessfully installed on this computer. The oldest is Fedora 5 with the 2.6.15 kernel.



Fig 5. Debian etch with Delta 44 on a D5400XS.
There is only one driver that works properly and it works properly only for 32 bit Windows XP on the D5400XS machine. Other drivers and/or Windows versions show discontinuities in the signal that cause keying clicks over the entire spectrum. These problems would not be obvious when actually listening to real radio signals from an antenna because the amplitude of the clicks is proportional to the input signal. With radio signals 30 dB below saturation of the Delta44 and with a receiver noise floor that would be higher one might not notice the extra clicks as needless interference due to software bugs.



Fig 6. Windows XP Professional (32 bit) with Delta 44 on a D5400XS.


On the Asus motherboard the signal from the Delta 44 is totally corrupted maybe 25% of the time. This is shown in figure 7, the time function directly from the Delta 44. On a correctly working computer the screen should show a sinewave. The spectrum is of course totally useless.


Fig 7. This is a sinewave sampled with a Delta 44 on a P5QL PRO motherboard at 96 kHz using Windows Vista 64 bit. This error should be easy to reproduce.


Delta44 under different versions of Windows.

The drive routine version numbers and dates are given as displayed in Device Manager. The computer used in these tests is a 650MHz Pentium III with 630 megabytes of RAM for Win 98, Win 200 and Win XP. The D5400XS is used for Win XP, Vista and Windows 7.

Windows 98 SE Driver version: 4.1.20.18 Date 3-3-2000
(From floppy disc supplied with the soundcard.)
This driver does not have any multichannel input. One can open two stereo channels with 16 or 24 bits. At 96 kHz the real sampling speed is 48 kHz and there is no resampler. Each data point is simply delivered twice from this driver.

Windows 98 SE Driver version 4.13.01.0042 Date: 2-20-2002
(From CD supplied with the soundcard.)
This driver does not have any multichannel input. One can open two stereo channels with 16 or 24 bits. This driver works correctly at 96 kHz.

Windows 98 SE Driver version 4.13.01.0047 Date: 12-10-2003
(From CD supplied with newer soundcards.)
This driver works correctly for all input modes. Presumably it is identical to the recommended driver although the date differs.

Windows 98 SE Driver version 4.13.01.0047 2-26-2004.
Installer available on the Internet as Delta_win_1004_web.exe)
This is the recommended driver for Windows 98 SE
This driver works correctly for all input modes.

Windows 2000 Driver version 5.10.0.5047.
Installer available on the Internet as Delta_WDM_5.10.00.0048a.exe)
This is the recommended driver for Windows 2000
This driver works correctly for all input modes.

Windows XP 32-Bit SP3 Driver version 5.10.0.5036 26-11-2003.
(From CD supplied with newer soundcards.)
This driver works correctly for all input modes on old computers that do not have PCI Express slots. It does not work correctly on modern computers.

Windows XP 32-bit SP3 Driver version 5.10.0.5047.
(Installer available on the Internet as Delta_WDM_5.10.00.0048a.exe)
This driver works correctly for all input modes on old as well as on modern computers.

Windows XP 32-bit SP3 Driver version 5.10.0.5057. Date: 2006-01-09
(Installer available on the Internet as Delta_WDM_5.10.00.5057v3.exe)
This driver works OK like 5.10.5047 if it is installed after 5.10.5047 but it does not work like 5.10.0.5069 if it is installed after 5.10.5069.

Windows XP 32-Bit SP3 Driver version 5.10.0.5069 2008-03-03.
(Installer available on the Internet as Delta_WDM_5.10.00.5069v3.exe)
This is the recommended driver for Windows XP SP3, but do NOT use it when two RF channels are needed
This driver has a multichannel device but it does not work. It just delivers zeroes to Linrad. It is possible to open two stereo channels to receive two RF channels but since there is a risk of loosing sync between the channels in case the CPU gets overloaded (by some other Windows activity) it is better to use one of the older well working drivers with Windows XP SP3. This driver does not even work correctly with 16 bits and two channels on modern computers with PCI Express slots. It has glitches like 5.10.0.5036.

Windows XP 32-Bit SP3 Driver version 5.10.0.5074 2009-04-30.
(Installer available on the Internet as Delta_6_2_5_10_0_5074.exe)
This driver is no better than 5.10.5069 with XP-32. Do not use.

Windows Vista 32-bit SP2 Driver version 5.10.0.5057. Date: 2006-01-09
Installer available on the Internet as Delta_WDM_5.10.00.5057v3.exe)
This driver does not work at all with Vista. It can be installed by running the installer in XP compatibility mode but besides not giving the correct input to Linrad it makes Vista unstable. Do not use it with Windows Vista.

Windows Vista 32-Bit SP2 Driver version 5.10.0.5069 2008-03-03.
This is the recommended driver for Windows Vista
This driver does not support WAVEFORMATEXTENSIBLE. In case this format is selected Linrad will fail to open the soundcard input and exit with an error message. Only 16 bit input is possible. Linrad allows two stereo devices to receive two RF channels but the drivers easily loose synchronization due to loss of data. Windows Vista has an extremely inefficient processing of sound input that easily causes CPU overload with loss of synchronization as a consequence. (See below.)

Windows Vista 32-Bit SP2 Driver version 5.10.0.5074 2009-04-30.
(Installer available on the Internet as Delta_6_2_5_10_0_5074.exe)
This driver is no better than 5.10.5069 with Vista 32 do not use.

Windows 7 32-Bit SP2 Driver version 5.10.0.5069 2008-03-03.
This driver does not support WAVEFORMATEXTENSIBLE. One can select this format and open the multichannel input without protests from Linrad. When entering a receive mode one would find that channels 3 and 4 contain no data. Windows 7 tries to satisfy the user program by supplying not only the desired sampling speed by resampling. It also supplies the extra channels containing zeroes only. Likewise, when 24 bit data is requested Windows 7 silently converts from 16 to 24 bit by zero padding. The data received by Linrad will have 16 significant bits only. Linrad allows two stereo devices to receive two RF channels but the drivers easily loose synchronization due to loss of data. Windows 7 has an extremely inefficient processing of sound input that easily causes CPU overload with loss of synchronization as a consequence. (See below.) On exit Windows 7 will hang and require the reset button. The driver is not quite compatible with Windows 7.

Windows 7 32-Bit Driver version 5.10.0.5074 2009-04-30.
(Installer available on the Internet as Delta_6_2_5_10_0_5074.exe) This driver works for all input modes but it has glitches on a modern computer. I have NOT tested whether an old computer without PCI Express would be free of glitches.

Windows 7 64-Bit Driver version 5.10.0.5074 2009-04-30.
(Installer available on the Internet as Delta_6_2_5_10_0_5074.exe) This driver works for all input modes but it has glitches on a modern computer. I have NOT tested whether a computer without PCI Express would be free of glitches.

The driver installers do not always clean up properly from previous installations. The results above may depend on the order in which I have installed and de-installed drivers.

When two RF channels are received from two stereo channels, time synchronization may be lost when an error is provoked by heavy CPU and disk overload. To reliably reproduce loss of of channel synchronization in Windows 2000 or Windows XP, set Linrad to save raw data, open a command window and compile Linrad from source code to get 100% CPU load. Then open the editor Note Tab Light. I have not seen loss of sync happen under Windows 98 SE because Linrad would exit with an error message before loosing channel synchronization. Under Windows Vista as well as under Windows 7 loss of sync happens immediately due to the very inefficient sound systems that overload the Pentium III used in the above tests.

Conclusions.

The Delta 44 works well under Microsoft Windows with computers old enough to not have any PCI express slots provided that Windows 2000 or 32 bit Windows XP is used. On modern computers the only working driver is 5.10.0.5047 and it works only with 32 bit XP. (Installer available on the Internet as Delta_WDM_5.10.00.0048a.exe.) Linux with ALSA works well on all computers from Pentium MMX and up.

Windows Vista is not quite reliable for two RF channels even on a 2.66 GHz Pentium IV. Simple things like starting the system monitor will destroy the synchronization between the two stereo channels.

The reason why Windows Vista and Windows 7 do not work on a Pentium III computer is easily understood from the System Monitor information on the screen dumps shown here: CPU load and overhead on different operating systems. With Vista and Windows 7 one needs at least two CPU cores.


To SM 5 BSZ Main Page