Having trouble with Samba/iX?
A few weeks ago, I decided to try Samba/iX on a system running MPE/iX 5.0. This was a futile attempt to say the least, and from what I have found, I'm not alone.
Previous uses of Samba/iX have been under 5.5 and all met with resounding success. Why then, if MPE/iX 5.0 also supports POSIX, would it not work? Why does smbclient, the HP 3000 client program, keep reporting that "your server software is being unfriendly?" Why does Explorer keep telling me that "The Network is Busy?"
I decided to look into the situation and found a variety of issues --
several of
which have been posted to HP 3000-L and are also included here.
The PowerPatch Level is important
The first issue to address is the level of PowerPatch you are
running. The machine
I was having the trouble with was under PowerPatch 2 for MPE/iX 5.5 -- and
from what
I've heard from HP engineers, this was not the best of releases.
For Samba/iX to run under MPE/iX 5.0, we are absolutely certain that PowerPatch 6 (the latest version) is required. We don't know if versions of MPE/iX prior to 5.0 PowerPatch 2 work. If you are not up on PowerPatch 6 under MPE/iX 5.0, and you want to get Samba/iX to work, call the HP Response Center and get the latest patch.
WINS: Windows Internet Name Service
DNS (Domain Name Service) and WINS are two address resolution
protocols used
in Windows and TCP networks. One or both are needed for a successful
implementation
of Samba/iX.
Fortunately, at least one is already supplied with Samba/iX, and that's a WINS server, but there's a catch or two. Samba/iX can act as a WINS server just as Windows NT Server can. Since there can only be one per domain, if you have a Windows NT Server acting as a WINS server, ignore the rest of this section.
What is WINS? A WINS server acts in the same way that a DNS server works -- it resolves IP addresses. Instead of resolving TCP/IP host names however, it resolves these IP addresses to NetBIOS computer names, the name you give your Windows computer for the Windows Network. Windows for Workgroups, Windows 95 and Windows NT all use a protocol called NetBEUI that is very close to NetBIOS, and all use the Computer Name when being configured. WINS will map these names to IP addresses.
For Samba/iX to act as a WINS server, it must be able to "win elections" over other computers on the network vying for the same privilege. Windows 95 and Windows for workgroups all transmit an "election value" of 1. Samba/iX by default will transmit a value of 0 and Windows NT transmits a value of 32. To have Samba/iX act as a WINS server, add the line (without quotes) "os level = 10" to the [Global] section of /usr/local/samba/lib/smb.conf file. Also, a text file containing a mapping similar to that of HOSTS should be created in /usr/local/samba/lib/lmhosts. The mapping would look like this:
198.137.xxx.xx1 dilbert
198.137.xxx.xx2 computer1
Note the absence of the domain qualifier such as "something.com." NetBIOS computer names do not use these domain qualifiers. Once the "lmhosts" file is placed in the proper directory, start or restart Samba/iX's listeners. The listener that loads this file and build the WINS.DAT database is nmbd (started with the NMBD listener job or appropriate listener in inetd). In addition, this same file can be created in your \WINDOWS folder/directory for PC's (\WINNT, \WINNT35 or \WINNT4 for those under NT -- the format is similar).
Warning: If you have a Windows NT server running WINS, never allow
Samba/iX to
take over as WINS server unless acting as a backup. This means never set
"os level"
higher than 30 in this situation. Using a value of 10 as shown above will
allow Samba/iX
to act in a backup capacity if the NT server becomes unavailable and will
override all
election requests from other Windows operating systems.
DNS: Domain Name Service
Many HP 3000 installations that do not have direct access to the Internet do not use DNS. It is usually found in installations with direct access to the Internet, or in Unix installations where DNS is necessary.
DNS maps IP addresses to IP Host Names. Currently the HP 3000 cannot act as a DNS serve, although there is a port of DNS/BIND in process. (See this issue's NewsWire Briefs for more information). That means the 3000 requires the use of a Windows NT, Windows 95 or Unix machine running BIND or "named" to act in this capacity.
If DNS is not running at your facility, you don't have to put it up. To get around the DNS issue, a file called HOSTS can be created on both the HP 3000 and your PC. The format is similar to that of "lmhosts" and usually looks like this:
127.0.0.1 localhost.somedomain.com localhost me myself
198.137.xxx.xx1 dilbert.somedomain.com dilbert
198.137.xxx.xx2 computer1.somedomain.com computer1 dogbert
Note the first line: this is an important line of the "hosts" file. It refers to a loopback to the computer itself, whether it be an HP 3000 or a PC and is a reserved IP address for this purpose. This text file should be placed on the HP 3000 as HOSTS.NET.SYS, with either a copy or a link to /etc/hosts. Samba/iX will consult this file if DNS is not present to assist in resolving host names if not present in the "lmhosts" file. Also, even if DNS is not running on the network, check out the RESLVCNF.NET.SYS file information below and include only the "domain" line.
If DNS is running at your installation, a HOSTS file is still beneficial because HOSTS will be consulted first, prior to accessing DNS. This keeps the traffic down on your DNS server and on your LAN/WAN (depending on where the DNS server is located).
You will also need to create a file called RESLVCNF.NET.SYS on your HP 3000 to direct the 3000 to consult a DNS server, if necessary. A sample file can be found as RSLVSAMP.NET.SYS. There should be at least two lines, preferably more, as follows:
domain somedomain.com
nameserver 149.174.213.5
nameserver 149.174.211.5
The IP addresses above are real name servers for CompuServe, but you should use the IP addresses of your primary and backup DNS servers, which should be on separate networks. If you have only a primary DNS server, then just list that one nameserver.
Again, if you do not have DNS running, it's still good to have a RESLVCNF.NET.SYS file with only the "domain" line listed and no nameserver entries.
After editing this file, save it, then copy, or create a link to it in /etc/reslv.conf.
Know about networks!
I recently wrote in another publication that it is necessary today for programming staff to begin learning about how networks operate and for network administrators to start learning about how applications are put together and written. Those who not do so are guilty of a disservice to both themselves and their employers. Since client-server and Internet-enabled applications use network bandwidth, this knowledge is crucial. You will be cooperating with each other, instead of remaining in your own worlds.
Implementing Samba/iX can be easy, if you're on MPE/iX 5.5 or 5.0 with PowerPatch 6. If you use a 5.0 release prior to that, you need to start digging and find out why something may not be working. Excellent tools for debugging and a checklist for enabling DNS and WINS are listed in a sidebar to this article.
My thanks to Lars Appel and Mike Gueterman of Easy Does It
Technologies for the
frequent e-mails and phone calls made trying to track down this
information. I also give
a hearty pat to my Windows Resource Kits and my Microsoft Developer's
Network CDs for
the technical information needed to track this down. It was not easy --
just as Posix
ports are not easy and can take quite a few person-hours.
Joe Geiser is owner of CSI Business Solutions, which specializes in
training in the
area of client-server technologies, as well as application integration such
as MS Word,
Excel and others. CSI also performs training and migration services for
Windows 95 and
NT from Windows 3.x using Microsoft Migration tools for a smooth migration.
Where CSI
and HP overlap, CSI is less expensive and gears training to the client as
opposed to
presenting a generic course. This means that developers get the training
using in-house
systems and applications -- which makes them productive faster. For more
information,
call 215.945.8100, fax 215.943-8408, or e-mail jgeiser@csillc.com.