Monday, January 17, 2011

Windows 7, Vista, and XP: Networking Four Computers

I had installed Windows 7 on two computers.  Here, I'll call them computer A and computer B.  Both were connected in a basic wired network by ethernet cable to a router.  The router I was using was a Belkin Connect N150, model no. F7D5301.  I did not then know of the possibility of turning my computer into a WiFi hotspot, but I probably would have gone with the purchase of a router even if I had known of it.

I wanted to make the computers visible to, and able to share files with, one another.  I also had a laptop running Vista and an old Windows XP desktop.  This post describes the steps I took on the software side, after sorting out prior hardware issues.

I started with just computers A and B connected to the router.  I ran a search, but it seemed like most of the webpages that were coming up had to do with troubleshooting.  I wasn't smart enough to get into trouble yet.  But then, as I started looking at some of those sites, I wondered whether possibly the computers were already visible to one another, merely by being connected to the router and not complaining about any IP address conflicts or anything like that.  In Windows Explorer on computer A, I clicked on Network.  I got an error up by the menu bar:

Network discovery and file sharing are turned off.  Network computers and devices are not visible.  Click to change.
So I clicked and selected "Turn on network discovery and file sharing" and chose only the home network (not public) option.  Within about 30 seconds, Windows Explorer on computer A was showing both computers.  Well, that was easy.  So now I ran the router's setup software on the Vista laptop and on the WinXP machine, and then plugged them into the router.  I changed the WinXP machine's name and rebooted it.

Changing that name left an outdated entry for the WinXP machine's previous name in the displays on several computers.  On the WinXP machine, it produced an error message:  "[Oldname] is not accessible.  You might not have permission to use this network resources."  The outdated entry wouldn't go away when I refreshed (F5) the view.  Note that I was still down in the Network section of the Windows Explorer folders pane.  I was not using the Homegroup option up topside.

At this point, a search led to the advice to go into my router's firmware, via its built-in webpage, and look for a way to configure its list of devices.  Apparently that's where the old name was being stored.  Finding that place in my router required me to go into its installed software.  Doing that required me to reinsert the Belkin CD and try to run the router utility from there, because the link that its installation had added on my Start Menu wasn't working.  It looked like the CD was apparently only for simple installation purposes, either reinstall the software or quit.  Eventually I figured out that Belkin expected me to have auto-play running on my CD drive, else it would not show me the option of going into its advanced features option.  So I went into Control Panel > Autoplay.  But there, I saw that Autoplay was already on by default for all devices.  I had only noticed the advanced features option by accident -- I left the CD in the drive when I rebooted the machine after an update of some other software.  Taking another approach, I downloaded an upgrade of the router's software, installed that, and used its Advanced Settings option to get into the router.  Once there, though, I did not see any entry for the old computer.  By this time, though, a couple of hours had passed -- I had been working on something else -- so maybe the router refreshed itself.  Hitting F5 to refresh the Network entries in Windows Explorer showed that they, too, had forgotten that old machine by now.

At this point, the two computers (A and B) running Win7 were showing Network entries for all four computers, plus administrators on computers A and B, plus the router.  The Vista laptop and the WinXP machine were seeing the Win7 computers, but not each other.  Oddly, the router's DHCP client list was showing the names of three computers, but not the Vista laptop.  The Win7 computers were able to go online; the others were not, even after a reboot.  So far, networking in Win7 was looking a lot easier than it had been in Vista or XP.  I wasn't interested in investing a lot of time in this, and I had been thinking of dismantling the XP machine, so probably that would be the solution to part of this networking problem.

To summarize, networking in Windows 7 appeared to be a matter of plugging computers into a router, maybe fiddling with the router's settings or upgrading its software (neither necessary in this case), and turning on network file sharing when that option came up.  Networking problems with Vista were still an unknown.  I had previously been able to just plug the laptop into the router and go online, and had not tried to share files among other computers.  But then I noticed that someone (I) had set the TCP/IPv4 settings on the laptop to something other than automatic.  That took care of it.  The Vista laptop saw everything.  Its eyes were opened.  That solved the problem for the WinXP machine too.

The remaining question:  was I actually able to do anything among these computers?  On computer A, I double-clicked on the icon for computer B.  It said,
\\Computer B is not accessible.  You might not have permission to use this network resource.
I searched on that and, as recommended, went into Control Panel > Network > Change advanced sharing settings > Home or Work (in the Win7 computers).  There, I made sure everything was on except password-protected sharing.  The only change I actually made was to turn off the requirement for a password.  And that did it.  Computer A was now able to see the contents of computer B.  A similar change on the Vista laptop had the same effect.

Now I could see "Users" or "Users Share" folders.  How to get full access to one computer's contents from another?  The first step seemed to be to right-click on a drive or folder, in Windows Explorer, and choose Share with > Advanced sharing > Sharing tab > Advanced sharing > Share this folder.  I did that with one drive on computer A.  I tried to view it on computer B, but I got an error:
Windows cannot access \\ComputerA\SharedFolder
You do not have permission to access file://computera/SharedFolder.  Contact your network administrator to request access.
For more information about permissions, see Windows Help and Support
I clicked on the Help and Support link.  It said this could be because
You haven't created or joined a homegroup
You're not using a homegroup, and the folder or printer you're trying to access has not been shared
Network discovery is turned off
Password-protected sharing is enabled
The computers aren't in the same workgroup
Your computer doesn't have the latest updates for your router
Of these, it was true that I hadn't joined a homegroup; I wanted to see about doing it without, primarily because I had seen a few notes of people having complaints about homegroups.  The folder had been shared.  I had turned on Network Discovery and password-protected sharing.  I had now installed the latest downloads from Belkin for the router.  I tried to access \\ComputerA\SharedFolder from the laptop.  Same error message -- except that, instead of pointing me toward Windows Help and Support, it said this:
No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept.
That sounded like old-school networking voodoo.  I didn't want to go there.  I just wanted the computers to link up.  I decided to try the homegroup option, since that seemed to be the only option that might help.  I reasoned that Microsoft had probably created the homegroup thing because the non-homegroup approach to networking was such a cluster.  Ah, but then I discovered a possible reason for that last sentence in the Vista error message.  I had set the Advanced Sharing properties > "Limit the number of simultaneous users" option to 2.  I thought that was probably all I would need.  I tried setting it to 20, where it was before.  While I was there, I clicked on the Permissions button and gave Full Control to Everyone.  I closed out of there and took another look in these other computers.  Now I got more error messages.  On computer B, the attempt to look at \\ComputerA\SharedFolder gave the same error as before.  But on the Vista laptop, it produced this error:
Windows cannot access \\ComputerA\SharedFolder
Check the spelling of the name.  Otherwise, there might be a problem with your network.  To try to identify and resolve network problems, click Diagnose.
I did that.  It came back with this:
\\ComputerA\SharedFolder is available but the user account that you are logged on with was denied access.
Well, it was true -- as I discovered, back in the Advanced Sharing properties dialog -- that if I clicked the Caching button, I got a new option that said this:
All files and programs that users open from the shared folder aer automatically available offline
But I decided that meant that files from computer A would be copied to computer B and stored there somewhere, if I looked at them on computer B.  I didn't want that.  I had enough clutter already.  I set the caching to "No files or programs from the shared folder are available offline."  I tried the reciprocal step of setting up a partition on computer B, to see if it would be available on computer A or on the laptop.  No joy.

I came across a webpage that made me think perhaps I hadn't explored the requirement (above) of making sure the computers were all on the same workgroup.  In Control Panel > System > Computer Name on the XP machine, it was just WORKGROUP.  Same thing on the laptop and the Win7 computers.  So that wasn't the explanation.

So, OK, maybe it was time to try homegroups.  On computer A, in Windows Explorer, I went to the Homegroup link at the top of the folders pane.  That opened up an option to join the homegroup that Windows detected already existing.  I did that.  It told me I needed to get the password from Ray on computer B.  That was odd, because I was Ray, and I didn't have any such password.  I also didn't want the homegroup to have a password.  It was just me here.

Upon seeing a page that showed something different from what I was seeing, I decided to back up here.  Before going on to the homegroup option, I noticed that, when I right-clicked on the drive I wanted to share and selected "Share with," I wasn't seeing a list of groups or people.  But, ah, when I clicked on a folder instead of a drive, I did.  Hmm.  But surely it was possible to make a drive visible to other computers?

I did a search and found a thread where people were having exactly the problems I've described here.  At this point, the last post in that thread suggested starting with Start > Run (or just type) fsmgmt.msc.  I did that, on computer A.  I went into Shares and double-clicked the drive I was trying to share.  This gave me pretty much the same stuff as before, except in its Security tab.  There, I selected Users > Edit > Full Control > Apply.  I clicked back and forth a couple of times to make sure it took.  The first time, it didn't.  I okayed out and tried again to access this drive from computer B.  No luck.  But now I wondered what kind of user this was, this person on another computer.  The answer seemed to be that it was an Everyone.  In other words, the groups or users presently listed in that Security tab were Authenticated Users, SYSTEM, Administrators, and Users; and since those all had full permissions and the person (me) trying to access computer A from computer B *still* couldn't get on, apparently I had to be in the Everyone class.  So, as advised, I clicked Edit to add Everyone, and then gave Full Control to Everyone > Apply > OK.  This would have been just as easy to do back in the drive > right-click > Share with > Advanced dialog, actually.  Now that Everyone was allowed to see everything, surely someone on computer B would now be able to see the contents of the shared drive on computer A.  And it worked.  Woo-hoo!  So the missing part here was that I needed to add Everyone in that special place.

It was getting late, and I'd had too much fun for one evening, so I decided not to press the point and work through it with all of the machines.  I had faith that this was approximately the answer at least for letting other computers see what was on a Win7 machine, and that's all I really wanted to achieve here anyway, as I had nothing interesting on the laptop or the WinXP machine.  There were some other interesting networking possibilities I was eager to get on with, as described in some other posts on this blog that I wrote up about the same time as this one.