I'm stuck and need some advice.
Laptop is a ThinkPad which can connect wired or wirelessly. Objective
is to have local networking between the WinXP host operating system and
the eCS guest even when there is no connection to the internet or LAN.
Note that using shared folders on any Windows host is NOT a good idea
for an OS/2 guest. Sharing a folder via NetBIOS is much better.
Many OS/2 programs are dependent on extended attributes. Windows
versions from NT onwards have had full support for extended attributes
but carefully hide it. In particular, EAs are not available via shared
folders. On the other hand, they are available via network shares.
However there is a problem with "Microsoft Networking" in that it is
basically NetBIOS over TCP/IP so unless a valid TCP/IP connection is
established then no sharing is possible. So if the host and guest use
the physical network adaptor then it has to be initialised with a valid
IP address for anything to work. If there is no connection to another
computer then not only will the guest be unable to connect to the rest
of the world, it will not be able to see the local shares offered by the
host computer either.
There are three scenarios to be addressed:
1. Home. Physical connection to the LAN via an ethernet cable or by a
wireless connection. Internet connection via a router on the LAN. The
IP address block is known as is the address of the router and nameserver.
2. Away from home. Connection to some alien network, usually via
wireless but sometimes via ethernet cable. Client IP address, router and
nameserver addresses all supplied by DHCP.
3. Isolated. No network connection available at all.
VirtualPC 2004/2007 provides a mechanism for virtualizing the physical
LAN connection. According to the documentation, "Shared Networking
(NAT)" acts as a DHCP server providing addresses in the 192.168.131.xxx
bracket and acts as a bridge to whatever physical adapter is currently
active. That should take care of physical networking and allow
connection from the eCS guest to the internet and to other computers on
the home network.
Another connection type available is the "Microsoft loopback
connector"
which is a (pseudo) device one can install on Windows. Because this is
not a physical network adaptor, it promises to solve the problem of
network connectivity between the host and guest operating systems when
the primary adaptor (cable or wireless) is disconnected.
So the idea is to configure the eCS guest with two network adaptors.
The first adaptor will support TCP/IP and NetBIOS over TCP/IP and should
provide connectivity to the internet when available, and to the other
computers on the local network when at home. Linked to the physical
adaptor via the "Shared Networking (NAT)" protocol it will be
dependent
on a valid TCP/IP connection and therefore unavailable when the host
computer is not hooked up to anything.
The second adaptor will support plain NetBEUI or the usual combination
of TCP/IP and NetBIOS over TCP/IP. (NetBEUI is not officially supported
on Windows XP but it can be installed.) Because it is a device
implemented in software on the host computer, it does not require (and
cannot have) a physical connection to anything and can therefore exist
and function in isolation. It will be used to provide local file
sharing between the host and guest operating systems.
Grand concept. I just can't get it to work.
Step 1. Simple all-in-one networking.
=====================================
Host (WinXP) Guest (eCS 1.2)
------------ ---------------
Ethernet
Client for Microsoft Networks
Virtual Machine Network Services
TVT Packet Filter
Windows Networking client TCP/IP
File & Printer Sharing NetBIOS over TCP/IP
QoS Packet Scheduler
TCP/IP
I don't think the ThinkVantage Technologies packet filter or the Quality
of Service scheduler have any impact or are relevant to this issue but
I mention them for completeness.
Anyway, this setup works somewhat. The guest OS (eCS) can connect to
NetBIOS shares on the local network and to external internet sites with
no problems. The difficulty occurs with local shares, i.e. folders
shared by the local host OS (WinXP). Upon startup, the eCS guest can
connect to the local shares (although connecting to the very first one
takes a l-o-n-g time. After that things work smoothly for a while until
there is a bit of a gap in operations. After that any attempt to access
the local shares elicits a message suc as:
SYS0054: The network is busy or is out of resources. "D:\"
and the shares show up as "disconnected":
Status Local name Remote name
Disconnected D: \\TRITON\SHAREDDOCS
OK M: \\GALATEA\HDD_A
OK N: \\NEREID\STUFF
Disconnected O: \\TRITON\OS2
Disconnected U: \\TRITON\UX2
OK LPT1 \\NEREID\PRINTER
Accessing shares on other computers still works perfectly.
On a similarly configured Windows 2000 guest the disconnects show up also
Status Local Remote
------------------------------------------
Disconnected D: \\triton\SharedDocs
OK M: \\galatea\hdd_a
OK N: \\nereid\stuff
Disconnected O: \\triton\os2
Disconnected U: \\triton\ux2
OK LPT1 \\nereid\printer
(I deleted the last column to avoid line-wrap issues. It just said
"Microsoft Windows Networking" on each line.) The difference between
the eCS and the Win2K installation is that from the Win2K guest,
accessing the share re-establishes it.
The disconnection (which seems to occur after about five minutes of
inactivity) is an annoyance but it is not the main concern of this
treatise. It is described in case it is relevant.
Anyway, apart from the disconnection, this simple, all-in-one networking
scenario works but of course it suffers from the huge disadvantage
mentioned at the beginning and which prompted this whole exercise.
Because the network sharing between the guest and host operating systems
is piggy-backed onto the network adaptor used to connect the host to the
outside world, it cannot and does not work unless there is something for
the host to contact. In other words, when there is no external network
connection, the internal connection is broken also.
Step 2. Use agile networking
=============================
The next step was to switch to using the "Shared Networking (NAT)"
pseudo-adaptor.
That was pretty interesting. The DHCP server worked perfectly and
assigned IP address 192.168.131.65 to the eCS guest and 192.168.131.66
to the Windows 2000 guest. Connecting to NetBIOS shsres yielded
C:\>net use o: \\triton\os2
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use u: \\triton\ux2
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use d: \\triton\SharedDocs
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use n: \\nereid\stuff
The command completed successfully.
C:\>net use lpt1: \\nereid\printer
The command completed successfully.
C:\>net use m: \\galatea\hdd_a
The command completed successfully.
This means that the OS/2 NetBIOS LAN requestor could connect to the
remote shares provided by other computers on the local network but not
to the local shares provided by the host computer (triton). Exactly the
same result was observed for the Windows 2000 guest VM.
One implication of this is that it is safe to turn off File and Printer
Sharing on the physical adaptor(s) on the host machine unless resources
are being shared with other computers on the local area network. In my
case they are not; the host computer is a workstation, not a server.
Step 3. Install the Microsoft Loopback Adapter
===============================================
This is done via the hardware manager on the host (Windows XP) system.
I configured the adaptor to be a client for Microsoft networks (i.e.
NetBIOS over TCP/IP) and to act as a server (File and Printer Sharing.)
My physical LAN runs on addresses in the range 192.168.23.xxx. The
router is at 192.168.23.254 and computers on my LAN see it as default
router, DHCP server and name server. The "Shared Networking (NAT)"
connection between the host and VM guests is also a DHCP server to the
guests, providing addresses in the range 192.168.131.xxx. There is
obviously a route between the 131 and 23 subnets because the guests can
ping addresses on the 23 subnet and can see shares on all computers
except the host.
I configured the Windows 2000 and the eComStation virtual machines with
a second network adaptor. Of necessity these have to be on yet another
subnet. I used 192.168.123.xxx.
The Windows 2000 VM works perfectly. The network configuration shown by
"ipconfig" is this
Ethernet adapter Local Area Connection: [NAT psuedo-adaptor]
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.131.66
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.131.254
Ethernet adapter Local Area Connection 2: [Loopback pseudo-adaptor]
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.123.22
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.131.254
Ethernet adapter :
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 0.0.0.0
Subnet Mask . . . . . . . . . . . : 0.0.0.0
Default Gateway . . . . . . . . . :
I don't know what the third block represents. Note that for the
loopback adaptor I set the default gateway to be the same as for the
shared networking adaptor. I don't think that is necessary for Windows
2000 but it doesn't hurt.
I cannot ping any address except for the local machine (host) but I can
see and connect to all the shares, local and remote, and I can browse
the internet.
Now for eComStation the situation is not so sweet.
C:\>net use o: \\triton\os2
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use u: \\triton\ux2
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use d: \\triton\SharedDocs
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use n: \\nereid\stuff
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use lpt1: \\nereid\printer
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use m: \\galatea\hdd_a
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
And I can't browse the internet either.
I figured that I probably screwed something up with the TCP/IP
configuration. I expected all routing to be done via the address
provided by the DHCP server on the first adaptor and when that didn't
work I tried setting the route as for the Windows 2000 guest VM. That
didn't help either.
Finally I decided to junk the whole TCP/IP thing on the econd adaptor
and run a straight NetBIOS. After allNetBIOS.
On the Windows XP host I installed NetBEUI protocol. (On my Thinpad the
required files were in the \valueadd\msft\net\netbeui directory.) The
protocols for each adaptor were set as follows:
Wired Ethernet
+ Client for Microsoft Networks
+ Virtual Machine Network Services
+ TVT Packet Filter
- File and Printer Sharing
+ QoS Packet Scheduler
- NetBEUI protocol
+ Internet protocol (TCP/IP)
Wireless
+ Client for Microsoft Networks
+ Virtual Machine Network Services
+ TVT Packet Filter
- File and Printer Sharing
+ QoS Packet Scheduler
- NetBEUI protocol
+ AEGIS protocol (IEE 802.1x) v 3.2.0.3
+ WLAN Transport
+ Internet protocol (TCP/IP)
Loopback
- Client for Microsoft Networks
+ Virtual Machine Network Services
+ File and Printer Sharing
+ NetBEUI protocol
- Internet protocol (TCP/IP)
I configured the Windows 2000 and the eComStation virtual machines the
same way. The Win2K setup looks like this:
First adaptor
+ Client for Microsoft Networks
- File and Printer Sharing ...
+ Internet Protocol (TCP/IP)
- NetBEUI protocol
Second adaptor
+ Client for Microsoft Networks
- File and Printer Sharing ...
- Internet Protocol (TCP/IP)
+ NetBEUI protocol
Windows ipconfig shows
Windows 2000 IP Configuration
Ethernet adapter :
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 0.0.0.0
Subnet Mask . . . . . . . . . . . : 0.0.0.0
Default Gateway . . . . . . . . . :
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.131.66
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.131.254
On the eCS virtual machine, MPTS configuration was as follows
Intel 2104x/2114x 10/100 Mbps Ethernet Controller ...
0 - IBM OS/2 NETBIOS OVER TCP/IP
0 - IBM TCP/IP
Intel 2104x/2114x 10/100 Mbps Ethernet Controller ...
1 - IBM OS/2
Using the TCP/IP configuration tool I enabled just one interface and
told it to get its IP address from DHCP. I configured no routes or
nameservers. Running "ifconfig lan0" yields
c:\>ifconcfig lan0
lan0: flags=8843<UP,BROADCAST,RUNNING,MULTICAST,LOOPBRD>
inet 192.168.131.65 netmask 0xffffff00 broadcast 192.168.131.255
c:\mptn\etc\resolv2 contains
domain
nameserver 192.168.23.254
nameserver 68.237.161.12
nameserver 71.250.0.12
I can ping the host (WinXP) computer, other computers on the LAN and on
the internet so the TCP/IP setup seems pretty good.
IBMLAN.INI contains these two lines ...
net1 = TCPBEUI$,0,LM10,34,100,14
net2 = NETBEUI$,1,LM10,34,100,14
When I log onto the local network and try to establish connection to
local and LAN resources things are a bit better than with the NetBIOS
over TCP/IP protocol but not much.
C:\>logon os2guest /p:xxxxxxxx
The REQUESTER service is starting..............
The REQUESTER service was started successfully.
(C) Copyright IBM Corporation 1988, 1998. All rights reserved.
(C) Copyright Microsoft Corporation 1988, 1991. All rights reserved.
The command completed successfully.
C:\>net use o: \\triton\os2
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use u: \\triton\ux2
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use d: \\triton\SharedDocs
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use n: \\nereid\stuff
NET3502: OS/2 error 53 has occurred.
SYS0053: The network path was not found.
C:\>net use lpt1: \\nereid\printer
The command completed successfully.
C:\>net use m: \\galatea\hdd_a
The command completed successfully.
None of the local shares is visible, and connection to one of the three
LAN shares failed. (If I try a second time to connect to \\nereid\stuff
then it works but that trick fails with the local shares.)
On the Windows 2000 VM everything works perfectly.
Status Local Remote
------------------------------------------
OK D: \\triton\SharedDocs
OK M: \\galatea\hdd_a
OK N: \\nereid\stuff
OK O: \\triton\os2
OK U: \\triton\ux2
OK LPT1 \\nereid\printer
(I do see the disconnects after a few minutes but reconnection is
automatic when the share is accessed.)
So there is something wrong with the OS/2 setup but I cannot work out
|