I had a similar problem and after a lot of headache and a lot of
detective work I got it working.
Symptoms:
==========
After startup, the AT tries to connect to the share, appears to
freeze and times out after about 5 minutes. The history page
shows "Error accessing share".
Resolution:
============
This worked for me! It might not be the problem in your case!
1. Logon the XP computer (as an administrator)
2. Click on Start -> Control Panel -> Network Connections (this opens
the window with the network connections - where IP addresses are set
etc.)
3. For EACH LAN adapter that DOES NOT CONNECT with the AT (here I
mean, each adapter that is on different IP net than the AT) ....
4. Right-click on the adapter and select Properties.
5. On the General tab, select the TCP/IP protocol (in the list) and
click on the Properties button.
6. On the "Internet Protocol (TCP/IP) Properties" window, click the
Advanced button.
7. Turn to the WINS tab page and click on the "Disable NetBIOS over
TCP/IP" radio button (at the bottom of the page).
8. Click OK to close the 3 property windows you've opened so far.
Repeat step 3 to 8 for all other adapters, except the one that
connects directly to the AT.
9. Restart the AT and cross your fingers. Good luck!
More Info:
===========
Here's what I did to diagnose the problem. This might help diagnose
similar problems in the future. I did a lot of unsuccessful guessing,
which was waste of time. Next, I decided it was time for network
sniffing. This solved the problem.
1. Connect the AT to a network hub (not a switch!!!). Those old
things might be difficult to find, but that's the only way to go.
2. Connect the hub to the rest of the network.
3. Connect a 3rd PC (let's call it the NetMon PC) to the hub.
4. Install Microsoft Network Monitor 3 (NetMon for short) on the PC.
http://www.microsoft.com/downloads/details.aspx?FamilyID=aa8be06d-
4a6a-4b69-b861-2043b665cb53&DisplayLang=en
5. Start NetMon and create a new capture (called a capture tab).
6. Ensure that "Enable Local Only" in the Capture menu is disabled
and start the capture.
7. Turn on the AT and let it start and try to connect to the shares.
8. Stop the NetMon capture and optionally, apply a filter so only
traffic to/from the AT is visible.
9. Analyze the captured data.
Here's what I've got (yahoo might wrap the lines making it
unreadable):
1 32.768525 {NbtNs:14, UDP:13, IPv4:12} 10.0.0.140
255.255.255.255 NbtNs NbtNs: Query Request for *
2 32.796615 {DNS:17, UDP:16, IPv4:15} 10.0.0.140
10.0.0.1 DNS DNS: QueryId = 0x2, QUERY (Standard
query), Query for europe.pool.ntp.org of type Host Addr on class
Internet
3 32.803637 {DNS:17, UDP:16, IPv4:15} 10.0.0.1
10.0.0.140 DNS DNS: QueryId = 0x2, QUERY (Standard
query), Response - Success
4 32.813669 {UDP:19, IPv4:18} 10.0.0.140
europe.pool.ntp.org NTP NTP: NTPv3 Request, Leap = 0,
Mode = 3
5 32.921011 {UDP:19, IPv4:18} europe.pool.ntp.org
10.0.0.140 NTP NTP: NTPv3 Response, Leap = 0, Mode =
4
6 32.967159 {NbtNs:22, UDP:21, IPv4:20} 10.0.0.140
10.0.0.255 NbtNs NbtNs: Registration Request for ATRON
7 33.250061 {NbtNs:22, UDP:21, IPv4:20} 10.0.0.140
10.0.0.255 NbtNs NbtNs: Registration Request for ATRON
8 33.550018 {NbtNs:22, UDP:21, IPv4:20} 10.0.0.140
10.0.0.255 NbtNs NbtNs: Registration Request for ATRON
9 33.900135 {NbtNs:22, UDP:21, IPv4:20} 10.0.0.140
10.0.0.255 NbtNs NbtNs: Registration Request for ATRON
10 33.908160 {NbtNs:23, UDP:26, IPv4:25} 10.0.0.140
10.0.0.255 NbtNs NbtNs: Query Request for HOMESERV
11 33.911170 {NbtNs:23, UDP:26, IPv4:25} 10.0.0.90
10.0.0.140 NbtNs NbtNs: Query Response, Sucess for
HOMESERV , 192.168.235.1, 192.168.193.1, 10.0.0.90
12 39.149880 {TCP:28, IPv4:27} 10.0.0.140
192.168.235.1 TCP TCP: Flags=.S......, SrcPort=1028,
DstPort=NETBIOS Session Service(139), Len=0, Seq=10300, Ack=0,
Win=8192 (scale factor 0) = 8192
13 49.051464 {TCP:28, IPv4:27} 10.0.0.140
192.168.235.1 TCP TCP: Flags=.S......, SrcPort=1028,
DstPort=NETBIOS Session Service(139), Len=0, Seq=10300, Ack=0,
Win=8192 (scale factor 0) = 8192
14 69.153586 {TCP:28, IPv4:27} 10.0.0.140
192.168.235.1 TCP TCP: Flags=.S......, SrcPort=1028,
DstPort=NETBIOS Session Service(139), Len=0, Seq=10300, Ack=0,
Win=8192 (scale factor 0) = 8192
15 109.410999 {TCP:28, IPv4:27} 10.0.0.140
192.168.235.1 TCP TCP: Flags=.S......, SrcPort=1028,
DstPort=NETBIOS Session Service(139), Len=0, Seq=85500, Ack=0,
Win=8192 (scale factor 0) = 8192
16 114.460104 {TCP:28, IPv4:27} 10.0.0.140
192.168.235.1 TCP TCP: Flags=.S......, SrcPort=1028,
DstPort=NETBIOS Session Service(139), Len=0, Seq=85500, Ack=0,
Win=8192 (scale factor 0) = 8192
Analysis of the capture:
============================
My AT has the IP address 10.0.0.140 (static). The host it should
connect to HOMESERV has the IP 10.0.0.90. The capture frames (each
line) has numbers from 1 to 16. Second column shows a timestamp
(elapsed since the capture started).
1. Everything looks good to start with. The AT broadcasts to the rest
of the world, then it DNS queries for europe.pool.ntp.org and uses
NTP to set the clock. This happens in frame 1 to 5 about 32 seconds
after tracing started.
2. The AT registers itself with NETBIOS (it's called ATRON). This
happens in frame 6 to 9 about 32 to 33 seconds after tracing started.
3. The AT broadcasts a NETBIOS query to find the address of HOMESERV
(where the share is located). This is frame 10 at 33 seconds.
4. HOMESERV responds to the AT with: "NbtNs: Query Response, Success
for HOMESERV , 192.168.235.1, 192.168.193.1, 10.0.0.90". This is
where the problems start. HOMESERV has multiple network interfaces
and multiple IP addresses (192.168.235.1, 192.168.193.1, 10.0.0.90).
The one the AT should talk to is 10.0.0.90, since the AT has
10.0.0.140. This is frame 11 at 33 seconds.
5. This is where the real problem is! The AT decides to contact
HOMESERV, but chooses the first IP address from the list, in my case
192.168.235.1. This of course is not accessible from the AT's IP
network, so it times out. The AT tries again several times and
finally gives up. This is visible in frames 12 to 16, starting at 33
seconds and finally at 114 seconds.
I am not sure if the issue is that the AT chooses the first IP
address from the list or whether XP should return only one address in
the list. Anyway, my life is too short, so I implemented the solution
shown above. In this way, only one of my network adapters is
advertised to NETBIOS. This can be checked with the "NBTSTAT -n"
command on the host. The AT is the only computer that uses NETBIOS.
All other clients can connect directly on the IP address or use DNS
resolution. BTW, the AT also tries to do a DNS lookup on the
hostname, in my case HOMESERV, but this is not registered in the DNS.
It might be possible to do something
like "\\hostname.domain.com\SHARE" and have the AT query it in the
DNS, but I am not sure if it first has to timeout on NETBIOS before
it uses DNS.
I home this helps :-)