Solution for Compaq Presario 2100 Laptop Random System Lock-ups With a PCMCIA Wireless Adapter

April 28, 2011

Over the past few months a strange problem had surfaced on my Compaq Presario 2100 laptop where it would lock up completely while it was in use. If any sound was playing it would skip endlessly, the mouse and keyboard would not respond, the hard drive led would remain lit. The system would freeze completely and not respond until it was powered off and on again (by holding the power button down for 4 seconds). The problem became more frequent over time and was completely random, making it extremely frustrating to use.

Troubleshooting:

My Compaq Presario 2100 was running Windows Vista (using the driver setup from my earlier blog post) and had initially attributed it to a possible driver issue with my hacked Vista setup. I tried many different configurations (different versions of the drivers, various BIOS and driver settings, different PCMCIA wireless cards and drivers) in an attempt to locate the incompatible driver(s). Eventually I performed a clean install of Windows XP, and was dismayed when it started locking up (before I had even finished installing the drivers and system updates). This confirmed that the problem must be related to the physical hardware.

I cleaned the vents and internal fans with compressed air and confirmed that there was no problem with excessive heat inside the laptop. I ran a full chkdsk (with the option to test and locate bad sectors) which found no problems with the file system and didn’t lock up during testing, which indicates to me that the hard disk is good. I swapped out the two sticks of DDR SDRAM and it didn’t seem to affect the issue at all. This was extremely frustrating because I knew the system had worked fine before, yet after so much troubleshooting I was unable to find any reasonable cause or solution for the laptop locking up constantly.

The Cause:

There are numerous reports from people having problems with the Presario’s PCMCIA/CardBus under both Windows and Linux. After reading through many manuals, technical documents, FAQ’s, forums and various other bits of information related to the Compaq Presario 2100, I found that some Compaq Presario laptops have poorly implemented PCMCIA/CardBus chipsets or non-standard sockets that do not supply enough power to the cards. Some are so bad you simply cannot use any PCMCIA cards at all.

This is no surprise… Compaq used cheap hardware components and many of their systems were poorly designed. The USB on the Presario 2100 is also underpowered, when you plug devices into both USB ports it can cause the system to stop responding (until one device is unplugged) or the USB devices may behave erratically. The onboard MacPhyter ethernet controller also has problems with being flakey and having poor network performance.

The Solution:

Avoid using any PCMCIA cards in the laptop.

I stopped using my PCMCIA wireless adapter and the laptop has not frozen a single time since.

I haven’t tested a wide range of cards but I did try three or four different PCMCIA wireless adapters and all of them caused the laptop to lock up (some more often than others). I will try a few other cards in the near future and see if they still cause problems, but I suspect all of them will cause the laptop to lockup.

Other Solutions for Connecting to Wireless:

If you use a PCMCIA wireless adapter then there are a few solutions for wireless networking on the Presario 2100 which do not use the PCMCIA slot.

A USB wireless adapter or tethered mobile device (like a cell phone) will work fine, however performance may not be the best. The Presario 2100 doesn’t have USB 2.0 so the transfer speed of the USB ports is fairly slow. There are also problems with the power to the ports (as mentioned above), which may cause issues if another USB device is plugged in or the wireless adapter draws too much power.

The Presario 2100 has a mini-PCI slot on the bottom of it’s motherboard which you can access via a removable metal panel on the bottom of the laptop. The panel is unmarked (no icon beside it or on it) and positioned to the right. You have to remove two small black phillips screws and the panel should open up revealing a single card slot.

The mini-PCI slot is standard and can use any kind of mini-PCI wireless card you put into it, even models from other laptops. You may have issues with some Intel wireless adapters which rely on an Intel chipset for some functions (and will not work properly on an ATI chipset like mine has). Broadcom wireless cards are very popular and should work without any problems. The mini-PCI slot is fast and will not have any issues with performance like you would have using USB.

I used a Broadcom BCM4x card which I pulled from an old Acer TravelMate in my Presario 2100 and it worked flawlessly. The only problem I had with this method was that my Presario 2100 had no wireless antennas inside the chassis at all (many other laptops have the antenna wires inside the display or base with open connectors by the mini-PCI slot which you can connect to the card when it is installed). The Presario 2100 has nothing. Without antennas the internal wireless card will not be able to pick up wireless signals properly and is almost useless. I had to salvage two antennas from a broken Dell Latitude and manually install them into the Presario 2100 chassis.

Advertisements

How to Remove a Network Driver that Locks Up Device Manager When You Attempt to Uninstall It

August 20, 2010

A typical fix for networking issues in Windows XP is to uninstall the device in Device Manager and then have Windows reinstall it by selecting “Scan for Hardware Changes”. Under Windows Vista and Windows 7 the network troubleshooter will do this automatically if you choose to reset the network driver. I don’t know the exact reasoning, but I suspect it is because of the interaction with the NDIS miniport driver.

Sometimes there is a problem with the drivers and they simply will not uninstall. When you try to uninstall or disable the device, Device Manager will stop responding until the end of time (or until you end the task). You can re-open Device Manager and try as many times as you like, but the same thing will happen every time. Afterwards Windows will usually also hang during the shut down process and never complete it.

The broken driver most likely has an outstanding IRP request which it never completes or cancels.

When I was doing contractor work one of my clients was specifically having this problem with the Intel wireless drivers on a lot of their systems. The driver could not be updated or reinstalled with Intel’s installer either, as it would also stop responding.

The solution is to disable the driver’s service entry so that Windows does not load it at all, and it will no longer have any open IRP requests which prevent it from being removed.

The first step is to obtain the name of the driver’s service entry. You can do this easily if you open the device’s properties in Device Manager and select the “Details” tab (other tabs may cause Device Manager to stop responding if you click them, but Details will work). Select “Service” from the drop down list in the middle of the Details property page. If you can’t access the Details tab in Device Manager, you can also use the command: ‘sc query type= driver group= NDIS’ to display all of the network drivers on your system along with their service name and obtain it from there.

Once that’s done open the system Registry Editor (regedit.exe) and navigate to: ‘HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services’. Expand the ‘Services’ tree and look for a subkey underneath it with the driver service name we located in the step above. Select the driver service subkey and there will be a DWORD entry inside it named “Start”. Double click the “Start” entry and set it’s value to the number ‘4’ (decimal). Setting the value to 4 disables the service on startup.

After you reboot the system, the device should appear in Device Manager with a bang and you should have no problem uninstalling it.