Send us your tips and questions. You can also visit Bob Chronister's online Tricks & Traps at

Q: A friend of mine who heard you speak at the Digital Wizard Symposium in March swears that you said users can enable Plug and Play (PnP) in Windows NT 4.0. PnP is available only in Windows 95, right?

Although Microsoft buried the option, a PnP driver is available on the NT 4.0 Server and Workstation CD-ROMs. Using NT Explorer, go to the \drvlib\pnpisa\x86 directory on the NT 4.0 CD-ROM and find the pnpisa.inf file. If you right-click this file, NT gives you the option to install Pnpisa, as you see in Screen 1. After you install the file and reboot your machine, NT automatically enables the PnP service. Microsoft ostensibly oriented this driver toward the new Phoenix BIOS specific to NT 4.0.

I have enabled the PnP driver on my notebook, but I don't know how complete PnP is. For example, when I installed the PnP driver on a workstation, it detected a 3Com NIC and asked me for a driver, as you see in Screen 2, although a driver was already present. Microsoft is obviously uncomfortable with enabling PnP; otherwise NT would have installed the driver by default.

Warning: If you are running a system that already uses a version of PnP (e.g., a Digital HiNote notebook), don't load this driver. If you do, your system will lock up and be very difficult to fix.

Q: I have a dual-processor Pentium Pro system with one CPU. I'm running Windows NT 4.0 Service Pack 2 (SP2) with the Remote Access Service (RAS) hotfix. How do I upgrade the system to a dual Pentium Pro? The Uni to Multiprocessor application on the Microsoft Windows NT Server Resource Kit CD-ROM won't work with SP2.

Because you're running NT 4.0 SP2, you need to manually convert your single-processor system to a multiprocessor system and then install SP3. First, let's look at the differences between a single and a dual Pentium Pro system. When you install NT, five files (ntoskrnl.
exe, hal.dll, ntdll.dll, kernel32.dll, and winsrv.dll) dictate the difference between a single-processor and a multiprocessor machine. Of these five files, ntoskrnl.exe and hal.dll are the only mandatory changes. NT uses the other three files to optimize the system for either one CPU or multiple CPUs. In your case, all you need to worry about is the changes to ntoskrnl.exe and hal.dll. All the necessary configuration information for these two files is in the setup.log file in the \winnt\repair directory. You will need to clear the hidden, system, and read-only attributes on setup.log to access this file.

Open Notepad to examine setup.log. You will see a list of drivers with their filenames on the NT 4.0 CD-ROM and a checksum value. Screen 3, shows a backup version of the setup.log file for a single-processor machine that I renamed setuplog.bob with the lines for the NT kernel and the hardware abstraction layer (HAL) highlighted. Note that the kernel is the standard ntoskrnl.exe and the HAL is the halapic.
dll. When you boot an Intel Multiprocessor Specification (MPS) 1.4-compliant system with one CPU, it reports itself as an MPS uniprocessor. The Advanced Programming Interrupt Controller (APIC) version of HAL identifies the MPS APIC chipset.

Screen 4 shows the same two files in setup.log on a system with two 200MHz Pentium Pros. Notice that the ntoskrnl.
exe is now ntkrnlmp.exe and hal.dll is now halmps.dll. To test a uniprocessor to multiprocessor conversion, I removed a 180MHz Pentium Pro that I'd jumpered as a 200MHz, and I added two 200MHz Pentium Pros to a daughterboard on a system that uses an Asus dual Pentium Pro motherboard. The MPS 1.4-compliant motherboard is an APIC jumperless board, so I didn't have to set any jumpers. Once I had everything in place, I booted the system, and it reported itself as a standard uniprocessor system, as you see in Screen 5. I then inserted the two lines from the dual processor setup.log into the setup.log of the system. I then added SP3. When I rebooted the system, it appeared as a multiprocessor machine (see Screen 6 ,Screen 7). All worked well.

What about the remaining three files?

Interestingly, the Microsoft Windows NT Server 4.0 Resource Kit Uni to Multiprocessor utility ostensibly updates the winsrv.dll file, but the checksum is the same in both files. If you are worried about the two remaining files (ntdll.dll and kernel32.dll), you can copy the lines you see in Table 1 with the NT kernel and HAL. Please note that I did not try this step because it did not seem necessary. The dual system is running well. The total time for changing the setup.
log file was minimal, and SP3 supplied the proper kernel and HAL.

Q: I recently purchased an IBM ThinkPad 760ED. This machine is great, but I can't get my Megahertz 33.6 PC Card Modem to work. I've tried every possible combination to load the modem. Do you have any suggestions?

You are encountering a firmware-related problem with the ThinkPad. I assume that when you boot the system, you see version 1.00 CMOS. Upgrade the CMOS to version 1.01, and the system will see the Megahertz modem.

Q: I'm sold on using Windows NT in our environment. Having worked in the network support business for 20 years, I know that the best way to achieve the optimal setup for a system is by removing excess components. What is the best way to remove the POSIX and OS/2 components from a normal server installation?

I'm always amazed at how easily you can use an NT utility designed for one task to perform another task. To remove the OS/2 and POSIX components--
which you need to do to make your NT installation fully C2 compliant--I recommend that you use the C2 Configuration utility in the Microsoft Windows NT Server Resource Kit (affectionately known as the rescue kit).

Although you don't have to use the C2 Configuration utility to remove the OS/2 and POSIX subsystems, this utility automates the process for you and removes all the applications and related files (DLLs and so forth) in one shot. By using an automated removal tool such as the C2 Configuration utility, you shouldn't have to worry about booting into NT and getting error messages after you perform the cleanup.

When the C2 Configuration utility opens, it displays the status of the OS/2 subsystem and status of the POSIX subsystem, as you see in Screen 8. If you click the status for OS/2, you have the option of removing this subsystem, as you see in Screen 9. The same is true for removing the POSIX subsystem, as you see in Screen 10.

Q: I just purchased an Adaptec 2940UW SCSI controller card. When I installed it, I noticed that the card ID was set to 7. A friend told me that all new cards are set up this way. Why isn't the card ID set to 15?

Most vendors assume you have a mixture of Narrow and Wide SCSI devices. Narrow SCSI devices communicate with registers 0 to 7, and Wide and Ultra Wide SCSI devices use registers 8 to 15. If you use a Narrow SCSI device, it must be able to access the controller. An 8-bit device can't access ID 15 but can access ID 7. If you plan to use only Wide or Ultra Wide SCSI devices, you can set the controller card to ID 15.

New SCSI controller cards have other characteristics that can cause trouble. For example, if you mix Ultra SCSI (SCSI-3) devices with Narrow (SCSI-2) devices, you start encountering cable length issues. SCSI-3 cables can measure only about 5.5 feet, while SCSI-2 cables can measure about 10 feet to 12 feet.

Terminating the controller card is also confusing. If you have all devices on one side of the controller, simply keep termination on (set to automatic). If the devices are on both sides of the controller and all devices are wide, turn off both low and high bits. If you have SCSI-2 on one side of the controller and SCSI-3 on the other, terminate high bits on the card and remove termination for the low bits (high on/low off).

Q: I plan to buy a new graphics display card for Windows NT. A friend keeps telling me to switch to Windows 95 because display drivers will always be available for that platform. What do you suggest?

Until recently, I would have agreed with your friend. Fortunately, most new generation graphics display cards have NT 4.0 drivers (but not necessarily NT 3.51 drivers). Vendors that provide NT 4.0 drivers for all their graphics display cards include ARTIST Graphics, ATI Technology, ELSA, Genoa Systems, Hercules, Matrox, Mirage, Number Nine, Prolink, STB Systems, Symmetric, and VideoLogic. Diamond Multimedia provides drivers for all its graphics display cards except the Monster 3D. The only graphics display card vendors that don't provide native NT 4.0 support across the board are Orchid (Righteous 3D), Sierra (Screamin' 3D), Intergraph (Rendition Verite V1000 ­ starting in beta), and Creative Labs (Graphics Blaster 3D and 3D Blaster PCI).

Q: I'm having trouble keeping up with the specifications on new graphics display cards. Can you explain what's happening to the memory configurations on these new cards? I've also heard that Intel is adding a specification for its motherboards that pertains to video. What's going on?

The types of memory on graphics display (video) cards are as varied as the ways in which each type of memory approaches its task. At the low end of the price scale are cards with DRAM video memory. DRAM is single ported memory that the system clock must reset before the card can refresh the screen. Because of this limitation, many users prefer cards with VRAM. This type of memory is dual ported and does not need to be reset by the system clock. VRAM costs twice as much as DRAM, but it shows only a modest gain in performance. Of greater interest are the new variants of DRAM, including Enhanced Data Output (EDO) RAM, Synchronous DRAM (SDRAM), and Synchronous Graphics DRAM (SGDRAM), which are faster and cheaper. SGDRAM is growing in popularity because vendors such as ATI and Matrox support it on their cards.

Other noteworthy types of memory are Window RAM (WRAM) and Multibank DRAM (MDRAM). WRAM is dual ported, but it has fewer components than VRAM, which makes it cheaper to produce. MDRAM is interesting because you can configure it in 256KB increments. This flexibility lets you buy the amount of memory you need.

Intel is developing the Accelerated Graphics Port (AGP). This port is a direct connection between the memory chipset on the motherboard and the graphics display card. This new hardware specification might sound trivial, but it's not. When Intel implements the AGP, Intel will eliminate the PCI bus. AGP lets video run at 66MHz, and with clock doubling built in, the video will run over a 133MHz transfer bandwidth. Intel will initially release Pentium Pro motherboards with the AGP configuration during the fourth quarter. Although some OEMs put Windows 95 on Pentium Pro systems, Windows NT will realize the most advantage from AGP.

In the interim, I recommend that you buy the minimum card for the current job unless you need high-end graphics. Shop around for a 2MB card for basic systems, a 4MB card for intense graphics systems, and an 8MB card for large (21") monitors and high resolutions (running 1600dpi * 1200dpi * 65,000 colors).

Q: I'm confused about drivers such as Fastfat, atapi, and i8042prt, that Windows NT loads for no apparent reason. Can you tell me where I can find more information about these and other drivers?

Many of NT's drivers have weird names. One of my favorites is Sparrow, which is the Adaptec SlimSCSI driver. Fastfat is the FAT driver, atapi is the EIDE driver, and i8042prt is the keyboard driver. You can find a list of the most common drivers on the Microsoft Windows NT Workstation Resource Kit CD-ROM.

Q: Do you know of any alternatives to the IPCONFIG command-line utility that NT uses? I don't want anything expensive.

Check the Microsoft Windows NT Server Resource Kit and the Microsoft Windows NT Workstation Resource Kit. The IP Configuration utility (wintipcfg.exe) provides a nice interface. Screen 11 shows the basic appearance of a network configuration, and Screen 12 expands the view.

Q: I recently purchased an AST Ascentia P50 Notebook that allows only 24MB of RAM. To my disgust, the new AST systems can address up to 80MB of RAM. AST is not much help here. Do I have any recourse?

Harold Friling, a friend at IQ Computers in Mobile, Alabama, noticed that the new Hitachi systems use what appears to be the same motherboard and case design as the AST Ascentia P50 Notebook. We took two 32MB modules from Harold's Hitachi system and added them to my existing AST system motherboard, which the company states will support 40MB of RAM. The board functions perfectly with the additional memory. The system has been running nonstop for a week with no crashes. Buy the memory for Hitachi, and use it in your AST. Screen 13 shows the amount of memory NT 4.0 now sees on my AST Ascentia P50.

Q: The ISA bus has been around a long time and has ample industry support. Yet every author I have read, including you, has stated that it is outdated and should not be used with Windows NT. Can you elaborate?

IBM designed the original 8-bit ISA bus in 1983 for the PC/XT. IBM quickly realized the limitations of this architecture, and in 1986, the company released a 16-bit ISA bus for the PC/AT (the AT bus) that literally doubled the amount of IRQs and direct memory address (DMA) channels.

The AT bus is synchronized to an 8.33MHz clock signal. At zero wait state, the bus requires two bus clock cycles to move data. Furthermore, because the architecture is 16 bits wide, the maximum amount of data you can transfer at any one time is 2 bytes. At best, the AT bus is capable of only 4 million transfers per second. More important, the bus has only 24 address lines to memory, so the maximum amount of memory you can address directly is 224 or 16MB.

The AT bus was an improvement over its predecessor (the PC/XT ISA bus), but the industry was not satisfied with its throughput. In early 1987, Compaq introduced the Dual bus, a bus with an 8.25MHz feed to the expansion cards and a 16MHz feed from the CPU to memory. In 1988, a consortium of nine computer companies, known as the Gang of Nine, introduced the specifications for an EISA bus with a 32-bit data path. IBM realized the deficiencies of the AT bus and tried to replace it with Micro Channel Architecture (MCA), which was superior to the AT bus and EISA bus. However, vendors weren't willing to pay IBM's high licensing fees, and the MCA bus has all but disappeared. Finally, in the early 1990s, we started to see the local Video Electronics Standards Association (VESA) bus and PCI bus, which improved the performance of graphics display cards.

Despite its deficiencies, the AT bus rapidly gained popularity. Although CPUs reached 50MHz, manufacturers stuck with the AT bus. Consequently, vendors kept making ISA expansion cards, and a vicious cycle started that is still not abated. A prevalent attitude was that the AT bus was fast enough for most cards. This attitude is changing, and I think the AT bus would disappear if sound cards and modems (the only remaining AT bus legacy cards) were available for the PCI bus.

In the best situation, the AT bus is far from optimal for NT systems. This reality is particularly evident with bus master cards (SCSI cards and NICs) that attempt to use more than 16MB of memory via DMA. All such transfers require buffering from above 16 to below 16. Finding other types of ISA-based cards, such as graphics display cards, is virtually impossible. You can get some inexpensive NICs, most notably NE2000 clones, but most NICs for NT are PCI based and many are moving to 100Base-T. Because NT is a 32-bit operating system, why use a 16-bit motherboard? In fact, more and more motherboards, such as the new Supermicro Pentium Pro systems, are appearing that offer far more PCI slots than ISA slots.

Q: I'm running Seagate Software's Backup Exec. Occasionally the system encounters a general protection fault from the application. This error is very annoying. Do you have any suggestions for eliminating this problem?

Generally I don't see problems with Backup Exec, but I have heard of your problem. The error appears to be related to monitoring the backup. Close any monitoring applications you are running, and see if the problem stops.

Q: I'm running a standard mixture of Windows NT and Windows 95 clients in an NT Server-based network. I don't have any problems with the NT clients, but the Win95 clients can't print to the network printers without users' supplying a username and password. How can I fix this problem?

This type of problem is common. Sometimes I get the feeling that Microsoft designed Win95 to work on a Novell network. The problem is one of authentication. Add the Win95 user and password to the domain, and add the user to the printer share. I've seen many Win95 problems disappear after I've taken these steps.

Q: I have Windows NT installed on my D drive and I want to migrate it to my E drive. Is this switch possible?

Excellent question. Is it possible? Yes, but only with painstaking line-by-line searching of the NT Registry. Lots of people have asked me this question. To be honest, I recommend that you reinstall NT on your E drive rather than attempting to migrate your current installation. My experience with migrating NT between drives has been far from stellar. It simply is not worth the trouble.

Q: I am planning a network, and I recently read that Windows NT places restrictions on users who join a domain and then have an account made for them. Can users boot onto a domain and then establish an account?

You can in fact have users join a domain to establish accounts for their machines. The disadvantage to this approach is that the users must have administrative privileges on the domain to create the machine accounts. If the domain administrator adds the machines to the domain before the users join the domain, the users won't need administrative privileges to log on to the domain. This scenario is one case where you have to plan ahead and add the users before the event occurs.