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