Thursday, February 17, 2011

Initial impressions of the Netgear WNDR3700

I recently upgraded my home network with a new router.  I have Linksys WRT54GS router, running a custom firmware called DD-WRT.  DD-WRT provides a lot of extra functionality that wasn’t available with the stock firmware.  It’s the closest thing to a free lunch that you can get, computer-wise.

I’ve had the WRT54GS for a couple of years and it was starting to show it’s age.  I needed to reboot it about once a week or so, or I would lose network connections.  It also predated the 802.11n protocol, and my iPad and one of my laptops support N.  I also wanted a router that supported gigabit speed LAN ports.  So I’ve been in the market for a while now.

Last year, Netgear released a few new N ready routers.  The WNR3700L was designed to be used with custom firmwares.  Netgear even created a website, MyOpenRouter, to support the enthusiasts.  It has a fast processor (480mfz), gigabit ports, and supported G & N on the 2.4ghz band.  I came this close to buying one.

Then I read up on the next size up router from Netgear, the WNDR3700.  This is a dual band router.  You can configure B/G/N on the 2.4ghz band, and A/N on the 5 ghz band. You can keep the N devices at the less crowded 5ghz, and leave the G devices at 2.4ghz,  It also has a faster (680mhz) processor.  This router was listed as a powerful router on the DD-WRT site.  So I spent the extra money and bought that one instead.

The first thing I learned was that I bought a WNDR3700v2, the 2nd generation model.  DD-WRT was not supported for this model.  It turns out that Netgear based their firmware on the OpenWRT project, so out of the box it came with nearly every feature that I wanted.  It had support for updating my DynDNS account, static IP addresses, IPv6, guest networks, a shared USB drive, DLNA, etc.

It doesn’t have everything that DD-WRT has.  It doesn’t have a VPN server.  With DD-WRT, you can run PPTP and OpenVPN servers.  I use PPTP for a few reasons.  The main one was to be able to get a secure connection to my home network so that I could open a remote desktop session to my home PC.  I could also use the VPN connection to access sites that would be normally blocked by the network that I was connected to.  The WiFi network at my local car dealer blocks all of the social networking sites.  When I’m waiting for my car, I would open a VPN connection so that I could check Facebook and Youtube.

Using a VPN also provides a level of security when you are on an unsecured WiFi network.  By encrypting your traffic, your are less likely to have someone capture your data.  The pptp protocol is not completely secure, OpenVPN has better security.  Apple, in it’s infinite wisdom, does not provide OpenVPN support on iOS.  I could open a PPTP VPN connection from my iPad, but there’s no way to get OpenVPN to work. Well, there is a 3rd party OpenVPN client for jailbroken devices, but I’m not going down that route.  At any rate, PPTP is still more secure than unencrypted traffic.

So the WNDR3700 was pretty close to being good enough with the OEM firmware.  Since the WRT54GS was running a PPTP server just fine, I decided to keep it around and use it just as an access point.  That’s part of the joy of DD-WRT, it’s vary easy to customize a router for special needs.  On the DD-WRT site, there are pretty clear instructions for turning a router into wireless access point.  This is all I needed to do:

  1. Change the IP address of the old router.  Since the WRT54GS would be wired to the WNDR3700, they couldn’t have the same IP address.  I changed the WRT54GS from 192.168.1.1 to 192.168.1.2.
  2. Configured the DHCP server on WNDR3700 to use the range 192.168.1.5 to 192.168.1.254 for handing out IP addresses.  This would make sure that nothing else would get the 192.168.1.2 address.
  3. On the WRT54GS, set the WAN type to disabled and disabled the DHCP and DNSmasq services.
  4. Set the WAN port on the WRT54GS to be a LAN port.
  5. Configured the WNDR3700 to forward the PPTP port, 1723, to the IP address now reserved to the WRT54GS.  Any request for a PPTP connection from the outside would now get redirected from the WNDR3700 to the WRT54GS.

After making those changes, I wired the routers together,  I opened a VPN connection to my office PC and RDP’ed into it.  From my office PC, I opened a VPN connection to my home network to verify that the PPTP server was accessible,  It worked the first time.  That’s rare for me, but I’ll take that for a dollar.

I’ve been using this router for a week and it has been rock solid.  There are a few quirks, the UPnP had some issues with Windows Home Server, but that was easy to work around. The wireless range is much better than what I had with the Linksys.  I probably would have been good with the single band WNR3700L, but I am happy with it’s dual band big brother.

Tuesday, February 15, 2011

How I patched a Dell workstation with a firmware update from HP

About 18 months ago, I got a Dell Precision T5500 workstation.  A decent PC with a Xeon quad core processor which has bee a pretty decent box for doing development with.

About a month ago, it started acting very flakey.  I would be doing my work and the display would go all wonky on me.  I would see crawling vertical lines going down the display.  After a minute or two, the colors would get very dark and the computer would stop responding.

A reboot would restore the machine.  There were no warning signs, nothing in the event logs.  One minute it was running, the next it was locked up.  This would happen about once a day or so.  Not enough to keep me from using the machine, but enough to warrant getting it fixed.

We have Dell Priority support, which we hoped would help resolve this problem.  We bought this machine with Vista and it had the free upgrade to Windows 7.  We had bough a bunch of these machines, another one was having a strange crashing problem as well.  Because I had installed 64 bit Windows 7 on it, Dell said it was not supported. 

That annoyed our IT manager.  He then engaged Dell support to fight the good fight.  He called BS on that one and their response was for him to uninstall the current video driver and install the latest Dell approved driver.  While he was doing that, I stated doing my own research.  They had a Plan B, but that involved swapping drives without machine and wouldn’t have actually resolved anything.  We hoped to avoid Plan B.

This T550 came with an NVIDIA Quadro NVS 295 video card.  It’s a basic workstation card with enough horsepower to drive 2 displays.  I had kept the driver updates current with whatever Windows Update suggested for it.

We downloaded the files from Dell, and ripped out the current driver.  The Dell drivers refused to install, claiming that there were no supported devices installed.  The IT guy had downloaded the recommended driver, which supports a motley crew of NVidia cards.  He found a NVS 295 specific driver on the Dell site and started downloading that.  Peachy.  While he was fighting with my machine, I had found some clues in the NVIDIA forums.

I was not alone.  Other Dell owners had reported similar problems with that video card.  This post has a screen shot that was similar to what I was seeing.  Another post described applying a NVS 295 firmware update from HP’s web site.  This was posted by several Dell users as working.  Since it's on the Internet, it must be true.  The IT guy didn't want to flash the Dell with the HP supplied file, but I convinced him by using the following three arguments.

  1. It's a video card BIOS firmware, not for the motherboard.
  2. If we brick it, Dell has to replace it as it will no longer be a software problem.
  3. You can't beat the entertainment value of flashing Dell supplied hardware with HP supplied updates and having it work.

So I downloaded the firmware from a HP page labeled as “NVIDIA Quadro NVS 295 Video BIOS (ROM) and Flash Utilities”,  and the latest driver from NVIDIA.  The Dell NVS 295 driver download completed first and we ran that.  It would not install because it couldn't find the video card.  We then ran the HP flash updater, which immediately recognized the missing NVS card and happily flashed the BIOS.  After rebooting, we ran the NVidia supplied drivers and they installed without incident.

It’s now been a couple of weeks and my T550 has been running non-stop without any failures.  While I don’t understand why HP is only known place in the Googleverse that has a NVIDIA firmware update, I’m just glad that someone released it.

Updated: 2/6/2012
I recently had a comment on this post that I did not publish.  That person posted anonymously and put his email address in the post.  I don’t think he wanted his email address published (and you’ll see why), but I will include rest of the post:

I have the same problem, and I am unable to track down that flash utility! HP apparently doesn't support it anymore. Would you by any chance have it still and possibly throw it up and media fire or some other site for me to download?

The link I had listed no longer goes to the correct page.  HP updated the article and broke the link.  That’s how the Internet works folks, nothing is truly static.  That’s why we have search pages.  That HP link takes you to a page that has a search box.  If you type in “”Quadro NVS 295” in the search box and press the submit button, it comes back with a list of pages.  At this time, the top page on the list is the current page for the firmware download.  Since HP can and will change the link, I’m not going to make any effort to keep my page in synch with HP.

Since HP holds the copyright to that download and is still supporting, I don’t think it’s 100% kosher to put that file up on a file sharing site.  If HP abandoned it, then I can see a reason for making the file available.  But there’s no need when you can easily download it from HP.  It took less than 5 seconds to find the updated page.

One final point. About 7 months after writing that post, the problem came back.  In all likelihood, a Windows update has a conflict with the card and/or the drivers.  Since the machine was still under warranty, I had Dell send out a replacement card.  It failed right after booting up with the same problem. I was done with that card.  I ripped the card out and replaced it with a higher end card.

Friday, February 04, 2011

Reflections on Red Gate and their decision to charge for .NET Reflector

The chattering classes in the .NET world have been buzzing about Red Gate’s decision to start charging for the .NET Reflector utility in March.  I’m been amazed by the hostility and venom sent their way.  Lots of nasty things being written in a forum provided by Red Gate.

Earlier in the week, Red Gate posted a open letter to the .NET Community that the next version of .NET Reflector would cost $35.  Previous versions had been free (with an enhanced version available for an additional cost).  You can’t use the free one indefinitely, there is a time bomb in program that forces you to upgrade every 6 months.  If you don’t upgrade, the program deletes itself from your machine.

The time bomb predates Red Gate’s purchase of Reflector, the original author, Lutz Roeder, implemented that to force everyone to use the latest version.  It’s annoying, but it kept him from having to support multiple versions out in the field.

When Red Gate bought Reflector from Roeder in 2008, he posted the following on his blog:

Red Gate will continue to provide the free community version and is looking for your feedback and ideas for future versions.

There is nothing in that statement that says that Red Gate has to continue to make new versions available for free.  It was never an open source project, and there is no reason to expect Red Gate to make it one.  I think they tried to make the business model work, but did not see enough revenue from the paid version to cover the free versions.  That is unfortunate, but that’s just how it goes sometimes.

The tone that some people are using on the Red Gate forum was pretty raw.  When you see topics like “Red Gate, you have destroyed your reputation” or “Your parents should be really ashamed!”.  It wasn’t all negative, there are a lot of thoughtful comments, but I was surprised by the dumb and nasty.  I don’t think Red Gate was prepared for the response that they received.  They probably should have provided more lead time to their announcement.

I think that Red Gate should put out one more release of the free version of Reflector, version 6.  This final free release would have the time bomb feature removed.  No support at all from Red Gate would be available.

I would also like to see other licensing options.  I would like to see a site or company license that would let any number of developers within the company use Reflector.  LINQPad is another great .NET development tool and Reflector could use a similar licensing model.  There is a free version and a paid version.  The paid version has more features and you can license it by user, group of users, or all users within a company.  If Red Gate could offer that, I would have a much easier time getting my company to buy it.

It’s a great tool and the price is appropriate.