OS2 World Community Forum
OS/2, eCS & ArcaOS - Technical => Networking => Topic started by: ppgrainbow on May 05, 2023, 03:56:58 am
-
I'm having problems trying to get OS/2 Warp 4 to communicate with other two other VMs on VirtualBox - Windows NT 4.0 and Windows 2000.
I got Windows NT 4.0 and Windows 2000 to communicate with each other by using two network adapters. The first one is set to NAT Network and the second one is Host-Only Network.
The static IP address assigned to Windows NT 4.0 is 192.168.2.4 (host-only: 192.168.129.4) and Windows 2000 is 192.168.2.5 (host-only: 192.168.129.5).
I have set the IP address for the OS/2 Warp 4 NAT Network IP to 192.168.2.45 and the Host-Only Network to 192.168.129.45 as shown in this screenshot, but when I try to access a Windows NT 4.0 or Windows 2000 VM from the Connections window, I get this error:
"Logon: One or more of your connections failed."
Here's what I have set up right now:
lan0: AMD PCnet FAST II (Am79C973) - NAT Network
lan1: AMD PCnet FAST II (Am79C973) - VirtualBox Host-Only Network
The tricky configuration is that Host-Only Networks have no default gateway and I have the preferred DNS server set at 192.168.129.2
How can I get OS/2 Warp 4 to communicate with the Windows NT 4.0 and Windows 2000 VirtualBox VMs with the Host-Only Network adapter? Would I need to check the setup.cmd file in \MPTN\ETC to see what could be amiss here?
Post your thoughts, I would like to hear it! :)
(By the way, I'm gonna continue installing updates one-by-one under Windows NT 4.0 as I had to reinstall the OS earlier this morning.)
-
Hi ppgrainbow
I seem to recall something about having to set Windows NT4/2000 networking to use a particular setting in order for OS/2 <-> Windows peer networking to work. I'm struggling to remember the exact setting ... something like Use LanMan with a value of 1... Sorry, must be around 20+ years ago.
Maybe that will jog someone elses memory and they will post the exact setting.
Regards
Pete
-
Hello there. :)
Getting two or more network adapters to work under OS/2 can be quite tricky. I'm gonna have to check to see what I missed up, because the VirtualBox Host-Only Ethernet Adapter on lan1 is only used to communicate between OS/2 Warp 4, Windows NT 4.0 and Windows 2000 VMs.
I'll probably need to find a way how I can get it to work.
-
Shouldn't it be enough to have all guests in the same NAT network (I understood that Warp 4, Win NT and Win 2000 are all guests under some host, Linux/Win10/Win11 whatever) ?
I understood that "Host only" is for direct communication between a guest and the host but not between guests.
-
It should be enough. Host-only is for direct communication between the host and guest. My host OS is Windows 10 22H2.
-
Your TCP/IP and adapters look fine. You only show an error restoring connections after logon, which is a PEER problem.
All you are showing is that a problem occurred.
-
So, if the issue is a Peer problem after login, then should I post the contents of the IBMLAN.INI file located in the \IBMLAN directory and the PROTOCOL.INI file in the \IBMCON directory file that causes OS/2 Peer to not work when it is connected to a Host-Only Network on lan1?
-
Yes, it is a good start to post them. Odds are that it is a problem with Windows wanting a newer peer protocol
-
Yes, it is a good start to post them. Odds are that it is a problem with Windows wanting a newer peer protocol
Okie dokie, here are the contents of the IBMLAN.INI file so far located in the E:\IBMLAN directory:
; OS/2 Peer initialization file
[networks]
net1 = tcpbeui$,0,LM10,34,100,14
net2 = tcpbeui$,1,LM10,34,100,14
; This information is read by the redirector at device initialization time.
[requester]
; The following parameters generally do not need to be
; changed by the user.
charcount = 16
chartime = 250
charwait = 3600
keepconn = 600
keepsearch = 600
maxcmds = 16
maxerrorlog = 100
maxthreads = 10
maxwrkcache = 64
numalerts = 12
numcharbuf = 10
numservices = 4
numworkbuf = 15
numdgrambuf = 14
othdomains =
printbuftime = 90
sesstimeout = 45
sizcharbuf = 512
sizerror = 1024
sizworkbuf = 4096
useallmem = no
; The wrkheuristics parameter sets a variety of requester fine-tuning
; options. Brief descriptions are provided here for each digit. More
; complete descriptions, along with explanations of relationships between
; digits can be found in the OS/2 Peer Technical Reference.
;
; When not otherwise specified, a value of 0 means off (inactive) and 1 means
; on (active).
;
; 0 opportunistic locking of files (default is 1)
; 1 performance optimization for batch (.CMD) files (default is 1)
; 2 asynchronous unlock and asynchronous write-unlock
; 0 = never 2 = only on a LAN Server virtual circuit
; 1 = always (default)
; 3 asynchronous close and asynchronous write-close
; 0 = never 2 = only on a LAN Server virtual circuit
; 1 = always (default)
; 4 buffer all named pipes and serial devices (default is 1)
; 5 combined read-lock and write-unlock
; 0 = never 2 = only on a LAN Server virtual circuit
; 1 = always (default)
; 6 open and read optimization (default is 1)
; 7 reserved
; 8 use of the chain-send NETBIOS NCB
; 0 = never
; 1 = when a server's buffer is larger than the workstations buffer
; 2 = always (default)
; 9 buffer small read and write requests until the buffer is full
; 0 = never 2 = only on a LAN Server virtual circuit
; 1 = always (default)
; 10 buffer mode
; 0 = always read buffer size amount of data if the request is smaller
; than the buffer size (sizworkbuf) and data is being read
; sequentially
; 1 = use full buffer if file is open for reading and writing
; 2 = use full buffer if reading and writing sequentially
; 3 = buffer all requests smaller than the buffer size (if hits occur)
; (default)
; 11 RAW read and RAW write SMB protocols (default is 1)
; 12 RAW read-ahead buffer (default is 1)
; 13 RAW write-behind buffer (default is 1)
; 14 read multiplexing SMB protocols (default is 1)
; 15 write multiplexing SMB protocols (default is 1)
; 16 use of big buffers for large core (non-RAW) reads (default is 1)
; 17 same-size read-ahead or read-to-sector boundary (default is 1)
; 18 same-size small record write-behind or write-to-sector boundary
; (default is 0)
; 19 reserved and must be 0
; 20 flush pipes and devices on a DosBufReset or DosClose operation
; 0 = Flush only files and devices opened by the caller. Spin until
; flushed. Wait for confirmation before processing with other
; tasks. (default)
; 1 = Flush only files and devices opened by the caller. Flush only
; once. Do not wait for confirmation.
; 2 = Flush all files and all input and output of short-term pipes
; and devices. Spin until flushed.
; 3 = Flush all files and all input and output of short-term pipes
; and devices. Flush only once.
; 4 = Flush all files and all input and output of all pipes and devices.
; Spin until flushed.
; 5 = Flush all files and all input and output of all pipes and devices.
; Flush only once.
; 21 LAN Server encryption of passwords (default is 1)
; 22 control log entries for multiple occurrences of an error
; 0 = log all occurrences (default)
; 1-9 = limit occurrences that are logged (1-9 define size of table
; that is used to track errors)
; 23 buffer all files opened with deny-write sharing mode (default is 1)
; 24 buffer all files opened with the read-only attribute set (default is 1)
; 25 read ahead when opening for execution (default is 1)
; 26 handle the interrupt (ctrl+c) key
; 0 = allow no interrupts
; 1 = allow interrupts only on long-term operations
; 2 = always allow interrupts (default)
; 27 force correct open mode when creating files on a core server (reserved
; for DBCS users) (default is 1)
; 28 NETBIOS NoAck mode
; 0 = NoAck is disabled.
; 1 = NoAck is set on send only. (default)
; 2 = NoAck is set on receive only.
; 3 = NoAck is set on send and receive.
; 29 send data along with SMB write-block RAW requests (default is 1)
; 30 send a message to the screen when the requester logs an error
; 0 = never
; 1 = on write-fault errors only (no time out) (default)
; 2 = on write-fault and internal errors only (no time out)
; 3 = on all errors (no time out)
; 4 = reserved
; 5 = on write-fault errors only (time out)
; 6 = on write-fault and internal errors only (time out)
; 7 = on all errors (time out)
; 8 = on all errors (time out) and pop up an error if a session
; to a server is abnormally disconnected
; 9 = on all errors (time out) and generate an INT24 (critical
; error) to applications running under DOS emulation if a
; network hard error is encountered
; 31 reserved
; 32 behavior of DosBufReset on a redirected file (not pipes or devices).
; When the call to the API returns, the data in the buffer has been
; handled as follows:
; 0 = Changed data in the buffer was sent from the requester to the
; server. The server has written the data to disk.
; 1 = Changed data in the buffer was sent from the requester to the
; server. The server has not yet written the data to disk.
; 2 = DosBufReset was ignored. (default)
; 33 time interval for performing logon validation from the domain
; controller
; 0 = 5 seconds 4 = 60 seconds 8 = 8 minutes
; 1 = 15 seconds (default) 5 = 90 seconds 9 = 15 minutes
; 2 = 30 seconds 6 = 2 minutes
; 3 = 45 seconds 7 = 4 minutes
; 34 date validation
; 0 = PCLP date format (default)
; 1 = MSNET date format
; 2 = assume date is correct
; 35 free disk space reported to DOS and Windows applications
; 0 = return true value (default)
; 1 = return a value less than two gigabytes
; 36 time and date synchronization with the domain controller at logon
; (default is 1)
; 37 type of verification for the LAN Server logon
; 0 = no verification
; 1 = verify against local NET.ACC (default)
; 2 = verify against domain NET.ACC
; 38 display warning messages for the LAN Server logon
; 0 = do not display warning messages
; 1 = display all warning messages (default)
; 2 = do not display LAN Server specific warning messages
; 3 = display all warning messages, including password expiration date
; 39 buffer all files opened in compatibility mode
; 0 = buffer only files opened for read access in compatibility mode
; 1 = buffer all files opened in compatibility mode (default)
; 40 allow a user to logon multiple times in the same domain (default is 1)
;
; The next lines help you to locate bits in the wrkheuristics entry.
; 1 2 3 4
; 012345678901234567890123456789012345678901
wrkheuristics = 111111112131110011000101112011122100111110
wrknets = NET1, NET2
wrkservices = MESSENGER,PEER
Computername = VBOXWARP4
Domain = VM
[messenger]
logfile = messages.log
sizmessbuf = 4096
[peer]
auditing = resource
; The following parameters generally do not need to be
; changed by the user. NOTE : srvnets= is represented in
; the server info struct as a 16-bit lan mask. Srvnet names
; are converted to indexes within [networks] for the named nets.
guestacct = guest
autodisconnect = -1
forwardauth = no
maxauditlog = 100
maxchdevjob = 6
maxchdevq = 2
maxchdevs = 2
maxconnections = 128
maxlocks = 64
maxopens = 160
maxsearches = 150
maxsessopens = 120
maxsessreqs = 25
maxsessvcs = 1
maxshares = 64
maxusers = 32
numbigbuf = 6
numfiletasks = 1
numreqbuf = 48
sizreqbuf = 4096
srvanndelta = 3000
srvannounce = 180
srvhidden = no
; The srvheuristics parameter sets a variety of server fine-tuning
; options. Brief descriptions are provided here for each digit. More
; complete descriptions, along with explanations of relationships between
; digits can be found in the OS/2 Peer Technical Reference.
;
; When not otherwise specified, a value of 0 means off (inactive) and 1 means
; on (active).
;
; 0 opportunistic locking of files (default is 1)
; 1 read-ahead when the requester is performing sequential access
; 0 = do not use read-ahead
; 1 = use single read-ahead thread (default)
; 2 = use asynchronous read-ahead thread
; 2 write-behind (default is 1)
; 3 use of the chain-send NETBIOS NCB (default is 1)
; 4 check all incoming SMBs for correct format (default is 0)
; 5 support FCB opens (default is 1)
; 6 set priority of server (default is 4)
; 0-9 = 0 is highest priority, 9 is lowest priority
; 7 automatically allocate additional memory for directory searches
; (default is 1)
; 8 write records to the audit log only when the scavenger wakes up
; (default is 1)
; 9 do full buffering when a file is opened with deny-write sharing mode
; (default is 1)
; 10 set the interval for the scavenger to wake up
; 0 = 5 seconds 4 = 25 seconds 8 = 45 seconds
; 1 = 10 seconds (default) 5 = 30 seconds 9 = 50 seconds
; 2 = 15 seconds 6 = 35 seconds
; 3 = 20 seconds 7 = 40 seconds
; 11 allow compatibility-mode opens of certain types of files by translating
; them to sharing mode opens with deny-none
; 0 = Always use compatibility-mode opens.
; 1 = Use deny-none sharing mode if read-only access to .EXE or .COM
; files.
; 2 = Use deny-none sharing mode if read-only access to .EXE or .COM
; files. Use deny-write sharing mode if read-only access to .BAT
; files is requested.
; 3 = Use deny-none sharing mode on all compatibility-mode opens.
; (default)
; 12 allow DOS LAN Services workstations to use a second NETBIOS session when
; sending printer requests (default is 1)
; 13 number of 64KB buffers used for read-ahead
; 0-9 = number of buffers (default is 1)
; 14 convert incoming path specifications into most basic format (default is 0)
; 15 Oplock Timeout and NETBIOS Acknowledgment Timeout (default is 0)
; 0 = 35 second Oplock Timeout; 34 second NETBIOS Acknowledgment Timeout
; 1 = 70 second Oplock Timeout; 69 second NETBIOS Acknowledgment Timeout
; 2 = 140 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
; 3 = 210 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
; 4 = 280 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
; 5 = 350 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
; 6 = 420 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
; 7 = 490 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
; 8 = 560 second Oplock Timeout; 127 second NETBIOS Acknowledgment Timeout
; 9 = 640 second Oplock Timeout; no NETBIOS Acknowledgment Timeout
; 16 validate IOCTLs (default is 1)
; 17 how long the server maintains unused, dynamic big buffers before freeing
; the memory.
; 0 = 0 seconds 4 = 5 minutes 8 = 1 hour
; 1 = 1 second 5 = 10 minutes 9 = indefinitely
; 2 = 10 seconds 6 = 20 minutes
; 3 = 1 minute (default) 7 = 40 minutes
; 18 how long the server waits after failing to allocate a big buffer before
; trying again.
; 0 = 0 seconds 3 = 1 minute (default)
; 1 = 1 second 4 = 5 minutes
; 2 = 10 seconds 5 = 10 minutes
; 19 RAW read and RAW write SMB protocols (default is 1)
; 20 server responds to announcement requests (default is 1)
;
; The next lines help you to locate bits in the srvheuristics entry.
; 1 2
; 012345678901234567890
srvheuristics = 111101411113110013311
SRVSERVICES =
srvnets = NET1, NET2
SRVCOMMENT =
[replicator]
replicate = IMPORT
importpath = E:\ibmlan\repl\import
tryuser = yes
password =
[services]
; Correlates name of service to pathname of service program.
; The pathname must be either
; 1) an absolute path (including the drive specification)
; OR
; 2) a path relative to the IBMLAN root
messenger = services\msrvinit.exe
peer = services\peerinit.exe
replicator = services\replicat.exe
requester = services\wksta.exe
And here are the contents of the PROTOCOL.INI file located in E:\IBMCOM directory:
[PROT_MAN]
DRIVERNAME = PROTMAN$
[IBMLXCFG]
vproto_nif = vproto.nif
vproto2_nif = vproto2.nif
tcpbeui_nif = tcpbeui.nif
tcpip_nif = tcpip.nif
PCNTND_nif = PCNTND.NIF
VSWITCH_nif = vswitch.nif
PCNTND_nif2 = pcntnd.nif
VSWITCH2_nif = vswitch2.nif
[NETBIOS]
DriverName = netbios$
ADAPTER0 = tcpbeui$,0
ADAPTER1 = tcpbeui$,1
[vproto_nif]
DriverName = PSWCH00$
Bindings = PCNTND_nif
[vproto2_nif]
DriverName = PSWCH01$
Bindings = ,PCNTND_nif2
[tcpbeui_nif]
DriverName = tcpbeui$
Bindings = VSWITCH2_nif,VSWITCH_nif
NODETYPE = "B-Node"
OS2TRACEMASK = 0x0
SESSIONS = 130
NCBS = 225
NAMES = 21
SELECTORS = 15
USEMAXDATAGRAM = "NO"
NETBIOSTIMEOUT = 500
NETBIOSRETRIES = 2
NAMECACHE = 1000
PURGECACHE = 0
PRELOADCACHE = "NO"
NAMESFILE = 1
DATAGRAMPACKETS = 20
PACKETS = 50
ENABLEDNS = 0
INTERFACERATE = 300
[tcpip_nif]
DriverName = TCPIP$
Bindings = VSWITCH_nif,VSWITCH2_nif
IfType = 1,
[PCNTND_nif]
DriverName = PCNTND$
psfeature = "FALSE"
bustype = "PCI"
txbuffers = 16
rxbuffers = 8
LED1 = 0x00A0
led2 = 0x0090
[VSWITCH_nif]
DriverName = DSWCH00$
FEATURE = "NO"
ADAPTERNAME = "PCNET"
[PCNTND_nif2]
DriverName = PCNTND2$
psfeature = "FALSE"
bustype = "PCI"
txbuffers = 16
rxbuffers = 8
[VSWITCH2_nif]
DriverName = DSWCH01$
FEATURE = "NO"
The VSWITCHx is the protocol driver for Connectix Virtual PC, by the way.
I really love how copying and posting contents from the OS/2 Warp 4 guest to Windows 10 host works with the VirtualBox Guest Additions for OS/2! :D
I just did a recent backup of my hard disk images that contain the OS/2 Warp 4 installation just in case anything goes wrong. 8)
Update: I did manage to pull up the Windows NT 4.0 VM and for some odd reason, that OS can access the OS/2 drives over the network as mentioned in the screenshot below, but the OS/2 Warp 4 VM can't seem to access it the other way around. The computer name is VBOXWARP4.
So, it appears that something could be amiss with the settings in the IBMLAN.INI file.
-
Hi
This old post may be of help https://www.os2world.com/forum/index.php?topic=2339.0
Regards
Pete
-
Hi
This old post may be of help https://www.os2world.com/forum/index.php?topic=2339.0 (https://www.os2world.com/forum/index.php?topic=2339.0)
Regards
Pete
Thanks for the link, but I don't think that it covers more than one network adapter.
Somehow, something might be causing the OS/2 Peer to not function correctly when it is connected as the Host-Only Ethernet Adapter on lan1. NAT Networking on lan0 does work though.
-
Hi ppgrainbow
I seem to recall something about having to set Windows NT4/2000 networking to use a particular setting in order for OS/2 <-> Windows peer networking to work. I'm struggling to remember the exact setting ... something like Use LanMan with a value of 1... Sorry, must be around 20+ years ago.
Maybe that will jog someone elses memory and they will post the exact setting.
Do you mean "lanman auth=" and "NTLMv2 auth=" ?
(as mentioned in this post: https://www.os2world.com/forum/index.php/topic,1691.msg16524.html#msg16524)
-
Here's another old article that I found very useful way back in the day: https://ardent-tool.com/network/sea.html
One WAG: possibly the virtual networking is interfering with TCPBEUI broadcast mode? You might try the article's suggestion to configure Hybrid mode (section 3.1.1).
-
Hi Tom
Hi ppgrainbow
I seem to recall something about having to set Windows NT4/2000 networking to use a particular setting in order for OS/2 <-> Windows peer networking to work. I'm struggling to remember the exact setting ... something like Use LanMan with a value of 1... Sorry, must be around 20+ years ago.
Maybe that will jog someone elses memory and they will post the exact setting.
Do you mean "lanman auth=" and "NTLMv2 auth=" ?
(as mentioned in this post: https://www.os2world.com/forum/index.php/topic,1691.msg16524.html#msg16524)
Looks like what I was trying to remember.
Regards
Pete
-
Here's another old article that I found very useful way back in the day: https://ardent-tool.com/network/sea.html (https://ardent-tool.com/network/sea.html)
One WAG: possibly the virtual networking is interfering with TCPBEUI broadcast mode? You might try the article's suggestion to configure Hybrid mode (section 3.1.1).
I'll try the Hybrid mode configuration found in section 3.1.1 and I'll get back to you when I can. ^^
If it does work, I'll post a updated screenshot. :)