17 February, 2013

A tale about incorrect challenges

First, the soup

Several years ago, I got onto the broadband bandwagon after putting up with the increasingly inadequate ability to cope from my dialup account of the time. At the time of the upgrade, I gained a D-Link DSL modem from other sources, plugged it in, and prepared to see what the world was about on broadband. Until I hit a snag. Things weren't staying online consistently. After stuffing around with various things, moaning at my ISP, getting one of their modems (a Dynalink DSL-302) and still getting no real joy, we finally got our local telecommunications company around here. They replaced enough of the phone lines in the place to get things working and I haven't had a hiccup since, until I had to replace the ISP's modem because it started showing erratic behaviour over several weeks, then finally died.

It had lasted a while, but I did rather think it would have lasted longer. Never mind, modern throwaway hardware being what it is, I guess we just had to take it on the nose. We bought a more up-to-date modem (the TD-8840 from TP-Link), plugged it in, set it all up, and tried getting back to the surfing habits we'd got used to. Ha. Except that wasn't exactly the case.

We found that download speed would seriously fluctuate when we were using the modem at full capacity, even though we had been sold the modem on the premise that it would certainly more than cope with the load I stated. I took the modem back to the store, stated what was happening, and asked for another model or our money back. The shop was unable to comply, pointing out that their specific terms of return excluded the option of refunding the money, with the only other option provided being the same model modem as we already had.

In the end, we took the modem away with us, knowing that it probably wasn't up to the demand, but we purchased a Netgear N150 DSL modem. Again, this is busybox-enabled, but very slightly differently from the Dynalink I was using previously. I'm not going to bother plugging in the TP-link again, even though the expected load has now dropped (one less member in the household). The Netgear's done perfectly well as a performer, and even has the advantage of having wireless in addition to the four ethernet ports. I thought it was pretty good, and didn't need any further firmware patches.

Until the other week.

Now the meat

The issue first got noticed that not all might be right when I was gifted a DOTA2 key as part of Valve's somewhat-closed-but-getting-heavily-tested beta of DOTA2. I'd had issues with two other Steam games, but those were eventually sorted out with ping-pong calls to Steam's support service. Side note: they're quite good, although I find them very very slow, often taking days to reply. This issue on the other hand, wasn't something I could get Steam's help with, as the application started up fine, but would outright refuse to join any servers, with no indication of why. I even poked extra holes in the Windows firewall, even taking it down for one test. Of course, that didn't cure the problem. So that left the DOTA2 binary itself, something wrong with Windows itself, the DSL modem, the ISP, the Steam service or the remote servers as the likely suspect.

Someone else offered to help, and we got going on a TeamViewer session to see what was going on. For him, DOTA2 worked perfectly, so that counted out the servers he was connecting to. They were up, they were responding fine, no issues there. The next step we tried was to log into Steam from his computer, using my login credentials. I duly fed SteamGuard the right code to continue, and fired up DOTA2. Imagine my surprise when I found that DOTA2 worked perfectly as it was supposed to. With that, we counted out Steam themselves from having any involvement with the issue. Leaving only my machine, the ISP, and that DSL modem that had performed sterlingly up until now.

I found out that this program supported the -console switch too, so I fed that to the command parameters being used to launch the DOTA2 process. I started it up, and watched while various messages scrolled up the console window. All things appeared to be correct, so I tried to start up a multiplayer session with bots. And there I struck my next issue, and the real cause of the problem. In the console window whenever I tried connecting to a server, I was getting messages like this: Server connection did not have the correct challenge, ignoring. I hadn't seen this until I'd brought up the console, but it explained (partly) the problems I was having.

Don't forget the vegetables

I checked out whether I'd accidentally missed out any ports the ISP might not be forwarding, but struck no issues. In short, the ISP wasn't at fault (as if they ever were). Leaving ... you guessed it. That modem. The modem had been fingered by others as being suspect in a number of not-working DOTA2 installs from all over the world, mainly from the U.K. where the modem is commonly handed out by the ISPs to their customers. I was just the first to have struck the issue from New Zealand, where I live. It seemed that the DSL modem was mucking up the UDP packets and not giving them back correctly. So, now I had to find solutions. One solution (not optimal) was to switch the method that the modem used to talk to the ISP with, from VC-MUX over to LLC-based, however this meant that each packet leaving the modem and returning would have larger packets, increasing the amount of information transferred for no real gain in amount actually downloaded. Surprisingly, this actually worked for me, with my machine finally able to talk DOTA2 to the rest of the world. I didn't want to keep the modem in LLC-mode though, as it had been delivered in VC-MUX mode to begin with, and that's what the ISP supported directly.

The pudding (dessert for all you others)

The other option was to flash the firmware to see if it fixed any of the behaviours I was seeing. The last time I'd looked up firmware for this modem was very shortly after I'd installed it, at that stage, I already had the latest firmware, but now this was several months down the track. Anything useful was worth a try. I logged onto the Netgear website to look for updated firmware, found that yes, there were further updates, and downloaded them. I flashed the modem, hoping like anything I wasn't going to brick it, rebooted it, and hey presto. It came back up with all my settings intact, surprising me who was expecting to have to enter everything in by hand again.

Anyhow, the proof of the pudding was to reset the connection back to VC-MUX, and try starting up DOTA2 again. Thankfully, it all worked, and I was finally able to connect to servers, without me even having to reach for a Steam Support ticket. And the moral of the story? Sometimes it IS good to flash your modem, even when it's not obviously going to fix the error you currently have. And now I'm only stuck with the normal challenges of learning a game I've never played before, in a genre I hadn't played much if at all. But that's another tale, and one I won't tell for the moment.

No comments: