It's Supposed To Just Work!

You know how it is when you start out playing with computers, especially when you work from home like I do - you might be lucky and have two to connect together. Yet, in what seems like no more than a few weeks, there are computers everywhere - doing all kinds of complicated things. It's a bit like rabbits (well, OK, so maybe they don't do complicated things), you start with two and then, almost while you're not looking, they seem to have spread all over the house...

So, some while ago, I decided that having to go upstairs to the office and turn on a specific machine whenever I need to print something was distinctly "old hat", and that I should have a networked printer. As I've already got a perfectly serviceable Epson laser printer, I just bought one of those print server things to connect it to the network. Mainly for cost reasons, I ended up with a cheap "pocket-sized" one from DLink (though I still haven't figured out quite when I would have a printer in my pocket).

I set it up to use DHCP to automatically get an IP address, and it popped up in DHCP manager quite nicely all by itself. However, the client machines couldn't see the print server (named "networkprinter"), or the single printer it has connected (named "netprint1").

Now, regular readers will know that I am a member of the "keep kicking it till it works" school of network and server administration. I tend to start at the top of the respective admin tool (usually MMC these days) and open every Properties dialog I can find until I get to something that seems to be worth changing. Then, after a few hours, I start to read the Help files and finally - in desperation - end up on a newsgroup or "phone a friend".

Aha! I was lucky this time - I found a dialog in the print server admin tool that said NetBEUI was enabled for the print server, so I added it to the Network Properties of all my client machines. Magic. It all worked. OK, so I didn't really know why, only that NetBEUI was my new best friend.

And then I upgraded a couple of machines to Windows XP Professional and Windows XP Home. Those of you who are "real" network administrators will already be laughing, because you'll know that XP doesn't support NetBEUI. It seems like it got to be old-fashioned, dangerous, or perhaps just a bit stinky and worn around the edges - I don't know which - but Microsoft decided that it wasn't posh enough for their bright and shiny new OS.

So, try as I might, there was no way I was going to connect to "\\networkprinter\netprint1" from an XP box. It wouldn't even connect to the IP address directly (after I'd gone back to DHCP Manager to see what it was). In fact, I couldn't even ping the print server "networkprinter" by name from anywhere! Turns out that, due to something called "dynamic updates" being set to "Secure Only" in my DNS (probably), DCHP hadn't inserted a record into my DNS server for the print server, like it does for all the other client machines.

After some help from DLink, I discovered the truth about XP. Plug and Play doesn't apply to printers unless you plug them into an orifice on the local machine. To get my print server working I would have to create a new TCP/IP Port on the client machine.

The screenshot on the right shows what you end up with - you have to start the Add Printer Wizard, select "Local printer", but uncheck the "Automatically detect and install my Plug and Play printer" option. Note: do not select "Network Printer" (hmmm - is that intuitive?). Then you choose "Create a new port" and select "Standard TCP/IP Port". This starts another Wizard, which collects the printer name or IP address, and allows you to configure the port as shown. Note that it uses LPR with "Byte Counting Enabled" (is that like when I was a kid and my Mum always said I had to chew all my food 32 times - once for each tooth?). And isn't LPR even older, stinkier and more "worn around the edges" than NetBEUI?

Of course, as all this was before I discovered the "missing from the DNS" issue, I ended up having to specify the IP address of the print server - it couldn't find it by name. This meant having to exclude it from DHCP, and reconfiguring the print server itself to use a fixed IP address so that I wouldn't be constantly searching for the current one.

In the end, it all worked. And I only wasted half a day. Thanks to DLink for their detailed guide to solving the problem. If you are relying on NetBEUI in Windows 2000 (or NT4 even) for anything, and you're moving to XP, remember to make sure your DNS is up to date and working, and make sure your DHCP server is properly configured (or give the device a fixed IP address) ready for all these new ports you're going to need.

Mind you, what's really annoying is that a couple of days later, Dave mailed me a link to the Web site, where a short article declares that you can install NetBEUI on Windows XP. In fact, it's even included in the \VALUEADD\MSFT\NET\NETBEUI folder of the XP installation CD-ROM! The installation text file says:

NetBEUI (NBF) is a non-routable protocol suitable for small networks.
Support for this protocol in Microsoft Windows has been discontinued.
If you are instructed by the Product Support Personnel to install this protocol
as a temporary measure, follow the instructions below.

* copy nbf.sys into the %SYSTEMROOT%\SYSTEM32\DRIVERS\ directory
* copy netnbf.inf into the %SYSTEMROOT%\INF\ directory
* open network connection properties and use "Install..." button to add NetBEUI protocol
Oh well, too late now - and I guess I am using the "preferred" approach...

Email:         Privacy and Acceptable Use Policy