Showing posts with label switch. Show all posts
Showing posts with label switch. Show all posts

Saturday, January 15, 2011

Windows 7: IP Address Conflict: The Ol' Switcheroo

As described in a previous post, after approximately two centuries of trying to resolve an "IP address" conflict among the computers in my home network, traveling across thousands of miles of Internet highways in search of wisdom, I had happened to notice Event Viewer, and had started to use its error messages to figure out where the problem was.  Information from those messages led me to examine reports from my modem's internal webpage, among other things.  I had finally stumbled across what seemed like traces of a rational approach to troubleshooting network problems:  I would go into Control Panel > Administrative Tools > Event Viewer, would identify the error messages relevant to the network situation, and would try to figure out what they meant.  I was now engaged in that figuring-out process.

The concept seemed to be that my brand of DSL modem had just one DHCP address:  192.168.1.64.  Just one computer would get it.  There was, in theory, a process where the computer coming to the party last would get its turn at the modem.  That was not what was happening on my system, though.  I was seeing that computer B was hogging access to the modem.

Unlike most home networks, I was not using a router.  The reason was that my router had stopped working during these ethernet wars.  I don't know if my network screwed it up, or if it was just taking a break, or what.  I had debricked it, as described in another previous post, and had otherwise played around with, and had given up on it until its replacement arrived in the mail, a week or so hence.

What I was using, instead, was a Netgear FS605 v3 switch.  This was not a wireless device, which was fine; my home network was entirely wired.  I was not clear on the differences between routers and switches, within this context, and that was part of what I wanted to understand now.  But mostly I wondered why the switch was not arbitrating successfully among computers.  I had used this switch for substantial chunks of time, over the last couple of years.  It had not previously had a problem in letting multiple computers share a single incoming ethernet line, such as the single 192.168.1.64 line coming in from the DSL modem.  Was I remembering things wrong?  Or had it, too, somehow gotten fried by all the network action that had seemingly toasted my router?

To explore these mysteries, I ran a search.  This search led to a drawing of a system with a router and another drawing of a system with a switch.  Now I saw what I had been misunderstanding.  Basically, a router could serve as a gateway, while a switch could not.  From the perspective of a home user looking out upon the world, a switch had to be on this side of a gateway.  The gateway could be a computer or a router.  When I had previously used the switch to arbitrate among multiple computers, as I now recalled, I had done so in a university residence setting, where the university itself provided a gateway.  In other words, a switch could be within a network, but it could not mediate between, say, a home local-area network (LAN) and the Internet as a huge wide-area network (WAN).

But couldn't my combination modem/router provide that function?  I searched for insight.  One user reported connecting a cable modem (or combination modem/router) to a switch.  A webpage said, likewise, that a modem could be connected directly to a LAN switch.  Another search led to a discussion suggesting that the problem with a switch might be that the ISP (in my case, AT&T) would allow only one connection to the Internet at a time, whereas my switch was attempting two or more.  I wasn't sure I understood that.  But the matter seemed to be cleared up by a definitive statement:

Routers are also the only one of these three devices [i.e., routers, switches, hubs] that will allow you to share a single IP address among multiple network clients.
On this basis, it appeared that my network problems had been due to (a) a bad router and (b) my mistaken attempt to make a switch function as a router.  The question now was whether the router had been bad indeed.  My computers could still communicate with it, as discussed in previous posts, so the acid test would be to plug in the replacement and see what happened.

So I went out to Wal-Mart and got a Belkin Connect N150, model no. F7D5301 v. 1.  Their setup procedure didn't seem to work quite right, so I called their tech support at 877-736-5771.  Within ten minutes, I was up and running on both machines.  No connect issues.  Time to dump the old router.  I wasn't sure how to test the switch, to see if it was at all still good, so I just shelved it.

Windows 7: IP Address Conflict: Event Viewer

As described in a previous post, I was trying to resolve an "IP address conflict" error message that would pop up when I connected more than one computer to the NetGear FS605 switch on my home network.  The message, in Windows 7, read like this:

Network Error

Windows has detected an IP address conflict.

Another computer on this network has the same IP address as this computer.
I had worked through a number of possible solutions that did not work for me.  Then one source suggested going into Control Panel > Administrative Tools > Event Viewer.  I had to wait a minute while it read its various events.  In its Summary of Administrative Events, I saw some events whose Source was Dhcp-Client.  This Summary seemed to indicate that details were contained in the Microsoft-Windows-DHCP Client Events/Admin log.  In the Log Summary panel at the bottom of the screen, I looked for a log with that name.  I found one and double-clicked on it.  It opened up a list of 343 events.  I sorted these by Event ID.  Event ID 1001 provided this General error message:
Your computer was not assigned an address from the network (by the DHCP Server) for the Network Card with network address 0x1C6F6541080C. The following error occurred: 0x79. Your computer will continue to try and obtain an address on its own from the network address (DHCP) server.
Event ID 1002 (which, like others below, occurred multiple times) provided this message on its General tab:
The IP address lease 192.168.1.64 for the Network Card with network address 0x1C6F6541080C has been denied by the DHCP server 192.168.1.254 (The DHCP Server sent a DHCPNACK message).
Event ID 1005 was a Warning rather than an Error.  Its General tab said:
Your computer has detected that the IP address 192.168.1.64 for the Network Card with network address 0x1C6F6541080C is already in use on the network. Your computer will automatically attempt to obtain a different address.
Event ID 50034, an Error message, said:
An error has occurred in initializing the adapter 11. Error Code is 0x1004
Chronologically, about half of the events listed on this log had occurred on this particular morning, though I had only been on the computer for about an hour.  Many of them seemed to be spaced about 10 or 11 seconds apart.  I assumed older items scrolled off.  Event 1001 had not occurred in the past several days.  Event 1002 had occurred only once this morning, first thing, when I started up the computer.  All of the events on this log occurred within the first 15 minutes after I restored the computer from sleep (or possibly hybrid sleep).  Maybe that was when this computer B stopped complaining about an IP address conflict.  An Event 1005 was the last one on the log.  Apparently the computer had succeeded, at that point, in finding a different address.

I looked at the Event Log on computer A.  It went back for weeks, so maybe I was wrong about older events scrolling off.  I had installed Win7 relatively recently on computer B.  The Event Log on computer A had the same Event ID numbers.  It also had some others.  On this particular day, it had Event ID 20, which was too long to reproduce here in full, but which started as follows:
The description for Event ID 20 from source Google Update cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
And it also had Event ID 134 on this day:
NtpClient was unable to set a manual peer to use as a time source because of DNS resolution error on ". NtpClinet will try again in 3473457 minutes and double the reattempt interval thereafter.  The error was: No such host is known. (0x80072AF9)
It also had Event ID 315, which said:
The print spooler failed to share printer Brother MFC-7340 with shared resource name Brother MFC-7340. Error 2114. The printer cannot be used by others on the network.
And it had Event ID 1014, which said this:
Name resolution for the name teredo.ipv6.microsoft.com timed out after none of the configured DNS servers responded.
It also had Event ID 4199:
The system detected an address conflict for IP address 192.168.1.64 with the system having network hardware address 1C-6F-65-41-08-0C.  Network operations on this sytem may be disrupted as a result.
There were some other errors that it had not yet had on this particular day.  There were also some that had occurred on this day, but that I have not reported here, at least not yet, because the ones listed above seemed to give me enough to think about for the time being.  These others were Event IDs 8021, 8032, 43029, and 52236.

I looked at the first items of the day.  (These machines were not all set to hibernate or sleep in the same way, if at all.)  On computer A, the first event (other than 43029, "Display is not active") was an Event 4199.  On the Vista laptop, the first event of the day was a 1005, followed by a 4199.  On the WinXP machine, likewise, it was a 4199.  On computer B, by contrast, the first event was Event 1002, and there were no 4199s.  So Event 4199 seemed like it might describe the problem.  I verified that the IP address being referred to on all three machines reporting a 4199 was 192.168.1.64.  (The network hardware addresses reported by Event 4199 varied from one machine and from one Event 4199 message to another.)  That seemed to suggest that I should just reset the IP address on the other machines manually.  I went into IPv4 properties on computer A and changed it to 192.168.1.65.  But I was still unable to go online.  I went into the laptop and tried 192.168.1.66.  While I was there, I noticed that the option to "Obtain DNS server address automatically" was grayed out, and yet there was nothing typed in the manual alternative, so I referred back to my post about OpenDNS and added numbers there.  This did not make a difference on the laptop.  I rebooted and tried again, just in case it would make a difference.  It didn't.  Now I noticed the same thing about computer A, so I added Google's public DNS numbers there.  Somehow -- possibly because I checked the "Validate settings on exit" option -- I wound up in Windows Network Diagnostics on computer A.  It offered this:
Automatically update your network settings
Windows can detect the correct network settings for you.
I thought, why not? and selected "Apply this fix."  It came back with the announcement that troubleshooting had found that "DHCP is not enabled for 'Local Area Connection.'"  And maybe that was true.  But computer A was still not going online.  I went back and saw that it had wiped out what I had just entered.

I noticed, when I went through the troubleshooter on computer A just a moment earlier, that it had the temporary effect of making computer B unable to go online.  I just happened to be at this blog post, and perhaps Blogger was trying to save at that very moment or something.  Anyway, a moment later, Blogger was able to save again.  I was curious about this, so I went back into Event Viewer, sorted for date and time, and hit F5 to refresh.  But no, there were no more recent items, so apparently whatever had happened had been too brief a blip to register on the log.

I tried typing ipconfig in a command box (Start > type "cmd" > type "ipconfig"), on computer A, to see what IP address I had now.  My change to 192.168.1.65 had stuck.  And yet it could not go online.  How was the 65 address conflicting with the 64 address?  Didn't make sense.  I refreshed Event Viewer on computer A.  (I accidentally refreshed this post instead.  Thanks to Blogger, that scrambled what I had written here, so I had to go back and fix it.  That took maybe 20 minutes.)  The last events in Event Viewer on computer A included a 1005 reporting that 192.168.1.64 was already in use on the network.  But ipconfig on computer A reported an IPv4 Address of 192.168.1.65.  So, OK, maybe no more IP address conflicts?  But computer A was still unable to go online.  I rebooted it.  The situation was the same.  The IP address was definitely 192.168.1.65, and there were no new events in the log (from the past 25 minutes or so), and yet I couldn't browse online.  In the command box, I got results from "ping www.ehow.com" on computer B, but not computer A.

On computer B, I went into Control Panel > Network and Sharing Center > Troubleshoot problems > Internet Connections.  That troubleshooter again offered to change my settings.  Since it didn't work last time, I skipped it this time.  It reported the same "DHCP is not enabled" error as last time.  A search for that error led to comments about routers.  Suddenly it occurred to me:  was 192.168.1.64 the only address that the modem was making available -- was that how this worked?  (Note:  I had since discovered that my modem was actually a combination modem/router.)  Consulting my previous post on the modem's part in this drama, I logged into the modem's internal webpage and looked around.  It said that, on the local network, the modem's IP address was 192.168.1.254, but that wasn't what I wanted to know.  That was where I could log into the modem, as I had just done.  But going in the opposite direction, where would the modem find computer B?  There was a log here, too, and it had a bazillion entries saying things like this:
2011/01/15 8:25:35 GMT - L3 - DHCP: Address 192.168.1.64 declined
The date and time reported there were just a few hours earlier.  So it was listening to computer A; it just didn't like what it was hearing.  On the modem's Statistics tab, I found a section containing "LAN Information."  This section reported that the DHCP address was 192.168.1.64.  So maybe that was the address that the switch was supposed to be using?  And then the switch was supposed to generate new IP addresses that the computers could use?

There was a "Routing Table" that seemed to say my ethernet network was connecting to the modem at 192.168.1.254.  That was the "Modem IP Address."  Further down, I saw a "Devices on LAN" section.  This listed two IP addresses as Active.  These were 192.168.1.64 and 192.168.1.65.  It listed two other addresses as Offline.  I hadn't seen those before.  I didn't know what those were for.  The 192.168.1.64 address looked like it was being associated with computer B -- the computer name it showed was partly familiar to me.

I wondered if this table would change if I changed things on the network.  So I unplugged the ethernet connections from the switch, for all computers except computer B.  Then I hit F5 to refresh the modem's webpage.  The name shown for computer B changed slightly, but otherwise these things seemed to be the same.  So the "Devices on LAN" section seemed to be listing all of the addresses from which computers had ever (or at least recently) tried to access the modem.  To test that, I unplugged computer B and plugged in computer A.  On computer A, I changed TCP/IPv4 Properties to specify an IP address of 192.168.1.66.  Sure enough, now the modem's "Devices on LAN" webpage was reporting a fifth entry, for that IP address.  The "MAC Address" reported for 192.168.1.65, on the modem's statistics page, was the same as reported for 192.168.1.66.  Apparently the MAC address was the "network hardware address" referred to in Event 4199 (above).

The modem's statistics page reported, as I say, a DHCP address of 192.168.1.64, and it reported a device on the LAN -- namely, computer B -- at that same address.  Did this mean that computer B was hogging the only available address of 192.168.1.64?  On computer A, I went back into TCP/IPv4 Properties and changed the IP address to 192.168.1.64.  With only computer A connected to the switch and therefore to the modem, I refreshed the modem's webpage.  Now it reported that 192.168.1.64 and 192.168.1.66 (but not 192.168.1.65) were Active, and the name of the computer at IP address 192.168.1.64 was simply "192.168.1.64."  Three of the five items in the Devices on LAN table had identical MAC addresses -- presumably that of computer A.  (The other two were 191.168.1.107 and 125.)

Unfortunately, computer A was not able to go online at this point, even with no other computers connected to the switch, or even with computer A connected directly to the modem.  I wondered if this was due to an internal conflict, in the sense that it now had these three identities.  I did a search for information related to my Motorola model 2210 modem and found a thread where someone said this:
Only one device can be set up as a dhcp client with the 2210.  All other devices will require a static private IP address.
Well, this was daylight.  Another person explained:
The DHCP server will assign only a single IP address, 192.168.1.64. It will be assigned to the first device which makes a DHCP request. Additional DHCP devices will be declined an IP address.
This raised the question of what would have happened if computer A had been the first one to contact the modem.  (For posterity, my search led to a manual for a Motorola 2220, which was apparently similar to the 2210 but had more features.)  To test that, I unplugged the modem and let it sit.  Meanwhile, I changed TCP/IPv4 properties in computer A to obtain and IP address and DNS server address automatically.  Then I powered up the modem, and after it was back online I viewed its webpage from computer A.  That did it.  Under Devices on LAN, it showed only 192.168.1.64.  And it appeared I was right about the internal conflict:  computer A was now able to go online.

It felt, at this point, like the Event Viewer had introduced me to something resembling an intelligent way to resolve networking problems.  I had miles to go.  But this was starting to make sense.  So now, what would happen if I connected computer B to the switch?  I did that.  Now computer B was reporting an IP address conflict.  Computer A wasn't, at least not yet, and ipconfig there continued to report an IP address of 192.168.1.64, but now computer A was not able to go online in the web browser, though it did successfully ping http://www.ehow.com/.  The modem's webpage, duly refreshed, oddly still reported only one Devices on LAN:  192.168.1.64.  I was not presently clear on the name of the computer it was associating with that IP address, but tentatively it appeared that the computer that first approached the modem after a reset would be the one whose real name (i.e., the name I had assigned to it during Windows installation) would appear in the modem's Devices on LAN list.  (The modem's log, which I had erased with the reset, now reported a bunch of new "DHCP: Address 192.168.1.64 declined" errors.)

I still didn't understand why computer B would still gain dominance in terms of Internet access, when both were connected, even if computer A was the one associated with 192.168.1.64.  Life wasn't as easy for computer B this way -- when it wasn't first to the modem, it seemed to struggle more to get online when both were connected to the switch, but ultimately it was able to do so, displaying webpages after one or two refreshes if not right away.

The modem's webpage, viewed on computer B, was hung at this point -- it wasn't reporting statistics, just sitting there with that Win7 spinning hourglass, telling me that it was thinking about it -- so I ran troubleshooting on computer A.  It said, "'Local Area Connection' doesn't have a valid IP configuration," and it said it had fixed that.  Then I was able to see that computer A remained the only item listed in Devices on LAN.  But computer A (and not computer B) was still reporting an IP address conflict, and still couldn't view webpages.

Following another thread, I checked the modem's webpage for information on its range of available addresses.  But there didn't seem to be one.  Even if I found one, it would presumably make no difference.  The modem was going to work only with 192.168.1.64.  Assigning other static IP addresses would apparently not help.  But why would it be better to let computers acquire their own IP addresses, if 192.168.1.64 was the only one available?

I did a revised search.  This led to a webpage with several suggested steps to resolve DHCP problems.  The webpage said that an IP address conflict was one kind of DHCP problem.  It suggested typing (in a command window) "show ip dhcp conflict:".  I tried that.  The reply was, "'show' is not recognized as an internal or external command, operable program or batch file."  An old thread offered this interesting theory, about a system having a modem like mine:
The modem will only hand out one LAN IP address on the network. So the first device to request an IP will be the one to get it. If another device makes a request for an IP it will be denied and that computer will not have internet access.
Another poster in that thread revised that:
Slight correction, the last device to request an address is the one that gets it. So if you have two devices active at once you will get address stealing from each device as the DHCP leases are renewed.
Neither of these seemed to explain what was actually happening on my system.  Any way I sliced it, computer A was the junior partner.  I tried a revised search and then turned to a missing piece of the puzzle:  how did the switch work?  That was a matter for another post.

Windows 7: IP Address Conflict: What Could It Be?

I was continuing a long, long effort to resolve a home networking problem in Windows 7.  The problem was that, if I connected more than one computer to my Netgear FS605 network switch or my Linksys WRT54GL router, I would get an error message:  "Windows has detected an IP address conflict."  I had really tried a huge number of things -- many confusedly, redundantly, or otherwise chaotically, but nonetheless striving in some ill-formed sense to solve this problem.  The solutions I had tried had worked for others; they just weren't working for me.

At this pint, it occurred to me to take my laptop, router, and switch down the way, and try them on someone else's Internet connection.  But now it was late, so that would have to wait until the next day.  But I did not think that the hardware was the problem.  A router and a switch going bad at the same time, after both had served well?

I noticed, when I tried using Google Chrome to do a search during one of those IP conflict periods (i.e., when I had two computers connected to the switch), that Chrome gave me additional information.  Besides saying "This webpage is not available" and suggesting that I reload, their "More information on this error" link gave me an error message:

Error 105 (net::ERR_NAME_NOT_RESOLVED): The server could not be found.
I did a search on that.  It produced a variety of general and Chrome-specific possible solutions.  One ChromeBoard thread went through many of the issues I had examined here and in the previous post, including changing DNS server to OpenDNS or Google (8.8.8.8 and 8.8.4.4).  It seemed the change was supposed to be made in the router, though, not on the computer, and that was different from what I had tried before.  On the theory that my problem was one that a router could sort out, but a switch could not, I went back into my router (a Linksys WRT54GL), as described in that post.  I saw that the router was set to a PPPoE connection type, which was right for my modem but may have been wrong for the router.  I changed that to DHCP.  I saved and saw that this did not solve the problem.  My next step was to try the DNS advice, but it was not clear where in the router's page I should change those numbers.  The page had both "Router IP" and "Network Address Server Settings (DHCP)" sections with DNS options.  The latter seemed right.  But there were three "static DNS" spaces to fill.  I tried the Google numbers (above) for the first two of the three.  That wasn't the solution.  Pooofont recommended unplugging the computer from the wall power socket for a half-hour.  I tried for 15 minutes.  One thing that became clear, as I perused that long thread, was that there were many problems within this Error 105.  Continuing:  I checked Win7's Start > services.msc > DHCP Client and DNS Client; mine were already started and automatic.  Another new possibility:  flush DNS using "ipconfig /flushdns."  I tried it on two computers, and then connected them to the switch; no joy.

Another possibility occurred to me.  Perhaps I had a virus.  But a virus that would immediately affect WinXP, Vista, and multiple Win7 installations, without showing any other effects, and that was not picked up by Avast, AVG, or Windows Security Essentials, all of which had been running on one of these machines or another during this process?

Around this time, I noticed that something had changed.  I had noticed it before, but now it caught my full attention.  Computer B was no longer experiencing IP conflicts when I plugged the other computers into the switch.  They continued to report such conflicts, but now computer B was OK.  Not only was it not reporting IP address conflicts, but it was now able to go online, even through the switch, when all three other computers (one running Win7, one running Vista, one running Windows XP) were also plugged into the switch and were reporting IP address conflicts.

Somehow, computer B had reached a point of functionality.  What had I (or the computer) done to achieve this?  The solution was presumably not a matter of the router or the switch; it was seemingly something about computer B in particular.  But what?  I tried to trace back through the previous post, to see what I might have been doing when this change occurred.  I had noticed it while talking to the AT&T guy, so it was before that.  But then I had to call it a day.  The system went into hibernation overnight, and when I came back to it the next morning, computer B, too, was reporting an IP conflict and was unable to go online.  Maybe it had something to do with resetting the modem, though I didn't see how.  My thinking now was that the modem could not tell what lay on the other side of the switch.  As far as the modem was concerned, it was handing out just one Internet connection.  It was up to the switch or router to arbitrate among multiple computers.

Following advice, I opened a command window in each computer (Start > Run > cmd -- or, in Win7, Start > type "cmd") and typed "ipconfig" by itself.  This produced several different results.  In computer A (running Win7) and in the Vista laptop, it did not even try to report an IPv4 address.  In computer B, it reported an IPv4 address of 192.168.131.1.  In the Windows XP machine, it reported 192.168.1.64 as the only IP address.  This seemed to suggest computer B and the WinXP machine should not be in conflict.  I unplugged the two others from the switch.  But computer B and the WinXP machine were still unable to go online.  Only when I removed three of the four machines from the switch was the one remaining machine able to connect with the Internet.  This suggested that the IPv4 address was not the issue, or at least not the only issue.

Another possibility recommended in that same thread was to go into Device Manager (a Control Panel item in Vista and Win7; under Control Panel > System > Hardware in WinXP), look under Network Adapter, and uninstall the ethernet and wireless adapters, then scan for changes and let it reinstall them.  I wasn't using wireless, so I assumed that part would be irrelevant to my situation.  The wired part was a Realtek device on both computer B and the WinXP machine.  I made sure both computers were connected to the switch, and then uninstalled the Realtek adapter.  I did not opt to delete the driver software.  Then, in the Action menu item at the top of Control Panel, I ran "Scan for hardware changes" in both computers, one at a time.  The WinXP machine started its Found New Hardware Wizard.  I couldn't get the CD drive to read the motherboard manufacturer's installation CD at that point, so I rebooted the WinXP machine and it reinstalled its wired adapter automatically during reboot, and reported an IP address conflict when it came back up.  But now computer B was not reporting a conflict.  I tried the same approach with computer A. 
It still reported a conflict and was still unable to go online.

One thing that was different about computer B, in the networking department, was that I had installed VMware Workstation there.  This seemed potentially relevant because there were VMware Virtual Ethernet Adapter for VMnet1 and VMnet 8 listed in Device Manager on computer B.  But I had had the IP address conflict problem after installing VMware, so I didn't see how that could make a difference.

At this point, I came across a suggestion to use Win7's Event Viewer.  That discussion continues in a separate post.

Monday, January 10, 2011

Windows 7: IP Address Conflict -- Another Computer Has Same IP Address

(As always, with these long posts where I am working through a veritable cluster of issues, feel free to use Ctrl-F to search for the exact error message that brought you here, if any.  Otherwise, these long posts are provided to stimulate ideas, for those who have no solutions as they work with intractable networking problems.)

*  *  *  *  *

I was installing Windows 7 on two separate computers.  As described in a previous post, I was having problems with networking.  This post picks up the discussion partway through that process, when I received this message:

Network Error

Windows has detected an IP address conflict

Another computer on this network has the same IP address as this computer.
In response to this error, one person suggested just powering off the router and then starting it back up.  I had been doing that and was getting tired of it.  Besides, I felt that we might really be on to something here -- that this was, at least, a possible clue as to my network problems.  Another essentially suggested going into Control Panel > Network and Sharing Center > Change adapter settings > double-click on Local Area Connection > Properties > select Internet Protocol Version 4 (TCP/IPv4) > Properties ... but my settings there were already automatic, as suggested -- and also to make sure, in the router's setup webpage, that DHCP was enabled and no machines were being assigned a static address.  But another disagreed, saying that the IP address should be set manually.

Another said, "This issue is usually caused by resetting a router without resetting all the network connected devices."  And that was possible.  I had not yet tried his suggestion, which was to power down everything on the network, including all computers, network printers, modem, everything; then turn on the modem and wait for a steady data light; then turn on the router and wait two minutes; then turn on the other devices and computers, one at a time.  So I did that.  That did not make the router work.  I tried using a network switch instead, a Netgear FS605.  On the switch, the old Win7 computer worked, but the new one did not.

Another suggestion was to type "ipconfig /release" and then "ipconfig /renew" in a command window on each computer.  I tried that last step.  On computer A, the steps worked.  On computer B, I got this:
Windows IP Configuration

An error occurred while releasing interface Local Area Connection: : An address has not yet been associated with the network endpoint.
I decided to try installing fixed IP addresses on these two computers.  Back in TCP/IPv4 Properties, I changed from "Obtain an IP address automatically" to "Use the following IP address," and I set the values as follows:  IP address = 192.168.1.65, Subnet mask = 255.255.255.0, Default gateway = 192.168.1.254.  The IP address was identical to that from the other computer except the other ended with 64.  The Subnet mask was provided automatically, when I started to fill in the boxes, and the Default gateway was the same as on the other computer.  I also checked "Validate settings upon exit."  When I exited out of that, Windows Network Diagnostics offered to automatically update my network settings, saying, "Windows can detect the correct network settings for you."  I chose, "Apply this fix."  The problem, as it then explained, was that until then, "DHCP is not enabled for Local Area Connection."  That, it said, was now fixed.  But "ipconfig /release" still said no address has yet been associated with the network endpoint.  I tried rebooting.  The problem was still there.  My changed settings were gone; the setting had been returned to "Obtain an IP address automatically."

The situation at this point seemed to be that I had to connect to the network -- that is, I had to have the two computers connected together, through switch or router -- in order to have both computers obtain an IP address; but somehow I had to persuade them to get their IP addresses before the system identified an IP address conflict and thereupon shut down the networking capabilities of the router, the switch, or one of the computers.  I wasn't sure this was quite right, but there seemed to be some kind of lose-lose, reciprocal defeat process going on there.

I decided to look at the error message (above) that I was getting when I tried running "ipconfig /release."  The message said, "An address has not yet been associated with the network endpoint."  A search unfortunately gave me a lot of pages I had already checked, suggesting that I was running out of options here.  I did find a thread that suggested several possibilities.  One was that antivirus or firewall software might be "blocking the machine from picking up DHCP from the router," suggesting that maybe I would need a working router with antivirus software temporarily disabled if I hoped to resolve this problem.  Eventually, I switched from AVG antivirus to Microsoft Security Essentials.

Another suggestion from that thread was to install Tomato or DDwrt firmware in the router, assuming I could get it unbricked or find a replacement, because the Linksys WRT54GL (same as mine) allegedly "has lots of complaints," not working consistently with Windows 7, at least until better firmware was installed.  The concept there was that I would connect the router to one computer, upgrade the firmware, and then connect it to the other computer, and maybe in that way the computers would become so adjusted and sane, in this crazy world, that they would be able to cooperate even if I did later substitute the switch for the router.  In that particular thread, unfortunately, a firmware upgrade did not save the day.  Another possibility was that, if I had Bonjour installed (as part of e.g., iTunes or Adobe CS5), that would cause problems.  But I hadn't installed any such program software at this point.

It seemed that I should be able to do the process with one computer before doing it with the other.  I tried that.  With one computer connected directly to the modem, I took the recommended steps:  type "ipconfig /release" in a command window; manually enter 111.111.111.111 and Tab past the Subnet mask in the TCP/IPv4 Properties; save that; go right back into TCP/IPv4 Properties and switch to "Obtain an IP address automatically"; save that; and then enter "ipconfig /renew."  But when I ran "ipconfig /all" to see what had happened, I saw "Media disconnected."  So maybe the computer was confused.

At this point, I returned to this post after an absence of several days.  I plugged computer B into the network switch.  That worked.  Then I unplugged computer B from the switch and instead plugged in computer A.  After a pause, that worked too.  Now, I plugged them both into the switch.  As above, I got the "IP address conflict" error on computer B.  After a few minutes, I got it on computer A too.

This problem had been lingering for a while, and I was not clear at this point what steps I had tried previously.  Influenced by what may have been a redundant search, I found a thread and a more clearly written webpage that summarized most if not all of the various things that people tried to resolve this problem.

Trying one of those steps, I disconnected computer A from the switch.  Then, going back through those steps, on computer B I found, first, that "ipconfig /release" gave me the "network endpoint" error (above).  At that point, the switch had ceased to work.  Even though computer A was no longer connected to it, computer B was still unable to go online.  I removed the switch from the equation -- that is, I connected computer B directly to the modem -- and tried again.  Now computer B was able to go online.  I tried "ipconfig /release" again.  I got the same "network endpoint" error.  I now realized that this probably meant that it was already released and there was nothing else to release.  So I tried "ipconfig /renew."  Its output gave me only a blank for "Connection-specific DNS Suffix."  Evidently that was OK:  I was able to go online.  I disconnected computer B and connected computer A directly to the modem, tried the same steps, and got the same result.  Now I powered up the switch and connected both computers directly to it.  After a few minutes, computer A again popped up an "IP address conflict" error.

With only computer B connected to the switch, on both machines I tried a command-line approach to set static IP addresses.  The steps here were to type these two commands in a cmd box (Start > type "cmd"):
When I tried that on computer B, I got an error:  "The requested operation requires elevation (Run as administrator)."  A search led to the advice to type this to open the cmd box in administrator mode:  "runas /user:administrator cmd."  This didn't work.  The reason, as I found when I ran that command inside another cmd box, was that "Blank passwords not allowed."  My administrator account had no password.  Trying another approach, I switched to computer A, where I was already logged in as administrator (and therefore would not interrupt or confuse the file-copying process that was underway on computer B), and tried the same commands there.  The second command ("interface ip set ...") returned an error:  "The configured DNS server is incorrect or does not exist."
netsh

interface ip set dns “Local Area Connection” static 192.168.1.1
While it was tempting to investigate the command-line option, I went back to the main webpage and found it easy to agree with the advice that "If you don’t need to use a static IP address, it’s best to simply choose DHCP instead of manually configuring the IP address."  This advice had the virtue of not requiring me to do anything.  Unfortunately, it had the drawback of leaving me where I started.  I tried some other links from the search, but now found that computer A was not connected.  Apparently the netsh command had screwed it up.  I typed "exit" at the netsh prompt and closed the cmd box, but this was not good enough.  So I reopened the cmd box and tried "ipconfig /release" and "ipconfig /renew."  That wasn't the answer.  I still could not go online on computer A.  I could have rebooted it, but I had a file-copying process underway there too.  (I was just setting up these computers.  Data had to be rearranged.)

So, OK, I waited until the file copying process was done on computer B, connected its cable to the switch instead of computer A's, and tried to log in as Administrator over there.  I had not previously done that.  Unfortunately, the Administrator account was invisible.  To see it, I had to find a way to enable it.  One approach to do that was to open an elevated command prompt, which was what I probably needed to do above, but now I had seemingly better instructions.  The approach I took was to start by creating a shortcut to an elevated command prompt:  right-click on the Desktop (the actual desktop, not the link in Windows Explorer) and choose New > Shortcut > type "C:\Windows\System32\cmd.exe" for its location (i.e., the target of the shortcut) and call it "Elevated Command Prompt."  Now I followed the instructions to open the elevated command prompt (via the shortcut) and type "net user administrator /active:yes."  The response:  "System error 5 has occurred.  Access is denied."  A search for that seemed to indicate that my elevated command prompt was not giving me elevation.  Basically, system error 5 just meant access denied.  Someone suggested the old "control userpasswords2" command, but that didn't seem to be functional anymore in Windows 7.  Another approach (for Win7 Pro, Ultimate, and Enterprise) was to go to Start > type "netplwiz" > Advanced tab > Advanced user management > Users > double-click on Administrator > uncheck "Account is disabled" > Apply > OK.  Now Administrator was visible in Control Panel > User Accounts.  I rebooted and went into the Administrator account. 

Now that I was logged in as Administrator, after an intervening lunch and nap, I found that I had no idea why I needed to be an Administrator.  I sure wasn't going to enter that apparently destructive netsh command again.  But upon reviewing the previous paragraph, I saw that I was intending to type "net user administrator /active:yes" at an elevated command prompt. I would have thought that my user account, which User Accounts showed as being an administrator account itself, would have sufficed.  Apparently not.  Surely now, though, as an official Administrator, I would be able to go ahead and enter that net user command.  And indeed I was, and I did.  This time, no System Error 5.  Instead, "the command completed successfully."  Good.  Now what?  I decided to try "ipconfig /all."  This confirmed my recollection that computer B was showing no "Primary Dns Suffix" and no "Connection-specific DNS Suffix."  I tried a search on related terms.  The consensus seemed to be that the blank space was not a problem on a standalone machine.

Back at the lucid instructions webpage, it appeared that I had tried everything.  I wondered if perhaps there was a hardware problem with the switch -- if maybe the computers had screwed up both my router and my switch.  Possibly unbricking the router and doing a firmware upgrade, using just one computer, would make a difference.  I plugged computer B only into the router.  It was still a brick.  A search for unbricking led to a suggestion that I make sure it was actually bricked before I tried to unbrick it.  A recommended solution for this was to go to its internal webpage.  For my Linksys WRT54GL v. 1.1, that was 192.168.1.1, so with computer A being the only thing connected to the router, I typed that address in the address bar in my browser and hit Enter.  The default username was blank; the default password was "admin."  That brought up the internal page.  This was not entirely the behavior of a brick, was it? 

I had previously posted the settings I used in the router.  Those settings were still there.  I was using a wire-only network (i.e., not wireless).  Following the manual for the Linksys WRT54GL router (whose instructions were repeated in brief form on the router's internal webpage), I had to change from DHCP to PPPoE in the router's Setup > Basic Setup tab.  Changing to PPPoE opened up a bunch of other options, including my AT&T username and so forth.  Next, on the Wireless > Basic Wireless Settings tab, I set Wireless Network Mode to Disabled.  I made sure Security > Firewall > Filter Internet NAT Redirection was turned off.  In the Administration > Management tab, I changed the router password, and changed to https, and disabled Wireless Access Web and Remote Management.  UPnP sounded like it was going to make life easier, so I left it enabled.  Finally, I went into the router's Administration > Config Management > Backup > Save to make a backup of the current configuration.  Then I went into Administration > Firmware Upgrade tab.  I browsed to the latest firmware upgrade, which I had previously downloaded, and then clicked Upgrade.

So now I wanted to see if these settings and the firmware upgrade would change anything.  First, I connected computer A directly to the modem.  It still couldn't go online, and by now I had rebooted that computer, so apparently that netsh command had really screwed up something.  I went into Control Panel > Network and Sharing Center > Troubleshoot problems > Internet Connections > Troubleshoot my connection to the Internet.  It said, "Your computer appears to be correctly configured, but the device or resource (primary DNS server) is not responding."  A search on that message turned up very little information other than my own post from a few days earlier.  One post said something about using OpenDNS servers instead of those of the poster's own ISP.  Well, that was interesting.  I should use a non-AT&T server with my AT&T account?  It seems OpenDNS had a free service of some sort.  The concept seemed to be that you could "unbundle" your DNS service from your ISP.  Apparently AT&T was now my primary DNS server.  So I could spend a half-hour on the phone with AT&T, or I could try OpenDNS.  I had a feeling I would probably wind up doing both.  But here I was with OpenDNS, so why not?  I've written that up in a separate post.  It seemed to solve the problem.  If it was the netsh command that was to blame, then it appeared that OpenDNS was somehow able to circumvent it in a way that AT&T wasn't.

Alright.  So computer A was able to go online via direct connection to the modem.  Now, how about through the router?  I connected only computer A to the router, and the router to the modem.  But no.  There was no action here.  I ran Win7's Internet Connections troubleshooter again.  This time, a different error:  "Your broadband modem is experiencing connectivity issues."  I turned off the power for "at least 10 seconds," as the troubleshooter recommended.  Oh, but wait.  I was unplugging the *router.*  They were talking about the *modem.*  The modem was having connectivity issues?  If so, how was I able to use it with computer B to save these words in this blog post?  But let's not argue.  I did what they said, this time doing it to the modem, not the router.  I not only unplugged it, I also went on to "press and quickly release the Reset button" on the modem.  I clicked Next on the troubleshooter, but this gave me an ominous remark:  "The connection between your access point, router, or cable modem and the Internet is broken."  Yikes!  I looked at the modem and, sure enough, a big red light where there should have been a green one.  I disconnected the router from the modem and connected computer B to the modem, and gave the modem another ten-second rest.  But no.  When it came back on, I still had the big evil red one.

See, I knew this was going to come down to another phone call to AT&T somehow.  I knew it.  I felt it in my bones.  So, alright, I called AT&T tech support.  I got their automated guy.  He always sounded a bit exasperated with me, like he was explaining this to an idiot.  Fair enough.  But he ended by telling me that I had to check my connections, reboot, and then call back within 24 hours.  End of conversation.  He was polite enough about it, but still.  I guess I couldn't complain.  Instead of spending a half-hour to get a possibly correct answer, I got no answer almost immediately.  This could be a good deal, where AT&T was concerned.

Well, I got off the phone and finished typing and saving these words on computer B, using the connection where the AT&T automated guy had detected a problem.  (Computer B had been the one that was connected while he and I were chatting.)  Oh, the big red one went away when I did another power cycle.  I probably just hadn't unplugged it for long enough.  I had time to redo it while the automated guy was asking me about who I was and what I wanted.

A while later, when computer A had finished doing something else that made it unavailable for my purposes (I felt like a pest, always wanting something just when these machines were up to their elbows in more important challenges), I rebooted and connected it directly to the modem once again and saw that it was now able to go online without a problem.  I ran the Internet Connections troubleshooter again, just to be sure I wasn't halllucinating.  Sure enough, it detected no problem.  That was unacceptable, of course, but fortunately I knew how to fix the situation.  I connected computer A to the router, and the router to the modem, and gave it another whirl.  Got that message about the modem experiencing connectivity issues.  It occurred to me to disconnect computer A from the router and connect computer B there.  I ran the Internet Connections troubleshooter on computer B.  There, where I had not done the transition to OpenDNS, I got the message about not being able to connect with primary DNS server.  I re-ran this comparison, using the switch instead of the router, one last time.  Here, both computers connected without a problem.

To review:  the first problem seemed to be that I had a nonfunctioning router.  The ability to connect to its internal webpage did not mean that it was functioning for purposes of connecting with the world.  The troubleshooter messages pointing to the modem seemed to be mistaken.  The second problem was that I had an IP address conflict.  This seemed to be something that a functioning router might have fixed.  I had worked through other possible solutions without success, so that seemed like my last hope.  At the same time, I was concerned that possibly the IP address conflict itself had screwed up the router, and my use of the switch had suggested that the router, like the switch, would have no effect on the IP conflict.  I could hope that somehow this problem derived from the AT&T modem, though it was not clear how.  The other thing that had arisen, which may have been a real issue or maybe not, had to do with DNS.  I decided not to install OpenDNS settings on computer B.  Perhaps future experiences would teach me about the difference between AT&T and OpenDNS in that area.

Just in case I hadn't already done so, I did a reset.  I could have done this by holding the reset button for five seconds.  I wasn't sure about the time period -- I had heard a number of different periods of time for pressing reset buttons, by this point -- so instead I went into the router's software at 192.168.1.1 and went to Administration > Factory Defaults > Restore Factory Defaults > Yes > Save Settings. I was pretty sure I had tried this before, but I tried it again now. When that was done, it required me to log into the router again, which meant a blank username and "admin" as password. Then I connected the router to the modem and waited to see if I could go online. I couldn't. I went into Control Panel > Network and Sharing Center > Troubleshoot problems > Internet Connections. The lights on my DSL modem were all green, which was good. But the troubleshooter said, "The conection between your access point, router, or cable modem and the Internet is broken." It asked me to do a modem reset, which I had done previously.

So the action steps at this point seemed to be to debrick the router, to ask AT&T if they had any ideas and, failing that, to some up with some other approach to the IP address conflict.  This seemed like a dismal list of action steps, rather oriented toward failure.  I did call AT&T again, but since I was able to connect the computer directly to the modem and get online that way, they were only able to offer fee-based support with what seemed to be a Linksys router problem.  And I would have gone that route, if I had been convinced that I would get my money's worth.

I ran another search.  Regarding the router, one post arising from this search made me think I should try setting the router to DHCP rather than PPPoE.  I did that.  It did not make a difference.  I switched back to PPPoE and notice, as I had noticed previously, that PPPoE contained a "DHCP Server Enable" option, which was checked.  So probably DHCP made no difference.  Looking at a post from the previous search re: debricking, it seemed that my router was not bricked if I could still contact its web base menu and if its power light was not continuously blinking.  Another webpage took me through a more elaborate set of steps and criteria.  I have explored that whole process of unbricking and updating router firmware in a separate post.  It took hours and yet did not solve the problem.

I had been reluctant to throw money at the problem, especially if there was a risk that the network situation itself had been responsible for damaging the router.  It was suspicious that it had been working so well, during several periods over the past several years, and suddenly fell apart when I introduced Windows 7 networking to my computing world.  It was also suspicious that the problem occurred likewise on the network switch, which had likewise seen several years of service.  Yet there was a difference:  computer B was able to go online through the switch, but not through the router.

These developments suggested a revised set of action steps.  One was to see if a replacement router allowed at least one computer to go online.  Another was to continue to work on the IP address conflict, though I was out of ideas.  A third was to think further about the differences between the two computers, and the possibility that a screwed-up situation on computer A was causing problems for the network as a whole.

The plan emerging from those steps was to buy a replacement router, but to test it on computer B first, and see whether it, like the switch, would allow computer B to go online.  Meanwhile, it appeared increasingly likely that I would have to try reinstalling Windows 7 on computer A, to see if that made a difference.  I would probably wait until I had done that before trying to connect the new router to computer A, just in case the Windows installation itself was somehow confusing or damaging the router.  I hoped that a new Windows installation on computer A would work with the switch and with the old and/or new routers.

That seemed to be something I could test without too much difficulty.  I made an image of the current state of Windows 7 on computer A, in case I wanted to keep it, and then started a new installation on computer A.  The networking impact of a new Windows 7 installation is covered in another post in this blog.

Linksys WRT54GL Router: Brick Testing & Debricking

I had a Linksys WRT54GL v. 1.1 router, running in Windows 7.  The router did not seem to be functioning properly.  I wanted to find out whether it was "bricked," as they called it -- whether some tinkering on my part, or some power surge, or something else had turned it into a useless brick, a paperweight.  I wanted to get it back into service, if I could, and I also wanted to look into the possibility of upgrading its firmware while I was at it.  This post describes the steps I took along those lines.

First, I followed a set of steps to see if the router was bricked.  I disconnected all ethernet cables and plugged in its power cable, and let it sit that way, powered up but not being used, for at least five minutes.  Next, I connected the router only to the computer that I would be using to examine its condition.  I did not connect it to the modem or to any other computers.  Then I started gathering basic information.

Gathering Basic Information

I went into Control Panel > Network and Sharing Center > Local Area Connection.  In the Local Area Connection Status dialog, I clicked on Details.  (I could have done approximately the same thing in a command ("cmd") box.  To open a command box, I would have gone to the Start button and typed "cmd" into the "Search programs and files" box.  In the command box, I would have typed "ipconfig /all.")

In that Network Connection Details dialog, I saw that I had the IPv4 address assigned by the router.  By default, it was 192.168.1.100.  I also saw that the IPv4 Default Gateway was 192.168.1.1.  As far as my network was concerned, this (192.168.1.1) was the address for my router.  I had not set it that way; this was the default address for this model of router.

I closed the Network Connection Details dialog and clicked on the Properties button, there in the Local Area Connection Status dialog.  In Local Area Connection Properties, I scrolled down and selected Internet Protocol Version 4 (TCP/IPv4).  I clicked on Properties.  There, I saw that the computer was set to "Obtain an IP address automatically."  So I knew that I had not manually instructed the computer to use 192.168.1.100.  That address (192.168.1.100) was appearing in the Network Connection Details dialog (above) because the router was putting it there.

In short, the computer was connected to the router at the router's default address of 192.168.1.1.  The computer was then obtaining its own assigned IP address of 192.168.1.100 from the router.  The computer was set to accept automatically whatever IP address the router assigned.

I could verify that the router was indeed set to assign an IP address of 192.168.1.100.  Indeed, I could change that address, if I had some reason to do so.  I could do this by logging into an internal webpage hosted within the router itself.  The router was my computer's gateway onto the Internet.  As described above, the router's default gateway address was 192.168.1.1.  I could go to that address using an Internet browser (e.g., Internet Explorer, Firefox).  I just had to type those numbers, with nothing else, into the address bar of an Internet browser, and hit Enter.  That would take me to the router's login box.  By default, the username for this model was just left blank, and the password was "admin."  If the username or password were forgotten, a reset would be the likely solution.

In the router's internal webpage, in the Setup > Basic Setup tab, I verified that 192.168.1.100 was the assigned "Starting IP Address."  (Other computers on the network would automatically be given related but not identical numbers.)  I could also have changed the router's Local IP Address at that point, if I had had some reason to do so.

Testing the Router

Now that I had this information, I could proceed.  If I had gotten information different from that provided above, it might have been because the router was not working right, or because I (or someone else) had changed the default settings.

Now I could just verify that the router was definitely in touch with the computer.  I had already done that by logging into the router's internal webpage.  Instead, I could have just typed this into a command box:  "ping 192.168.1.1" (or whatever the router's gateway address was).  If it came back with a set of statements indicating that it had received a reply, then that meant that the ping had gotten a response from the router, so all was good.  This situation could be compared against the alternative by unplugging the ethernet cable leading to the router.  In that case, the "ping 192.168.1.1" command would produce no reply or some kind of error message (e.g., "Destination host unreachable").

Nonresponse from the router could just mean that there was something incorrect about the addresses being used.  It could also mean that the router was bricked.  Another clue would come from the power light on the router.  If it was dimmer than the other front-panel lights, or if it just kept on blinking, that would be another clue that it was bricked.

I did not have these problems.  But I was having problems that seemed to be related, at least partly, to the router.  So I looked for more information on testing it.  I found the so-called "peacock thread" on the DD-WRT website.  Its Note 6 defined a bricked router as follows:

A bricked router is a router that you can no longer communicate with through wireless or wired connections. It will give no response. Just because a router doesn't seem to be fully working, doesn't mean it is bricked. . . . A brick will not respond to pings at all.
By this definition, my router was not bricked.  I could communicate with it.  It was just not fully working.  Note 6 went on to provide further information.  It referred to the TTL values produced when I typed "ping 192.168.1.1" (above).  Mine was TTL=64.  Note 6 said this meant that the operating system firmware on the router was responding.  It sounded like some routers would deliberately start at TTL=100, which was apparently a slower setting more suitable for starting the process of upgrading the firmware, and would then switch to TTL=64.  To ping continuously and see if things changed, the command provided above would get an additional -t.  That is, the command would be "ping -t 192.168.1.1."  Usually, if the firmware was not functioning, there would be no response.  Other possible responses were TTL=1 (apparently the same as TTL=100 for these purposes) and "Destination host unreachable," which Note 6 said could be fixed by making sure the computer and the router were using the same static IP subnet.  There were other possibilities.  Note 6 summarized the situation thus:
Some routers can be bricked even if they do give some ttl=100 responses to pings, but this is less common. Some routers can be bricked if the lights are not all lit, but again, this is not common. However, if the lights are all lit, and you cannot get a ping response, the router is definitely bricked.
Again, it seemed clear, mine was not bricked.  I was not clear what that meant.  It wasn't working, but it also wasn't nonworking.  It was working in the sense that I could get into its operating system, but not in the sense that it would actually function as a router.  It seemed there were hardware and software versions of being bricked.  I decided to upgrade the firmware and see what would happen.

The Hard (30+30+30+10+10) Reset

Since it didn't look like my router was bricked, the next step was to do a hard reset.  They recommended doing this before and after every firmware upgrade.  This began with an effort to verify where the reset button was.  On the Linksys WRT54GL, there was a recessed reset button on the back panel, and there was also a concealed button behind the glowing Cisco Systems logo on the left side of the front panel.  The manual was not clear on this.  The button on the back panel seemed to be definitely a reset button.  The one on the front might have been intended only to clear the SSID and WPA Personal keys.

Following instructions, with the router connected to nothing except its power cord, I pushed the rear-panel Reset button and held it down.  After 30 seconds, still pressing the button, I unplugged the power cord.  After another 30 seconds, still pressing the button, I replugged the power cord.  After another 30 seconds -- a total of 90 seconds -- I stopped pressing the Reset button.  Then began what they should have called the 10+10 part of the procedure:  wait 10 seconds after releasing the Reset button, then disconnect the power cord again and wait another 10 seconds, then replug the power cord.  I did all this.  My power LED was not continuously flashing.  I was ready for the next step.

Debricking the Router

I was visualizing some kind of cold shower or slap across the face -- something, anyway, that would deprogram the router back to normalcy, after which a person would then go ahead and fulfill the societal role of reprogramming with "correct" content.  But at this point, it did not appear that there was any unbricking procedure per se.  You just had to reset the router and then install firmware on it.  I wasn't even sure what difference it would make if it was a brick:  it seemed like a person would go through the same steps regardless, as long as s/he wished to upgrade the firmware.  On this understanding, I passed Go, collected $200, and commenced onward to the upgrade step.

Preparing to Upgrade

DD-WRT offered firmware upgrades specifically designed for Linksys routers.  The DD-WRT firmware options had features that did not seem to be included with the standard Linksys firmware.  Most of these features seemed to be designed for networking freaks, but that obseration probably somewhat reflected my ignorance of what many of them even meant.  A few did pop out at me, though.  I thought it would be at least potentially useful, and might sometimes be important, to have features like bandwidth monitoring, a Connection Warning Notifier, a presumably improved kind of firewall, and perhaps a Samba client, since I had had problems getting Samba up and running previously.  Wikipedia offered a pared-down list of what may have been the most important features.

Guided by the Wikipedia list, and by the advice that I should first upgrade with only the micro or mini versions of DD-WRT, I chose the mini.  It had a few more features.  I double-checked my router version on the DD-WRT hardware database.  It said that versions 1.0 and 1.1 of the WRT54GL were supported.  I went to the hardware-specific page for this router.  I liked the idea of upgrading then again, from the mini to the VoIP, because I used Skype; but when I browsed the list of features, it didn't seem like the VoIP option had a lot of additional stuff to offer over the mini.  (The features mentioned above seemed to be included in the mini.)  So I decided a follow-up upgrade would come later, if at all.

It was a bit tricky to find the download.  It turned out that what I had to do was to use the hardware database, enter WRT54GL, and then double-click on the results list (consisting of just that one item).  It gave me three different versions of the Mini:  generic, or for flashing by TFTP or web.  The hardware-specific page said I should use the generic version if I was installing via web.  The web-based approach looked like it might be easier (i.e., harder to screw up).  I decided to use the web-based approach, so I downloaded the generic version (using computer B, which was not connected to the router, though I could also have connected computer A directly to the modem, bypassing the router, and downloaded it over there, which would have saved me the step of copying it over by USB flash drive).  The hardware-specific page pointed me to a specific build fo DD-WRT, so I also downloaded that.  I wasn't sure if I would use it, though, because I couldn't tell for sure if it was for the web or TFTP approach.  It was also smaller than the generic one I got from the hardware database, making me think maybe the webpage promoting it hadn't been updated for a while.  I used a USB jump drive and copied the upgrade files over to computer A.

For the web-based approach, they warned me to use Internet Explorer, not Firefox, though I noticed that someone said Firefox was fine too.  They also advised making sure I had file sharing and could browse to see other computers on the network.  This was not the case for me.  I was hoping that the router could help me solve problems with my network, as described in other posts.  They further advised making sure the computer's power options would not trigger the screen saver, or worse, during this process.  Having reset the router (above), they advised to reboot the computer and log in to the router (above).  I saw somewhere the advice to disable the Windows firewall, so I did that too (Control Panel > Windows Firewall > Turn Windows Firewall on or off).

There were some further recommended steps.  One was to make sure I had everything I needed before I started, because of course I wouldn't be able to go online with the target computer -- which was one of the reasons why I found it advisable to have at least two computers.  This bit of advice was especially important if, for some reason, a failed upgrade would mean the end of Internet contact from that workspace.  I also had to disable security settings and programs.  This included disabling antivirus (Start > search for Security Essentials > turn off real-time protection > Save changes); disabling Windows Defender real-time protection (approximately the same steps); turning off User Account Control (UAC) (Control Panel > User Accounts > Change UAC settings > Never notify > OK); and turning Local Intranet security all the way down (Control Panel > Internet Options > Security tab). 

As advised, I planned to use a wired (not wireless) connection to the router.  I enabled TFTP as a precaution (Control Panel > Programs and Features > Turn Windows features on or off > TFTP client).  It seemed that I did not have to worry about Compound TCP, which was evidently disabled by default in Windows 7.  I did not have to disable wireless (Control Panel > Network and Sharing Center), since I had not set it up in the first place.

Upgrading the Firmware

Now the game began.  The router was connected only to computer A.  I logged in to it on computer A at 192.168.1.1 (above) and went to Administration > Firmware Upgrade and browsed to the DD-WRT*.bin upgrade file that I had decided to install.  I clicked Upgrade and left the room for a minute or two.  When I came back, it said, "Upgrade is successful."  I clicked Continue.  I then noticed I was supposed to wait five minutes before clicking Continue.  So now I waited.  When the router's WLAN light was on (and I had the impression it came on pretty quickly), the upgrade was said to be complete.  Nonetheless, I waited.  When the minutes were up, I had to enter a username and password.  According to the DD-WRT FAQs, the default username was "root" and the password was "admin."  It seemed that I was safe in clicking the Continue button, because when I did enter the password, I got a warning:
W A R N I N G

Upgrading firmware may take a few minutes.
Do not turn off the power or press the reset button!
This part did take a while, especially because I thought I was supposed to wait there.  Eventually it dawned on me that I should go ahead and click the Upgrade button that was staring at me.  Did we not already do this?  Apparently the concept was that I had last been in the Administration > Firmware Upgrade section, and now, after the upgrade, I had been returned to that same section.  So, sure, I could go ahead and upgrade the firmware again if I wanted, but otherwise we were done.  I was supposed to do another hard (30-30-30-10-10) reset, so I disconnected the ethernet cable from the router and did that. 

There were a few things that I did not need to know, but might have needed under other circumstances.  I did not need to know how to recover from a bad flash.  I did not need to know how to put the router into management mode, so as to ease a command-line installation.  There were tons of other instructions and information, but now that I had gone through it once, I thought that it probably could have been quite a bit quicker and more streamlined than it had been for me.

The Acid Test

On computer A, before going online, I now had to re-enable my security software.  I connected the computer to the router and logged back into the router's internal webpage.  The control panel still had the same basic arrangement as before, though sleeker.  For the moment, I left it at the default settings.  I connected the router to the modem.  I still wasn't able to go online.  Following advice, I went back to the router's webpage and made some changes.  In Setup > Basic Setup, I changed Conection Type to PPPoE.  That gave me an opportunity to enter my AT&T username and password.  I clicked Apply at the bottom of that screen.  After a minute, it had finished applying those changes.  I tried again.  Still no luck.

In short, upgrading the router's firmware did not seem to help computer A go online.  It also did not seem to make any significant difference in helping computer A communicate with computer B.  Both the router and a network switch were able to show the existence of the other computer, but not much beyond that.  Tentatively, it appeared that the uncertain status of my router, going into this project, tended to predict an uncertain outcome.  It was not really bricked, and therefore could not be saved; rather, it was just not working right, for some unknown reason, and all this effort could not change that.

Wednesday, January 5, 2011

Windows 7 Fails to Detect Other Computer on Network

I was becoming acquainted with Windows 7.  Sometimes, when I booted it up, it would immediately recognize the other computer (running Windows XP) on my home network, and would also recognize the (Linux-based) Synology Network Attached Storage (NAS) device I had connected.  At other times, unfortunately, the Win7 computer would only see itself.  This post describes steps I took to resolve that inconsistency.

I did a search on this problem.  I was inspired to undertake this investigation after I used System Restore to restore an earlier state of the computer.  Those other devices were now not visible in Windows Explorer.  They had been visible just a few minutes earlier.  To my knowledge, I had not done anything that would have made those devices more visible, or less so.

When I searched, I noticed a post in which someone said that Windows 7 was also losing track of drive mapping after it went into sleep mode.  I wondered if that was related.  The previous day, the computer had magically mapped drive D, a network drive on the Synology NAS, without any instruction from me to do so.  The poster said that he was experiencing both of these problems.  That particular thread concluded without an indication of a solution.  One poster said, "Ultimately this is just the nature of the way networking is sometimes."  But it seemed to me that it had never been that way between the XP machine and the NAS, or between the NAS and the Ubuntu setup that I had been using before I got Windows 7.

I wondered if it was somehow an XP problem.  The WinXP machine was currently in touch with the NAS.  Was it possibly barring the Win7 machine from seeing either itself or the NAS?  I rebooted the WinXP machine, but that didn't make a difference on the Win7 machine.

It wasn't a hardware problem, or even a networking problem per se.  Access to the Synology unit was through a web-based program.  On the Win7 computer, I could go into that Synology program and could communicate with the Synology NAS unit.  Synology could see the NAS unit, but Microsoft couldn't.  Apparently whatever was keeping Win7 from seeing the NAS was also keeping it from seeing the WinXP machine.  It was all or nothing:  either Win7 could see them both, or (as at present) it could see neither.

After going online in Internet Explorer and accessing the Synology NAS from the Win7 machine, I rebooted the Win7 machine.  That did not make a difference.  The Win7 machine was still unable to see the others.

In Control Panel > Network and Sharing Center > Troubleshoot problems, I tried the Incoming Connections option and said, "Find this computer on the network."  It came back with this advice:

Reconfigure your network

To prevent problems other computers or devices might have when connecting to your computer, no more than one device should perform network address translation (NAT).
I followed the link into Windows Help and Support, but that wasn't actually too helpful and supportive.  I clicked Next, and the Incoming Connections troubleshooter confirmed, "More than one device is performing network address translation (NAT)."  So, OK, which device?  I clicked "View detailed information" and went into Detection Details.  All I could find there that looked like it might be informative was a Network Diagnostics Log.  Following the links there in the Help dialogs, it seemed that, to open that up, I would have to use ThermaData Logger software.  This software seemed to be almost completely unknown through the vendor, ETI Software, that Win7 pointed me to, but I did find plenty of links for it elsewhere.  I had no idea why Microsoft required me to download a 29MB file from a slow connection just to read a log file.  While I was waiting on that, I found ThermoWorks -- the need for using thermal logging software was another mystery -- and was right on the verge of downloading their ThermaData Software Suite for Windows when I looked back at the Help dialog and decided to try instead downloading ThermaData Studio 1.0.5, which was apparently an entirely different deal.  That turned out to be a 12MB file.  While that was downloading, I went back to the dialog and clicked on the "Other Networking Configuration and Logs" link to open NetworkConfiguration.cab.  That led me to two text files:  ipconfig.all.txt and route.print.txt.  Neither contained any obvious references to NAT.  I installed ThermaData Studio.  Back in the dialog, I tried again on the link to the Network Diagnostics Log.  ThermaData Studio wasn't going to read it right there on the spot, so I downloaded the log and tried opening it from there.  But when I double-clicked on it, I got a message, "Windows can't open this file."  I went into the Start Menu and opened ThermaData Studio from there and tried to use it to view the file that I had downloaded.  At first, it didn't see anything -- it was looking for .msdb files -- but when I told it to look for .etl files, it found the download.  It gave me a completely empty file.  ThermaData Studio looked like solid software, but since I did not need it after all, I uninstalled it.

We were left with the question of which devices on my system were set to NAT.  Trying another approach, I disconnected the WinXP machine from the network and re-ran the Win7 Incoming Connections troubleshooter.  That didn't eliminate the NAT problem.  I reconnected the WinXP machine, disconnected the modem from the router, and ran the troubleshooter again.  Now the NAT problem was gone, though now there was a new problem, where the troubleshooter said it needed more information.  So, OK, possibly the modem plus at least one other device was doing NAT on my network.  I had seen a post indicating that modems and routers can both do NAT, so I plugged everything back where it belonged and looked at the pages on port forwarding and putting a router into bridge mode that that post linked to.  Following what the latter seemed to be saying, I looked at a sticker on the bottom of my modem.  (I didn't seem to have a manual for it, but could probably have downloaded one.)  It gave me an IP address to enter into my Internet browser; and when I went to the appropriate page, it asked me for a code that appeared on that sticker.  This led me into the configuration software for the modem.  After poking around for a minute, I found a page for the modem's PPP location.  This seemed to be what I wanted.  It gave me two options:
PPP is on the modem.  This is the normal mode for this modem.  The PPP session is initiated from the modem.

PPP is on the computer, gateway or router.  This should only be used if you need to run a PPPoE client on your PC or you use another device (e.g., gateway or router) to initiate a PPPoE session.  This is often referred to as "Bridged" mode.
Since option A wasn't working for me, and since the post seemed to be saying that I should use option B, I switched to that and saved the change.  This gave me a Location Warning.  It said,
When using Bridged mode, your access to the modem becomes limited.  To return to the DSL modem user interface after this change you need to directly connect your PC to the modem without any gateway or router between the modem and the PC, and configure your computer appropriately.

Configure the IP address of your computer to be on the same network as the modem by using an IP address of the form 198.168.1.x (except 192.168.1.254) and a network mask of 255.255.255.0.

You may also return to the DSL modem user interface by resetting the modem back to its initial defaults.  All configuration changes and other settings will no longer be available if this is done.  To reset the modem press the "Reset" button located on the back of the modem.
We still had a problem.  The modem was supposed to be restarting, but it wasn't working.  It had three green lights on, including the one for the ethernet (i.e., router).  But why wasn't its Internet light on?  I unplugged its power cord, waited a minute or so, and plugged it back in.  That didn't help.  I tried the same thing with its Internet (i.e., telephone) cord.  When it was unplugged, the modem's DSL light was flashing red.  So I seemed to have a mistaken understanding of the difference between its DSL and Internet lights.  Well, whatever.  It wasn't working, is the point.  I thought that possibly AT&T (my ISP) needed the modem to be in the other mode.  I thought about calling them to ask, but Christ, to enter again into that vale of tears:  no way.

Well, I would have liked to research the modem situation further, but there was just one problem:  I couldn't, as I now had no Internet connection.  I ripped off the sticker on the back of the modem that said, "Remove only if advised by tech support" and there, in all its glory, behold:  the Reset Hole.  I jammed a paper clip into it and watched in amazement as this achieved ... nothing.  It seemed the Reset Hole had gone stale.  It took a couple of tries, and possibly the discovery that this unit required a minimum of 30 seconds of pressure in the hole to achieve the desired reset.  Even so, I could get online only by cabling the computer directly to the modem.  The router seemed to be dysfunctional.  There was, inevitably, a call to AT&T after all, and it actually took only ten minutes

I went back to the modem's webpage, but was now getting "Unable to connect."  Taking plan B, I cabled the WinXP computer directly to the modem, as advised above.  But still, no joy.  No Internet light on the modem; Unable to connect in Firefox.  Now I had really done it.  I had gone and given myself no alternative but to call AT&T.  A half-hour later, we emerged with the discovery that I, in keeping with the spirit of the event, had lost my router password and unfortunately could not go online to figure out how to reset it, given that the reset button seemed to be having no effect no matter how thoroughly I massaged it.  Oh, and the modem was back in its original mode.  End of bridge mode strategy.

I ran a search on this reset problem.  It produced some possibilities.  One was that I needed to reset my TCP/IP preferences to match the router's IP address.  Another was that I just wasn't following the right steps to reset it.  Apparently it was too early to call it a brick; but even if it hadn't been, there seemed to be some kind of de-bricking option.  Or maybe I just needed to go through the full set of steps for setting up the network properly.  The part that I may have left out, in resetting the router, was that I did not disconnect all except the power cable before doing the reset.  So I did that now, and held the reset button down for an overly long time.  I replugged the cable between it and a computer.  In the computer's web browser, I went to 192.168.1.1.  This connected me to the router's webpage.  The password to get in, after resetting, was admin.  Now I set Wireless SSDI Broadcast to Disable.  The webpage said I needed to initiate the push-button setup at this point.  It seemed they were referring to the backlit Cisco Systems logo on the front of the unit; pressing it revealed that it was in fact a button, and this produced a message on the webpage:
Accepting clients!

You will be returned to the previous page after SES configuration completed.
It then did its thing for a couple of minutes, and then I was back at the webpage.  The manual seemed to indicate that WPA2 Personal would provide the best available security for my setup.  I enabled Wireless MAC filtering.  The manual said that the option to Filter Internet NAT Redirection "uses port forwarding to block access to local servers from local networked computers."  That sounded vaguely like what someone had said I needed to make my network work again, so I enabled it.  A search led to the advice that I should not enable these until I needed them.  I disabled Wireless Access Web, in this wired setting.  A few more settings, and then I was done -- and still unable to connect to the router.  The troubleshooter was going to be unable to give me much help, it seemed until I connected the router to the modem, so I did that.  That still wasn't working, so I used the router's webpage Administration > Diagnostic options to ping the local IP address of 192.168.1.1.  That worked, but was I just pinging the router itself?  I tried 192.168.1.100.  That worked too.  I thought maybe the Traceroute diagnostic would be more helpful.  It wasn't.

The manual gave some troubleshooting steps.  Following its guidance, I made sure the router's light was solid green.  The other instructions weren't applicable.  For a moment there, I gave up on life.  Then I ate a piece of chocolate and tried removing that NAT Redirection filter.  That wasn't the solution, but it gave me enough cockeyed optimism to try the Internet Connections troubleshooter.  It -- a veritable font of sharp-eyed discernment -- said this:
Your broadband modem is experiencing connectivity issues.
It said I had better power down the modem, wait 10 seconds until the lights were off, and then power it back up.  I decided to also plug its cable back in.  I was hoping that the troubleshooter would at least say, "Hey, we have found your modem -- so far, so good!" and I guess in a sense they did.  With everything duly de- and re-powered and cabled, I tried it again.  Now, by gum, we had a breakthrough:
Your computer appears to be correctly configured, but the device or resource (primary DNS server) is not responding.
What could this mean?  I had no idea.  I rolled the dice again on the Incoming Connections troubleshooter.  While that was running, I realized that a minor miracle had occurred.  Very quietly, while I was over there fixating on the Win7 computer, the computer on which I was writing this post had connected to the Internet -- through the cable, through the router, through the modem, through thick and thin!  And ... er, no, it hadn't.  Correction on that.

But at least there was a glimmer of hope.  By this point in the day, I had moved away from the Windows XP system, on the second computer:  I had rebooted with an Ubuntu live CD for maintenance purposes, and was therefore  writing this post in Firefox on that machine while it endured its maintenance throes.  And on that machine, for a minute there, I thought maybe it had made Contact.  But it had not.  I was in error.

Well, I had blown a good part of a day on a single troubleshooting problem.  This was, thankfully, a less frequent experience than it had been in years past.  I really and truly hated networking, and it probably showed, by this point, in my failure to grasp some obvious solution or to utilize some true-blue technique.  I really had no clue.  The problem wasn't with the modem or the Internet connection; I could save this post when I connected directly from the modem to this computer.  Possibly the problem wasn't between the Win7 computer and the router; the troubleshooter had felt that everything was in place there.

Trying something a little different, I got an ethernet switch off the shelf and connected both computers directly to the modem through that.  And, whoa, that changed everything instantly.  The Win7 computer popped up a dialog asking me to Set Network Location, and it was immediately connected to CNN.com, and the Ubuntu live CD spun up and updated this text shortly thereafter.  So.  It was the router.  I knew it all along.  What could this mean?  It could mean (a) the router was malfunctioning or (b) I did not have its settings right or (c) the real explanation, which I did not presently know.  Putting my money on (b), I reconnected the Win7 machine to the router, went to its webpage, and chose the Administration > Factory Defaults option.  When it was done wiping out all my hard work, it required the no-username, "admin" password entry.  I ran the Win7 Incoming Connections troubleshooter again.  It said it needed more info.  I tried it again with the modem connected to the router.  (CNN.com was not responding at that point.)  This came back with the message about how the modem was experiencing connectivity issues.

We seemed to have the beginnings of insight.  It appeared that I should have tried the ethernet switch and the factory defaults, right away, as alternatives to my custom configuration of the router.  Experiencing success with one or both of those alternative approaches would have clarified matters.

But that wouldn't be networking -- because, now that I had unplugged and replugged the switch a few times, it was no longer doing the job on either computer.  Everything was connected to it, as before, and the modem's lights looked right, but neither computer was able to connect.  With the switch still connected, I tried rebooting the Win7 computer.  It was no use.  The Win7 machine was still not able to see the world, and the Ubuntu computer was pretending to connect.  I powered down the switch and tried a direct connection from the modem to the Ubuntu computer.  Still crawling.  I powered down the modem for a minute.  That did it:  the Ubuntu machine was now going online without a sweat.  I tried the switch again.  That worked on both machines now.  So apparently the switch did get confused and need some time off.

The conclusion seemed to be that, if I needed a router, I needed to try a new one, and otherwise I should just use the switch and power it down for a while if it failed to work.

Both computers were now going online successfully.  What did the Win7 troubleshooters have to say about this?  The Internet Connection troubleshooter said that it "couldn't identify the problem."  This was apparently tactful speech:  it seemed to mean that it couldn't identify *a* problem, but didn't want to tell the user that s/he was imagining things.  The Incoming Connections troubleshooter said this:
Troubleshooting was unable to automatically fix all of the issues found.  You can find more details below.

Problems Found

Windows requires more information to diagnose the problem.
Here, too, there seemed to be a bit of a bullshit factor.  I had been taking these troubleshooters as though they meant exactly what they said -- that, in the latter case, there was a problem, though it was difficult to diagnose -- but now it began to seem that they might say this when there wasn't necessarily a problem.  Pointing me to an online source of the "more information" that the program needed was a funny gesture when, according to the troubleshooter itself, I might not be able to go online.  It seemed pretty lame, worthy of Windows 95.  After all, this was Microsoft's software reporting on Microsoft's software.

What remained, it seemed, was to choose between the switch and a new router.  That was a question for another post.