Please note that LanMan cannot be used to run TCP/IP applications. Actually, it does contain a TCP/IP stack but you just cannot use it for all the mainstream OS/2 TCP/IP applications. Too bad, but read below how you might be able to use FreeTCP with LanMan.
Can you use LanMan to access Samba servers? Yes, it will work but there is one little problem. LanMan cannot "see" the names of the available Samba servers on your network (but once you know the name of the Samba server, it will connect fine). There's now a fix available: you (or your friendly system administrator :-) probably will want to install the 'LM Announce' patch on the Samba server. Click here for the details. For other tips on using LanMan to access Samba servers, click here.
Do not, repeat DO NOT install LanMan if you have Warp Connect, Warp 4 or LAN/Warp Server! The networking software included with these versions of OS/2 are much better than LanMan! And if you still install LanMan, you might screw up your system...
In short, here's what you'll have to do:
If you've tried installing LanMan already, and failed, remove the aborted installation completely before proceeding. That is, edit your CONFIG.SYS and remove the two lines REM == LANMAN == DO NOT MODIFY == and everything between them. Remove all references to the LAN Manager directory in the paths. Also, delete STARTUP.CMD completely or just remove the LanMan lines from it. Then reboot and delete the LAN Manager directory.
Before you continue, please make a safety backup of your OS/2 CONFIG.SYS. An error in the CONFIG.SYS should not keep the system from booting. In most cases, you will be able to press Enter and then the boot process continues. However, it's better to be safe than sorry. So, should you not be able to boot normally, you can restore the backup copy of your CONFIG.SYS. (You do that by pressing Alt+F1 when the small white block appears at the upper left corner of the screen, just before the OS/2 logo appears. Then you get the Recovery Choices screen. Press 'C' to go to an OS/2 command line. Now you can COPY the backup CONFIG.SYS over the current CONFIG.SYS).
You can find this zipfile on lanman.zip. It contains a couple of drivers for some popular network cards, plus other files you may need later on. These include some example configuration files.
An NDIS driver is a piece of software which provides a standard interface to network cards. This means that makers of networking software can write to the NDIS standard and do not have to worry about each and every network card.
You'll need an OS/2 NDIS driver for your network card. You can use the one which was supplied with your card (if you're lucky). You can recognize the driver by its *.OS2 extension. In most cases, it is located in the directory MSLANMAN.OS2 (or one of its subdirectories) on the driver disk supplied with your network card. Or if you downloaded a zipfile with drivers from the Internet, look in that zipfile. If you can't find a driver, you may look for one in http://service.software.ibm.com/os2ddpak/html/,ftp://ftp.cdrom.com/pub/os2/network/ndis/,ftp://hobbes.nmsu.edu/os2/network/ndis/ or elsewhere.
For your convenience, I include drivers for the 2 most popular network cards in LANMAN.ZIP. These are the NE2000-compatibles and the 3Com EtherLink III. (Should you want the full set of drivers for these cards look here and here, respectively). Especially NE2000 clones are inexpensive and very common among home users, students, etc. Vendor supplied OS/2 drivers for NE2000 clones are often buggy and/or slow. Since many people have reported success with the driver included in this distribution, I recommend using this one instead. You won't have to waste time struggling with your own driver and looking for a better one. You can find both drivers in the directory MSLANMAN.OS2 of this zipfile.
DON'T use the NE2000 driver included in the Microsoft LAN Manager archive (NE2000.OS2, devicename MS2000$) since it is buggy as hell! (What else would you expect, huh? :-). There are known problems with LAN Manager and some network cards (mainly Token Ring). For a list, see ftp://ftp.cdrom.com/pub/os2/network/ndis/lmos22.zip or ftp://ftp.uni-erlangen.de/pub/pc-freeware/software/os2/hobbes03.95/16bit/network/lmos22.zip
Before you install LanMan, please read the licence agreement included with it: see ftp://ftp.microsoft.com/BusSys/Clients/README.NOW. It isn't a bad idea to browse through these installation instructions a bit. Not everything is interesting (the bits about the DOS clients aren't) but if you are not familiar with network clients in general you might want to have a look. I have tried to make the instructions below as self-contained as possible, i.e. they should be sufficient.
Get the Microsoft LAN Manager 2.2c Client for OS/2 by downloading all files in ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/. Note that even though the version is 2.2c, you can see version 2.2a mentioned here and there in the documentation and the software...
You can install from floppies or from hard disk. If you choose to install from floppies, get 4 blank disks and extract each of the 4 archive files to a disk. Installing from hard disk is much faster. Disk 4 contains many small files which makes the disk drive grind like crazy. Create a temporary directory on the hard disk and extract each of the 4 archive files to that directory. The archive files contain a couple of duplicate files so when you get a message that the file already exists, just say yes. Or no. Doesn't matter.
You unpack the archive files by executing them directly: DSK3-1.EXE -D etc. Or use Info-Zip's UNZIP: UNZIP DSK3-1.EXE etc. Don't forget to specify the -D parameter if you execute them directly because otherwise the files will be extracted without their paths.
There's a problem with the LAN Manager Client. Deliberately or not, Microsoft made sure that LanMan doesn't load on OS/2 versions later than 2.0. The problem is a file called NETWKSTA.SYS. You have to fool this driver into thinking it is running under OS/2 2.0. Use the following procedure for that.
attrib -r -s -h \os2ver
20=setup.exe
20=netwksta.sys
20=netvdd.sys
attrib +r +s +h \os2ver
In the screen "Network Adapter Drivers" you get a list of drivers included with LanMan. Be warned that the list is very limited and that the drivers date from 1994, so they are quite old. You might want/need to use a (newer) driver from the disk supplied with your network card. In that case, use the Tab key to go to "Other Driver" and press Enter. Specify the directory in which you can find the MSLANMAN.OS2 directory. If you have an NE2000-compatible, do NOT select NE2000 driver included with the Client: it is buggy. Use the driver I included with this archive instead. I also included an 3COM Etherlink III driver. So, if you have an NE2000 or a 3COM Etherlink III, and the drivers included with this archive (directory MSLANMAN.OS2) are located in C:\TEMP, select "Other Driver" and specify the path C:\TEMP.
If you do have an OS/2 NDIS driver but there's no MSLANMAN.OS2 directory included with it, you need to work around that and more or less install that driver manually. I think the best solution would be to choose any driver from the list (just don't pick the NE2000 because it crashes). Once the installation is finished you have to edit the CONFIG.SYS and remove the line for the driver you just installed. Insert one for the driver you actually want to use and configure the settings for it in C:\LANMAN\PROTOCOL.INI. I won't explain in depth how to do that, I hope you'll find it isn't very difficult to do. In the FreeTCP documentation I give an example on how to edit the PROTOCOL.INI.
The default domain/workgroup name used by Warp 4 and Warp Connect is IBMPEERS. For the English version of WfWg and Win95 it is WORKGROUP. Use the domain name STANDALONE if you don't connect to big time servers such as NT, LAN Server, Warp Server. LanMan searches for these servers and it will timeout faster if you use STANDALONE.
NetBEUI ("NetBIOS over NetBEUI") is one of the supported protocols. You can get "NetBIOS over TCP/IP" (TCPBEUI) by checkboxing TCP/IP. If you enable both options, you get both "NetBIOS over NetBEUI" and "NetBIOS over TCP/IP". I have no idea what NetBIOS 3.0 is and what it is for. I don't change the other default settings.
After you have configured LanMan, exit the installation program. Do not reboot yet.
You have to configure some settings (interrupt, DMA, I/O address etc.) for your network card in C:\LANMAN\PROTOCOL.INI. There should be an entry ("section") for that network card in the PROTOCOL.INI. Such a section can be called [NS2000_NIF] or [ELNK3_NIF], for example.
If your own OS/2 NDIS driver does not have a NIF (information) file for MS OS/2 LAN Manager you do need to manually add a new section to the PROTOCOL.INI. Look on the driver disk supplied with your network card (or in the zipfile if you downloaded the driver from Internet) for an example PROTOCOL.INI or .NIF file which you can use as a starting point. Don't copy it in whole over the PROTOCOL.INI in C:\LANMAN. You only have to copy and paste the relevant section which deals with the network card itself.
Now edit the section for your network card in C:\LANMAN\PROTOCOL.INI. If you have an NE2000 clone for example, you'll need to specifify the Interrupt (IRQ) and the I/O base address. Of course, they have to agree with the settings of your network card. In many cases, you set the IRQ and I/O base with jumpers on the card. Newer cards do not have jumpers on them, you have to use a DOS configuration program to change settings.
If you have an EtherLink III however, generally you don't have to edit the [ELNK3_NIF] section since this card is 'self-configuring'. It finds the IRQ and I/O base on its own.
The example PROTOCOL.INI on your network card's driver disk usually contains a description of all the "keywords" you can use for the network card's section. You can change the settings if it is needed. Since every network card is different, I can't really tell what to do, but in many cases the default settings should work.
...and watch any errors you get. When the little white OS/2 block occurs at the top left corner, you might want to press Alt+F2 so that you can see the drivers being loaded. If an error occurs, you immediately see which driver caused it. If you get a SYS1719 on NETWKSTA.SYS, tchk tchk, you didn't read my instructions on editing the OS2VER.
NET VIEWYou can issue many commands from the command line but if you start NET without any parameters you get a text window where you can perform most of these actions through a menu. The mouse works, in contrast with the installation program. NET starts in a full screen session. Personally I don't like that, so I made a patch called WINDOWED.PAT. Copy it to the directory C:\LANMAN\NETPROG and execute the command
NET VIEW \\dadspc
NET USE h: \\dadspc\drivec
NET USE h: /delete
NET USE lpt4 \\momspc\inkjetprinter
NET USE com5 \\dadspc\28k8modem
NET SEND jacco Dinner's ready!
NET HELP
NET HELP xxxxx (where xxxx is a LAN Manager command such as USE)
NET HELPMSG xxxxx (where xxxx is an error message number)
LanMan Client | LFNs in OS/2 | LFNs in DOS & |1) Only if the shared disk which you connect to is a filesystem which supports LFNs, such as HPFS or Ext2FS. Not on FAT.
connecting to: | sessions | WinOS2 sessions |
----------------+--------------+-------------------+----
Warp 4/Connect | yes 1) | no |
----------------+--------------+-------------------+----
Samba | yes 1) | opt. mangled 2) |
----------------+--------------+-------------------+----
Windows NT | yes | mangled 2) |
----------------+--------------+-------------------+----
Windows for Wg | no | no |
----------------+--------------+-------------------+----
Windows 95 | no 3) | mangled 2) |
2) These operating systems can (optionally) "mangle" a LFN into a valid 8.3 filename so that DOS clients can access these files. Example: "My Graduation Thesis.DOC" is turned into "MY_GR~01.DOC". Other clients who do support LFNs can still access the file by its full name.
3) As you can read on this webpage, SMB is the language that each of the products speak, but some support more "dialects" than others. Windows 95 and NT both come with a new dialect (yet another one..) which the LAN Manager Client doesn't speak. That should not be a problem because it has older dialects in common with Windows 95 and NT. However, Microsoft in its infinite wisdom decided for Windows 95 to not support the most advanced of those older dialects, called "LANMAN2". (NT does have this dialect because with NT Microsoft aims to replace older LAN Manager and LAN Server machines, which are often used for OS/2 clients). This means, for example, that if a Warp 4 machine sets up a connection to a Windows 95 machine, it won't be able to see the long filenames on that machine. While Windows 95 can see the long filenames on a Warp 4 or Connect machine. The result? Warp looks bad and gets blamed, while in reality Windows 95 is the culprit!
Back to topThere is a HOSTS file in C:\LANMAN\ETC\HOSTS. A HOSTS file is a simple set of lines. Each line contains a numerical IP address for a host and a alphanumerical hostname under which this host is known to your PC. There is also a file called LMHOSTS in the same directory. This file contains the mappings of IP addresses to computer (NetBIOS) names.
You need to add an entry for other machines to the HOSTS file if you want to bypass the DNS. For instance, if you don't have a DNS because you're on a simple network at home. The same goes up for the LMHOSTS if there is no big time server on the network.
Please note: the last line of the HOSTS and LMHOSTS files need to end with a Carriage Return/Line Feed, otherwise that line will not be recognized. And that can lead to strange errors which are difficult to trace.
The real trick and question come about when you decide whether you are going to use IBM's LAPS to support your network adapter, or use Microsoft's NDIS management. Albert Crosby has been using Microsoft's, but you can load LanMan on top of LAPS if you prefer (he has't done this).
To do this, I've used the following steps:
Add this to LANMAN\PROTOCOL.INI:
[TCPIP_XIF]
DriverName = TCPIP$
Bindings = "your_nic_binding_string_here"
Add this to CONFIG.SYS, following your NDIS driver in the LANMAN section:
DEVICE=x:\TCPIP\BIN\INET.SYS
DEVICE=x:\TCPIP\BIN\IFNDIS.SYS
Uncomment the run statements for TCP/IP in CONFIG.SYS
The easiest solution would be to buy Warp 4. However, if you don't want to spend money you could install the Microsoft OS/2 LAN Manager Client and FreeTCP. FreeTCP makes it possible to use the Internet Access Kit included in Warp's Bonuspak with a network card, and not just a modem. It is actually a subset of LanMan. I used it to 'bind' the TCP/IP stack included with Warp to the Ethernet card.
A while back, I mentioned LanMan's features. Two of these are a bit of a problem:
However, it is not possible to run "NetBIOS over TCP/IP" if you use FreeTCP and LanMan concurrently. If you want to run "NetBIOS over TCP/IP" with LanMan, there's no other choice than to use LanMan's TCP/IP implementation. And that means no support for OS/2 TCP/IP applications. You can have both if you get Warp 4.
LanMan is only a client, but if you want others to connect to your machine you might want to consider Samba, a freeware server (http://www.samba.org). It has been ported from Unix to OS/2: Samba/2. It supports only "NetBIOS over TCP/IP" and not "NetBIOS over NetBEUI". LAN Manager's TCP/IP stack is also not supported. So you need FreeTCP (or IBM TCP/IP 2.0) in order to run Samba. With Samba, FreeTCP and LanMan, you can get TCP/IP and NetBIOS running. The NetBIOS client is "NetBIOS over NetBEUI", and the NetBIOS server is "NetBIOS over TCP/IP". That means for example that if you want to share drives/printers with a Windows 95 user on both sides that user will have to install both NetBIOS and TCP/IP support. Should not be too much of a problem. So far, Samba for OS/2 is a bit experimental. It works, but it has not been tested very extensively and you have to edit an ASCII configuration file. It's not as user friendly as Warp 4.
I agree with you that all this looks very complicated. It's fun to get it all working if you're interested in networking. If not, and you've got the cash, you could just as well save yourself the trouble and buy Warp 4.
Here's a quick summary on LanMan, if you use it with one of the two possible TCP/IP implementations ('stacks'):
| run NetBIOS | run NetBIOS over TCP/IP; | run OS/2 TCP/IP apps;Back to top
Which TCP/IP | over NetBEUI | connect to Unix/OS2 | run OS/2 Samba server
stack | | Samba server |
-------------+--------------+--------------------------+----------------------
IAK's | yes | no | yes
-------------+--------------+--------------------------+----------------------
LANMan's | yes | yes | no
In short, here's what you'll have to do:
...as you normally would do and get it to work. See the normal installation instructions (" Installation of the LAN Manager Client"). Choose NetBEUI support. DO NOT install LanMan's TCP/IP support. That's because we are going to use the IAK's TCP/IP support.
First download the FreeTCP zip file, for instance from: http://huizen.dds.nl/~jacco2/freetcp.zip or
ftp://ftp.cdrom.com/pub/os2/tcpip/freetcp.zip
or . Extract the contents of this file to, let's say, C:\FREETCP.
The reason I want you to download FreeTCP is that you (may) need the
documentation (FREETCP.HTM) and command scripts such as LANSTART.CMD
and CREATE.CMD. Then get http://huizen.dds.nl/~jacco2/lanman.zip
and unzip it somewhere too. Next, get the latest CSD for IBM's TCP/IP
stack, ftp://ftp.software.ibm.com/pub/ps/products/tcpip/fixes/v2.0os2/lateststack/stack.exe.
See the FreeTCP documentation ('Legal
matters') why this file is controversial. Extract the contents of
this file to C:\FREETCP\BIN, by executing the file directly
or by using Info-Zip: UNZIP STACK.EXE.
You have to add a section for the IAK's TCP/IP stack to your C:\LANMAN\PROTOCOL.INI. It should look like this:
[TCPIP_XIF]...but use the section name of your network card on the BINDINGS line. In the example above I used a Etherlink III. Just copy the BINDINGS line from the [NETBEUI_XIF] section over the one in the [TCPIP_XIF] section. The PROTOCOL.INI should look similar to the Etherlink III example (CFG\PROTOCOL.1) I included.
DRIVERNAME = TCPIP$
BINDINGS = "ELNK3_NIF"
Examine the example CFG\CONFIG.1 I included. Copy lines to your CONFIG.SYS where needed. First, add the FreeTCP binaries path to PATH and DPATH, before the rest. You installed LanMan previously, so there should be LanMan lines in your CONFIG.SYS. You can leave them as they are, with one exception: the line IFS=C:\LANMAN\NETPROG\NETWKSTA.SYS /i:C:\LANMAN must be loaded AFTER all the other network lines. So move it from the LanMan section to the last line and make sure it remains on the last line. Now add the INET.SYS and IFNDIS.SYS lines and the other lines in the example, if there aren't there already. For an explanation of these lines, see the FreeTCP documentation. A difference with FreeTCP is that you don't need a RUN=C:\FREETCP\BIN\NETBIND.EXE line because the NETWKSTA.SYS line already 'binds' the drivers for you. That's why you must put it on the last line.
Follow the normal FreeTCP installation instructions for these steps (http://huizen.dds.nl/~jacco2/freetcp.html#lanstart).
One fine tip: you'll find that both LanMan and FreeTCP have a PING.EXE. I renamed C:\LANMAN\NETPROG\PING.EXE to C:\LANMAN\NETPROG\PING2.EXE in order to avoid a name clash.
Microsoft has confirmed this to be a problem in LAN Manager NE2000 driverIf you have an Etherlink III, or another network card with very little onboard memory, please read the READ.ME included with the TCP/IP CSD (the one called STACK.EXE).
MS2000.OS2. We are researching this problem and will post new information
here in the Microsoft Knowledge Base as it becomes available.
Currently the only workaround is to change network interface cards or
use OS/2 2.0.
No WINSOCK.DLL was supplied with LanMan, so LanMan's TCP/IP stack does not support WinSock programs. Nor DOS TCP/IP programs. If you want DOS and Windows TCP/IP support, you need to use the TCP/IP stack supplied with Warp (FreeTCP, Warp Connect etc).
This document is to a large extend based on Albert Crosby's Mini-FAQ about OS/2 and "Windows Networking". It was previously located on the Walnut Creek FTP server but I can't find it anymore. Anyway, I saved a copy here.
Microsoft LAN Manager 2.2c Client for OS/2:Back to top
ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/
Instructions for installing LanMan:
http://huizen.dds.nl/~jacco2/lanman.html
An old Netbind.exe from Microsoft/3Com:
It seems to do the trick though. This one was on Hobbes
but apparently some old stuff has been cleaned up. You can
still find it with Archie on some other sites.
ftp://infoserv.cc.uni-augsburg.de/pub/pc/dos/tcpip/driver/zip/ndis.zip
ftp://ftp.ucs.ubc.ca/pub/old/os2/shadow/all/network/ndis/temp/ndis.zip
Back to "Using Samba with DOS or OS/2"