Lew Perin
    Welcome to my home(ly) page. At present, and for the
    foreseeable future, this page will just be a means to an end, so
    please don't expect it to sing and dance!  For more on why I'm
    suspicious of so much of the fancy stuff that's appeared on the
    Web in the last few years you might want to see what
    Jukka Korpela
    has to say.
    
    billgPC: a free bootp client for Windows 95 and NT
    There's an interesting story
    behind the Internet boot protocol and Windows 95 (be aware that
    I'm not nearly as fast a programmer as the above link makes me seem!)
    but the upshot is
    Microsoft omitted a bootp client from the TCP/IP suite they
    distributed.  (They didn't do any better with NT.)
    I've written a bootp client for Windows 95 and NT called
    billgPC.  It's compatible with the Microsoft
    TCP/IP stack, which would otherwise force you to use
    DHCP or
    static IP addressing.
    You are invited to download billgPC, in the form of a zip archive.
     All documentation is in the archive itself, not on this Web page; you'll
     have to get the archive even to learn how to say billgPC
     or to find out how it got its name.
    Do you need billgPC?
    But before you download the zipfile, please take a moment to
     make sure you really need it.  (The reason for this is that my
     Internet provider charges me for all downloads beyond a certain
     number of megabytes per month.)
    
New billgPC users
    If you have never downloaded billgPC before, please make sure
    a bootp client is what you really need.  If you need a
    RARP client you are in the wrong place.
    If your PC connects to the Internet only by Dial-Up Networking
    billgPC can't help you; it works on Local Area Networks.
    
Current billgPC users
    If you already use billgPC and are checking to see if there's
    a reason to update what you have, please check what version you're
    using to see if it's the same as the current one.  (The version you have now is
    in the file BILLGPC.LOG in the directory you installed billgPC
    into.)  If your version isn't current, you'll want to examine
    the recent history of billgPC to see if
    anything that's been added or fixed since your version will
    help you.  If you're wondering how you might help in developing
    billgPC, see this link.  If you're looking
    for a way to say thank you, consider this.
    
Programmers
    You might also be interested in billgPC's source code even if
    you don't need a bootp client.  BillgPC's zipfile contains full
    source code for the application and for drivers for Windows 95
    and NT.   Programmers who deal with the
    Win95 and NT Registry or who write NDIS protocol drivers might
    learn a thing or two.  (They might also teach me
    something; if you see something you think is wrong in billgPC's
    source code, please contact me by email.)
    
By the way, programmers who write NDIS protocol drivers for NT will
    probably be interested in the page I
    maintain on bugs in the DDK's Packet sample.
    
So you do need billgPC...
    If you do think you need the latest version of billgPC, then
    by all means please download it.
    
    The latest version is
     0.54, dated October 3, 1998.
    
    Check here for features that have been
     added since you downloaded
     the archive n versions ago...
    
      - 0.54 Changes to billgPC for NT and 9X:
      
       - NetBIOS node type: We now handle this bootp option.
       
 - Computer name bug fix: We're now just as case-insensitive
            as Microsoft.  Thanks to Mikael Willberg!
       
 - Big vendor options areas: Fixed a bug triggered when
            the server sends a huge vendor options area.
       
 - NT Service database gridlock: We now handle the exotic
            case when billgPC's NT driver can't be started because the
            Service database is locked.
       
 - Dodging Windows 98 bullets: We now avoid the networking
            anomalies connected to the Virtual Private Networking Adapter
            and the Toshiba infrared netcard.
      
 
       - 0.53 Changes to billgPC and its NT driver:
      
       - NT driver works on token ring: Thanks to Texas MHMR!
       
 - Less alarming to users: When there's no LAN
        billgPC now fails silently rather than scaring the user
        e.g. when a laptop's hardware profile excludes networking.
      
 
       - 0.52 Changes to billgPC and its protocol drivers:
      
       - NT driver released: Yes, that was a plural on
        "protocol drivers".
       
 - Bootp option aliasing: If your server doesn't
        understand a recent bootp option, you may be able to use it
        anyway with this.
       
 - NT 5 beta: We think we can deal with this.
      
 
       - 0.51 Changes to billgPC and its Win95 VxD:
      
       - Protocol VxD: Fixed VxD bug that could hang the
        system if the user canceled billgPC when a bootp response
        failed to arrive.
       
 - New command line option: To prevent billgPC from
        updating the hostname according to what the bootp server
        sends, the new /xh option.
      
 
       - 0.50 Changes to billgPC and its Win95 VxD:
      
       - Protocol VxD: Now billgPC's protocol driver
        (Windows 95 only) is dynamically loaded.  This means the driver
        encumbers memory only when billgPC is running.  It also means
        there's no longer any need to deal with the Control Panel
        Network Applet on behalf of billgPC.
       
 - billgPC running on NT: Some problems (ours and
        Microsoft's) with launching billgPC from an Automatic Service
        have been overcome.
      
 
    
    
    You are invited to download billgPC,
     in the form of a zip archive.
    Benefactors of billgPC
    
      - Printing
       Communications Associates, Inc. provided technical support
       in the development of the billgPC NDIS protocol driver for Windows
       95.
      
 - P. Singh also provided technical advice
       during the redesign of the VxD resulting in an NDIS protocol
       driver and made his code available for study.
      
 - Gary
       Dobbins contributed greatly to the design work
       (and the drudgery) involved in getting billgPC to run on NT.
      
 - The bighearted
       Texas
       Department of Mental Health and Mental
       Retardation bought me a copy of the Microsoft
       Driver Development Kit, which made it possible to develop a billgPC
       driver for NT.  They also gave me some old token ring hardware
       to test with, so I now live in what's probably the smallest
       apartment in Manhattan with its own token ring hub.
      
 - They probably don't know what billgPC is, but Open Systems Resources Inc.,
       a company that makes its money by selling its NT driver
       development expertise, helped greatly in the development of
       billgPC's NT driver by giving away its Debug Monitor.
      
 - IBM
       Global Services Australia contributed a spiffy PCMCIA token
       ring card that made it a lot easier to figure out how billgPC can
       discern which netcards are currently in good working order.
    
 
    
    You could send any of the following kinds of message to the
     email address at the bottom of this page:
    
      - Complain. I'll never know about a bug unless
       someone tells me.  I probably won't add the new feature you want
       unless I'm asked.  On the other hand, the possibility exists that
       when you send email by clicking on the link at the bottom of the
       page I'll direct you to a new not-yet-public version that already
       does what you want.
      
 - Tell me about your bootp client machine. Right
       now I have a particular need to hear from people who have machines
       with more than one network card.  I also need to hear from those
       running NT 5.0.
      
 - Tell me about your bootp server. As you can
       read about in detail in the README, running billgPC without the
       protocol VxD requires that a bootp server be either ``RFC 1542
       compliant'' or a ``lucky loafer'' (see the section on BOOTP
       SERVERS.)  Please look at the categorization of servers there and, if
       yours isn't on any of the three lists, test it yourself and
       send me the result.  Just give your machine an incorrect MAC
       address using the Control Panel Network applet, reboot and run
       billgPC without the protocol VxD.  Send me the
       billgpc.log and tell me what the name of the bootp server is.
      
 - Tell me it worked. It can be very useful to
       know on exactly what kinds of machines billgPC works
       satisfactorily.  Sending by email the two logs mentioned in the
       README helps me build a database.    
 
    
      If you find billgPC
       useful and you want to thank me, why not send a picture postcard from
       wherever you are to:
       Lew Perin
       188 Sixth Avenue #1FS
       New York, NY 10013
 
       USA
    
    In December
     1997 there was a reference to billgPC in Infoworld which
     described it as a RARP client.  This is not true; billgPC does
     bootp.  RARP, which
     preceded bootp in Net history, is less capable in important ways: it
     isn't routable and the only piece of IP configuration information
     it conveys is the IP address.  But ther is one thing a RARP
     client can do that a bootp client can't: it is able to ask
     for the IP address of any host on its network, not just the host
     it runs on.
    
There doesn't appear to be a free RARP client available for
     32-bit Windows operating systems.  It probably wouldn't be very
     hard to add this capability to billgPC, so if you really want
     this, contact me by email.
     
    
<perin@acm.org>
Last modified: Sat Oct 31 12:21:57 1998