Installing the Link Layer Topology Discovery (LLTD) Responder on Windows Server 2003

June 6, 2010

Under Windows Vista and higher it is possible to view a graphical map of your network by clicking “View Full Map” in the Network and Sharing Center or by using the command “explorer.exe ::{21ec2020-3aea-1069-a2dd-08002b30309d}\::{E7DE9B1A-7533-4556-9484-B26FB486475E}”. To build the network map, Windows queries each system on the network using the Link Layer Topology Discovery (LLTD) protocol.

The LLTD protocol was introduced in Vista. Unfortunately, older versions of Windows (like XP and Server 2003) that don’t have the LLTD protocol installed will not respond to network map requests, and will not show up at all on the network map display. Microsoft has provided the Link Layer Topology Discovery (LLTD) Responder (KB922120) update package which can be installed on Windows XP systems to have them show up properly under the network map. Microsoft did not release a version of the LLTD responder for Windows Server 2003. The XP release of the LLTD Responder will work fine on Windows Server 2003, but you have to install it manually.

First you will need to download the “Link Layer Topology Discovery (LLTD) Responder (KB922120)” update package for Windows XP (WindowsXP-KB922120-v5-x86-ENU.exe).

Extract the contents of the installer package using the –x switch (WindowsXP-KB922120-v5-x86-ENU.exe -x). It will ask you for a location and extract it’s contents there.

Inside the directory where the package was extracted there will be a “SP2QFE” subdirectory which contains the files we need to copy:

  1. Copy the “rspndr.exe” file from the SP2QFE subdirectory into the “%SystemRoot%\system32” directory.
  2. Copy the “rspndr.sys” file from the “SP2QFE” subdirectory to the “%SystemRoot%\system32\drivers” directory.
  3. Copy the “rspndr.adm” and “rspndr.inf” files inside the “SP2QFE\IP” subdirectory into the “%SystemRoot%\INF” directory.

After the files are copied, run the command “rspndr –i” to install the driver’s entries in the system registry and start it (net start rspndr).

There should now be a new protocol entry for “Link-Layer Topology Discovery Responder” under your network adapter’s properties, and your Windows Server machine should show up on the network map.


Compaq Presario 2100 Notebook Drivers for 32-bit Windows Vista

June 3, 2010

The Compaq Presario 2100 Notebook is an older model notebook which runs Windows Vista surprisingly well. The main problem is getting Vista compatible drivers for all of the hardware. HP’s support site only has Presario 2100 drivers for Windows 2000 and Windows XP. After some searching, mixing, and matching…I have been able to locate Vista compatible drivers for all of the hardware on my Presario 2100.

I’ve provided some information about the hardware and links to download the drivers below. I’m currently running this configuration on my Presario 2100 and it is fairly fast and stable (aside from the UAC issue at the bottom of this post). IMHO it actually runs better than XP did!

NOTE: There are many different models of the Presario 2100 series notebook. There may be differences between the model you have and my system (an AMD based Presario 2100 – P/N: DS526U#ABL). Some of the information here may not be correct for your particular model (and may not work!).


Mobile AMD Athlon XP2500+ 1.87Ghz

The drivers are included with Vista and are installed automatically.


ATI IGP 320M NorthBridge

There generic drivers included with Vista will work and are installed automatically.

CardBus Controller:

O2Micro OZ6912/601/711E0 (HWID: VEN_1217&DEV_6972)

The drivers are included with Vista and are installed automatically.

IDE/ATA Controller:

ALi/ULi M5229 (HWID: VEN_19B9&DEV_5229)

The drivers are included with Vista and are installed automatically.

You can also download the package from NVIDIA’s ULi Drivers page. Version 2.20 of the ULi Integrated Drivers includes support for Vista. The ones included with


ATI U1/A3 Accelerated Graphics Port (HWID: VEN_1002&DEV_700F)

Download the sp28073.exe package (ATI U1/RS200 AGP Bus Driver) from HP’s download site. Extract the package contents and run the setup.exe application. The program will not show any windows but should silently install the ATI GART driver.

To confirm it has been installed, open Device Manager and look under the “System devices” section. There should be an entry for “ATI U1/A3 Accelerated Graphics Port” instead of “PCI to PCI Bridge”.

ATI Radeon IGP 320M Display Adapter (VEN_1002&DEV_4336)

Download the sp27665.exe package from the HP download site. Extract the package contents and run the setup application. It will report that it failed to install. Once it closes the Application Compatibility Assistant will ask if the program installed successfully, select “Reinstall using the recommended settings”. The setup will launch again and will install the driver successfully. Restart the computer to complete the installation.

To confirm it has been installed properly, open the Device Manager and look under the “Display adapters” section. It should read “ATI RADEON IGP 320M” instead of the “Standard VGA Adapter”.

The ATI Control Panel doesn’t work properly under Vista and can be uninstalled from the Programs and Features control panel.


Conexant AC-Link Audio (HWID: VEN_109&DEV_5451).

There are many different AC-Link drivers available but most of them don’t work correctly and report a code 10 in Device Manager. I was able to find one set that works properly.

Download the sp23455.exe package from HP. Extract it’s contents to a directory and run setup.exe. When it shows you the empty installation list, click the cancel button. Once it exits the Program Compatibility Assistant will ask you if the program installed correctly. Choose “Reinstall using the recommended settings”. The installer will run again and the drivers will install properly.


National Semiconductor DP83815/816 “MacPhyter” (HWID: VEN_100B_DEV0020)

The sp25618.exe package on the HP download site will install the ethernet drivers without any problems. The XP drivers available on National Semiconductor’s web site will also work.


Conexant AC-Link HSF Modem (HWID: VEN_10B9&DEV_5457)

Download the package from Conexant. Extract the archive to a directory and run the HXFSetup.exe program inside as Administrator to install the modem.


Synaptics PS2 Port TouchPad

Vista compatible drivers are available on the Synaptics driver page.


OneTouch Keyboard Buttons

The OneTouch drivers are installed as part of the Notebook Utilities. Download the sp23604.exe package from HP’s download site. Extract the contents and run the setup.exe installation program.

UAC Lock Up Issue:

I have found that the system sometimes locks up completely when the UAC prompt is displayed. You should disable UAC to prevent the issue. The system runs perfectly stable otherwise (as long as you avoid the UAC prompts). I suspect it is related to the video/GART driver.

You can disable UAC under the User Accounts control panel, under the option “Turn User Account Control on or Off”. There are additional methods you can also use listed here. Please be aware that there are additional security implications if UAC is turned off!

A possible workaround may be to use an alternate UAC application, like the freeware Norton UAC. I haven’t had a chance to try this yet.

VB6: Separate command line parameters including quoted paths

February 4, 2009


This routine provides a simple and efficient way of separating your command line parameters. Parameters are space delimited and could easily be separated using Split(). The problem with this is that quoted paths can also contain spaces and would be incorrectly broken up.

The following routine separates command line parameters and ignores spaces in quoted paths. It returns a string containing a null separated parameter list.

Private Function SplitArgs() As String
   Dim sArgs As String
   Dim sChar As String
   Dim nCount As Long
   Dim bQuotes As Boolean
   For nCount = 1 To Len(Command$)
      sChar = Mid$(Command$, nCount, 1)
      If sChar = Chr$(34) Then
         bQuotes = Not bQuotes
      End If
      If sChar = Chr$(32) Then
         If bQuotes Then
            sArgs = sArgs & sChar
            sArgs = sArgs & Chr$(0)
         End If
         sArgs = sArgs & sChar
      End If
   SplitArgs = sArgs
End Function

You can then easily separate the parameters into array elements with Split():

 sArgv() = Split(SplitArgs(), Chr$(0))