[cifs-protocol] Printer Browsing Problem

Neil Goodenough ngoodenough at chs-ga.org
Mon Oct 31 14:44:05 GMT 2005

I am trying to fix a printer browsing problem and I am finding it difficult
to get any real information on how it is implemented. Can anyone point me to
any documentation on how printer browsing works?

Or maybe someone can identify the problem. I have posted it on a couple of
other lists but to no avail.

The problem is an extreme slowness when browsing for printers. We have about
90 systems that host a shared printer on clients including Windows 9x, NT,
2K and XP The domain has approximately 450 members. Before the problem
started, when adding a network printer, it would take approx 10-20 seconds
for the list of printers hosting shares to appear. When the problem exhibits
itself, it takes between eight and twenty minutes. Our network has approx 50
subnets connected by a variety of private T1 and ISDN, and public DSL/VPN

I have Ethereal traces of both working and slow browsing. The difference I
can see between the two scenarios is:

Working system:
1. Contact a BDC of a list of systems hosing printer shares. 
2. Contact one of these systems with Enumprinters level 1 and a buffer size
of zero
3. Get response specifyng the correct buffer size to use
4. Repeat step 2 with appropriate buffer size
5. Recieve a list of some printer details
6. Display list of hosts plus details of some printers

Slow system:
1. Contact a BDC of a list of systems hosing printer shares. 
2. Contact one of these systems with Enumprinters level 1 and a buffer size
of zero
3. Get response specifyng Invalid Name
4. Repeat 2 & 3 for every printer hosting a share
5. After every host has been contacted, the list of hosts that have a shared
printer is displayed, with no details of actual printers.

The session setup and Tree Connect packets in both working and slow
scenarios appear similar. I have examples of both using both anonymous and
named credentials.

The problem stayed with us for ten days and then went away. The day before
the problem went away, I found and fixed an IPX problem on the (Windows NT)
PDC. At startup, it was doing RIP broadcasts on a valid ipx network but
using an incorrect frame type. I set the correct frame type and network
address manually. I identified that the ipx problem had been occuring for at
least one week before the slow browsing problem appeared. We do not route

Documents I have already read include:
Microsoft Windows NT Browser - White Paper,RD Thompson, R McLaughlin
SNIA CIFS Technical Reference, Rev 1.0
Microsoft Networks SMB File Sharing Protocol
Windows SDK Help System

Although the NT Browser White Paper does say how shared printers are
registered, I can't find anything in any of these documents that explains
the how the browsing process is implemented. In particular, what does that
'invalid name' response indicate?

We are likely to be forced into an Active Directory upgrade in the future
and I hate the idea of doing this while we have an unresolved browsing

Neil Goodenough
Community Health Systems, Inc.
PO Box 1833 * 213 Third Street
Macon, GA. 31202-0063
(478) 621 2040 ext 2205
ngoodenough at chs-ga.org 

Notice:  The information contained in this email is legally privileged and
confidential information intended only for the use of the individual or
entity to whom it is addressed.  If the reader of this message is not the
intended recipient, you are hereby notified that any viewing, dissemination,
distribution or copying of this email message is strictly prohibited.  If
you have received and/or are viewing this email in error, please immediately
notify the sender by reply email, and delete this email from your system.
Thank you.

More information about the cifs-protocol mailing list