HP EX475 Windows Home Server Memory Upgrade

HP & Microsoft say that the 512MB of RAM delivered with HP server is enough to deliver 5 media streams at one time. It’s been streaming and copying files fine for me, although there’s rarely even 2 active connections and never more so I can’t say if the 5 streams is reasonable. But when I remote into the WHS and check memory usage I see it’s using 603MB, so it’s already swapping to disk. The only Add-ins I currently use are Jungle Disk and the Windows Home Server Toolkit. Neither add-in was actually doing anything and I wasn’t running the console at the time I checked the memory.

With memory prices relatively low I decided the main cost was my time so I went ahead and ordered a Patriot 2GB memory module. There’s only one memory slot and 2GB is the max the server can handle according to what I can find in various forums. HP’s official word is that 512MB is the only amount of memory supported and the upgrade probably voids the warranty. [Update: HP now says the memory upgrade doesn’t void the warranty – but it is still not supported and they don’t provide any guidance]

Donavon West’s Home Server Hacks site has excellent procedures for upgrading the HP Media Smart Server RAM. It took me about half an hour to upgrade the RAM following the procedure. Just take heed of his warning and use a #00 Phillips head screwdriver. Despite the tight fit, disassembling and reassembling the server wasn’t a problem.

Much to my surprise I did notice a performance improvement right away. The Windows Home Server console connections occurred faster and it’s response was snappier. Large files copied faster from my iMac to a server share.

I save my iTunes library on the server and I also saw an improvement in the performance of iTunes when it’s syncing to my iPod and downloading podcasts and videos. (With iTunes on the list of software having potential data corruption errors this may not be such a great idea.)

Naturally there’s plenty of free memory now and I can stock up on add-ins without cramping the memory even more.

Windows Home Server Recovery

I’ve been having sporadic problems with my Windows Home Server for the last week or so. The WHS was powering itself off for no reason and according to the logs it wasn’t a clean shutdown. It’s been sporadic, but happened twice on Saturday.

I was also having connectivity problems from my Macs. These were also sporadic and I suspected they were due to the recent OS X 10.5.2 upgrade rather than the Windows Home Server.

I figured no matter what, if I called tech support the first thing they’d want me to do was re-install. I also wanted to rename the server. I happened to name it the same as my .Mac ID and I figured there was a slight chance this was the cause of the connectivity problem. At the very least, it could be confusing.

The recovery is done from a PC connected to the the same network as the Windows Home Server. The Server Recovery Disk included with the HP WHS is used. A wired connection is recommended so that the connection isn’t interrupted during the recovery. I did the rebuild from Windows XP running under Parallels on my iMac.

HP has pretty good procedures online (scroll down to the Recovering Server section) and the online help and recovery wizard are also good so I won’t repeat every step in detail.

Factory Reset

I made sure my data backups where up to date and inserted the DVD to start the recovery. There’s two choices presented.

I go with the Factory Reset option in order to completely flatten the server. The data is backed up so there’s no sense trying half measure. The reset goes along as documented and the wizard is self-explanatory. It took about 90 minutes from the time I popped in the DVD to the time I could start restoring my data files and creating the IDs.

About half this time was spent watching the following dialog box. There were extended periods of time (5-10 minutes) where no progress was shown.

After the reset was finished I needed to recreate the IDs and restore my data files (a simple file copy). All the PC backups are lost and the home server connector software has to be uninstalled and re-installed on each PC. Since backups were lost I initiated a backup immediately after re-installing the connector software on each PC.

The Results

I did the Factory Reset last Saturday and the server hasn’t crashed all week so that problem seems to have been resolved. Looks like it was a software problem.

Much to my surprise the intermittent connectivity problems also went away. So that was either a Windows Home Server problem, a conflict with the old server name and my .Mac ID, or a total coincidence. In any case it looks like this problem was also resolved.

Configuring a UPS on Windows Home Server

I purchased a APC BE750BB Back-UPS 750VA UPS awhile ago and had plugged my Windows Home Server into it but never configured the shutdown or power management. The APC Powerchute software is not needed to do this. (Although I may install it sometime in the future to see what the differences are.) So this should work for most any UPS that has a USB connection to the server.

The BE750BB has 10 power outlets, five that have battery backup and five that are just surge protected. Each bank of 5 has one outlet at the end that’s offset enough to handle a power brick. My goal is to provide an orderly shutdown in the event of a power failure, not to keep the server running as long as possible. I have the Windows Home Server plus it’s router in the battery backup outlets. I’ll also use the battery backup outlets for any external drives I add. The cable modem, a wireless access point and a printer are plugged into the surge protected outlets.

  1. So to configure the UPS first connect it to a USB port on the Windows Home Server using the cable that came with the UPS and make sure the WHS is plugged into a UPS outlet with battery backup.
  2. Connect to the WHS using remote desktop.
  3. Verify that the WHS sees the UPS by going to Control Panel -> System -> Hardware tab -> Device Manager button. You should have a “Batteries” item in the tree and the UPS should be listed there (although it may have a cryptic name – if your unsure, remove the UPS cable and see if it goes away.)
  4. Back to Control Panel and select “Power Options” then the alarm tab. Since I don’t care about anything but a safe shutdown I turn off the low battery alarm. I then set the critical battery alarm to occur when the battery level reaches 50% so there’s plenty of juice to shut things down. I also turn off notifications. Notification will just pop up a message on the non-existent console. well, non-existent unless I have a remote desktop connection at the time of the power failure. I change the action to shutdown and there’s no program for me to run.

    The pictures below show my configuration (double-click for full size).
    Obsolete images have been removed

To test it I unplug the UPS from the wall outlet, listen to the annoying alarm for about 10 minutes and watch as the WHS shuts down.

Remote Desktop Connection

While Microsoft may prefer that all Windows Home Server (WHS) administration occur through the Windows Home Server Console, there may be times where you want to be on the actual server console, as if you connected a monitor and keyboard to the server. You can use Microsoft Remote Desktop in order to do this.

Microsoft Remote Desktop is already installed with Windows Vista. To run it just go to the Start -> Search box and start typing Remote Desktop. It’s also included with Windows XP where it’s in the Accessories -> Communications menu group.

It can also be installed on Windows 2000 Professional and and earlier OS’s by downloading it from Microsoft.

When the remote desktop client starts you’ll first be for the computer to connect to. Once that’s entered you’ll be prompted for the user name and password. Use administrator as the user name. Use your Windows Home Server console password as the password and you’ll be on the server.

You’ll see a ominous message warning you about bad things.


It’s open in IE so just close the window and you’re on the server desktop.

Windows Home Server May Corrupt Some Files

I knew I was liking Windows Home Server (WHS) too much. Microsoft has posted knowledge base article 946676 which describes a potential file corruption issue with WHS. Affected software includes:

  • Windows Vista Photo Gallery
  • Windows Live Photo Gallery
  • Microsoft Office OneNote 2007
  • Microsoft Office OneNote 2003
  • Microsoft Office Outlook 2007
  • Microsoft Money 2007
  • SyncToy 2.0 beta
  • Intuit Quicken and QuickBooks may be affected
  • Torrent applications may be affected

The cause is a terse:

This issue may occur because of a recently discovered problem with Windows Home Server shared folders and with certain programs.

No work-around is posted, other than don’t use the apps with WHS. Microsoft has been able to reproduce the problem according to a blog post by the Windows Home Server team.

Microsoft has said they’d update the KB article when they have a fix but I would expect a software update to follow.

Update: Ed Bott at ZDNet has additional information on the bug. It’s harder to reproduce than the Microsoft KB lets on and requires the WHS to be under “extreme” load among other things.

Centrally Managed iTunes Library on Windows Home Server

picture of some vinyl record singles I decided to move my iTunes Library to a shared folder on my Windows Home Server. The HP MediaSmart Server does come with the ability to stream songs to any computer running iTunes on your home network. But this only provides streaming ability, which I can already do from my iMac. I wanted to be able to manage the library from any Mac, not run multiple iTunes simultaneously. This does not provide the ability run multiple copies of iTunes at the same time, rather it allows the library to be stored on a server and managed from multiple computers.

This article at Mac OS X Hints, provides information on how to share iTunes between Mac and Windows. While the procedure basically worked I had some problems, possibly due to changes in iTunes since the article was written, possibly due to something unique in my setup or requirements.

I had two problems:

  1. iTunes would not let me select the library on the share from my iMac. When I option->clicked to open iTunes and browsed to the WHS it wouldn’t list anything (literally – no shares, no files). I ended up creating an alias (sym link) to the iTunes directory on my WHS music share. I could then browse to the alias and select the library. To add to the frustration this worked fine from my other Macs but still fails to work on my iMac, even moments after shutting down iTunes.
  2. Switching between the Windows and Mac versions of iTunes caused the library to rebuild each time. I didn’t like the delay. Besides, all my Windows machines are virtual machines running on a Mac so I don’t need Windows iTunes. This appears to be due to the way iTunes addresses the library and it updates the path to the files. But the procedure outlined in the Mac OS X Hints article does work and there may be a way to specify the location that will be both Mac and Windows happy.

You may want to turn off DS_Store files on network drives, if you haven’t already. The process for setting up my specific WHS configuration is documented below.

Setting Up the Share

I decided to create a folder called iTunes under the common Music share that was there upon delivery. Since my iTunes library was on my iMac I needed to set that up to connect to the share. I browsed to the share in finder to mount it and told OS X to save by id/password in my keychain. You can also mount it by selecting Go -> Connect to Server in the Finder menu. Type in your WHS name in the format smb://servername, where servername is your WHS. You’ll be prompted to pick the share and enter a ID/Password (if it’s not already saved in your keychain).

I want this share mounted all the time so I’ll add it to my start up items. To do this go into the Accounts panel in System Preferences. Select the ID and then the Login Items tab. Click the plus sign to add an item then browse to the new iTunes folder on the Windows Home Server. Click the Add button and it will appear in the startup list. To work seamlessly the id/password should have been added to the keychain when you manually connected.

Moving the iTunes Library

I moved the iTunes library from my iMac to the Windows Home Server by following the standard procedure for moving an iTunes library on a Mac with some minor modifications. Be sure to select a sub-directory of iTunes for the files, I created iTunes Music to match the standard. After finishing the standard move process (the bulleted items in the Mac OS X Hints article) I copied the iTunes Library file from my local iTunes folder to the iTunes folder on the share. I did not add the extension so it’s still Mac only.

I could not do the next step on my iMac until I created an alias. Browse (in Finder) to the iTunes directory in the WHS music share (not the “iTunes Music” folder with the song files, but the main iTunes directory.) Right-click (or control-click for one-button mice) the iTunes directory and select Make Alias from the menu. Then move the alias that was created to your local hard drive. I put mine in my home directory. I did not need to do this on my Mac Mini or MacBook.

Start iTunes by holding the option key when you click the icon (aka option->click it) browse to the alias you just created, then select the iTunes Library file and open it.

The album art will be missing so now’s a good time to copy it. Copy the contents of the Album Artwork folder (located in the iTunes Folder) from your local PC to the iTunes directory on the network share. I did this with iTunes shut down (not sure if it matters but to be safe) and made sure the network directories were empty of files.

At this point I just option->click iTunes on each of my Macs the first time I start iTunes and select the shared iTunes Library file.

I still haven’t deleted my old local iTunes library although I did rename the iTunes folder.

Additional Information

I haven’t purchased or used any iPod games although the one demo game I had (Vortex) seemed to move to the server share just fine. This may have occurred when I first synced my iPod as I was told some purchased items were missing and I let them be restored from the iPod. I didn’t notice the directory earlier but since I didn’t have any games I didn’t think to specifically check. You may also need to manually copy the iPod games directory and library file to the share, or make sure they get restored from your iPod.

I did try using iTunes for Windows and Mac to access the same library. This did work but every time I switched the OS the Library was rebuilt which was time consuming. Since I have no real need for iTunes on Windows I decided to drop it.

Since doing this I’ve had problems keeping my sync connection to Apple TV. Apple TV still only syncs with my iMac and not with any Mac that has the library open. The iTunes name displayed for sharing is still unique on each computer. But, I’ve had to set up syncing for my Apple TV to iTunes a couple of times since setting up the shared library. I’m unable to reproduce the problem on demand by going to the different copies of iTunes and starting them and then checking my iMac iTunes. But eventually it just disappears. I’ve never had a iTunes sync problem before but others have so this may be unrelated to the shared iTunes library. Or, it could be related to the DRM that limits Apple TV to one iTunes library for syncing. The good news is all I’ve had to do is re-authorize it, it doesn’t clear the hard drive and cause everything to resync again or force me to reconfigure what I want synced.

My iTunes Library file consists of about 8,100 titles and is about 19MB. When shutting down iTunes over a wireless connection there is a short but noticeable delay while it saves the library. Over my 802.11n network it takes less than 10 seconds and over 802.11g it takes about 20 seconds to exit iTunes. Not a problem for me, but noticeable.

Backup Considerations

Windows Home Server has the ability to duplicate shares which means it makes sure there’s a copy of the file on two different physical drives. Not exactly mirroring, but similar in concept. With the iTunes Library on my Mac it was being backed up in Time Machine and on my drive clone, two different pieces of hardware. On WHS it’s on two physical drives but not truly backed up. If a WHS drive fails I’m OK, but if WHS itself or the server hardware fails the files are trapped. Also, if something gets deleted from WHS accidentally it gets deleted from the duplicate drive too. The same with corruption.

I’ll probably set up something with ChronoSync to copy the library down to a local drive either as a current backup or to be picked up by Time Machine. The benefit of Time Machine is I’m not locked in to restoring only the latest files. If I missed some deletion corruption I can go back. Unfortunately my iTunes library is just to large to back up over the Internet to something like Amazon S3. It would max out my upload bandwidth for weeks.

Windows Home Server vs. OpenDNS vs. Apple

My HP MediaSmart Server arrived the other day and I got around to hooking it up last night. It was a night of frustration and a lot of swearing at WHS and other computer devices. But then this morning the light bulb went off, there was an easy solution, and the problem was unrelated to Windows Home Server.

I’ll start with the solution and work back. The problem I was experiencing was that the installation of the Server Connector Software couldn’t find the HP MediaSmart Server. I use OpenDNS and that ended up being my problem. I could go to a command prompt, type a totally garbage name and it would resolve to an IP address, always, which is very close to the OpenDNS name servers so it’s probably related. I tried disabling OpenDNS’s typo correction but that didn’t have any effect (although I did confirm it stopped fixing typos).[Updated: See next paragraph] I also tried creating a LMHosts file but that didn’t work since DNS was still used to resolve the name. I considered putting a hosts file on each machine but considered it to much of a pain to manage.

Update: Turning off typo correction does work. My cable modem was rebooted and I also got a new IP address. There may have been some caching someplace. Also, as Mike from OpenDNS mentioned in the comment, adding the device name is also a possible solution but for now I’ve decided to leave typo correction completely off.

These are the symptoms that led me to look outside my network for the problem:

  • Running the diagnostics from the Microsoft Windows Home Server Toolkit returned a long list of errors, all pretty much saying the server or various components couldn’t be found.
  • The installation worked when I cut off my Internet connection.
  • After the successful installation, with the Internet restored, the server console wouldn’t connect. The desktop tool (for doing backups) could see the server.
  • Pinging garbage names still resolved to an IP (I took too long to try this one – try it first, even if you haven’t named the WHS yet).

These are the configurations I’ve gotten to work:

Router: Apple Airport Extreme Base Station (AEBS) – Both the WHS and Cable modem are connected via ethernet cable to this router. This does not support uPnP so port forwarding will need to be configured although this does not need to be done for the actual connector install.

Microsoft Windows Vista Ultimate running under VMware Fusion 1.1 on Mac OS X 10.5.1. It was necessary for me to configure the network connection to “bridged” mode so the VM would get it’s own unique IP address. It was set to “share the hosts Internet connection (NAT)” which I believe was the default when I created the VM (at least I don’t remember changing it). This is on a MacBook which is connected via 802.11n wireless using the AEBS.

Microsoft Windows XP Pro SP2 running under Parallels Desktop 3 (Build 5582) on Mac OS X 10.5.1. Unlike VMware, Parallels gives the VM it’s own IP address so no config changes were needed. This is on my iMac connected via ethernet cable to the same AEBS as the WHS.

Microsoft Windows XP Home SP2 running on an old HP laptop. This usually connects via 802.11g wireless to a 802.11g wireless access point that’s bridged to the AEBS. This laptop could not see the WHS to do the installation over wireless. I had to connect it via ethernet cable to the AEBS. I haven’t tried testing it with wireless now that it’s installed. I pulled it out to eliminate the VMs as the problem and once I did that I packed it away again.


Port Forwarding for Remote/Web Access with the AEBS

uPnP routers handle all this on their own, some feel uPnP is a security risk and want it disabled. Personally, while it may not be a true security risk in itself, it’s designed to do things seamlessly for the user (meaning no need to tell the user). These things include opening up router ports. Apple doesn’t support uPnP, they support NAT-PNP instead, which provides similar functionality. I’d rather know what’s going on, opening the ports myself, so I turn off NAT-PNP on my AEBS and would turn off uPnP if my router supported it.

By default the HP MediaSmart Server (and probably most Windows Home Servers) use DHCP to get a IP address. This means the IP address of the WHS could change, even though it’s unlikely if it’s left on. Still, to be safe I reserved a DHCP address for the WHS in the AEBS config. This way I can forward ports to an IP that won’t change. You can get the Mac address and current IP address from the Windows Home Server console. It’s in the Remote Access section, click the details button under Router. I reserved the IP address it was already using.

The private IP address is your WHS. Add port 443 for the HTTPS protocol, port 80 for HTTP and port 4125 for remote access. You can leave out the remote access port if you won’t be using remote access.

The AEBS has an annoying habit of doing a reboot after any change, no matter how minor (like a DHCP reservation), so make all the changes at once and expect the reboot when you click the “Update” button.

Worlds Didn’t Explode

There wasn’t any great explosion when I hooked up this Microsoft device to my Mac heavy home network. I spent so much time troubleshooting, partly because I expected the problems to be related to the VMs or my AEBS that I haven’t had much time to give WHS a workout, but it’s encouraging so far. OS X can see and connect to the shares on the WHS. Differences in file naming conventions means there are limits with the OS X files I put on the server but for straight data it seems fine so far.

I was extremely surprised when I saw the HP MediaSmart Server show as a shared music source in iTunes on my Macs, although I haven’t loaded any music to actually try it yet.

AutoRuns for Windows

This post is obsolete. Images and broken external links have been removed.

AutoRuns for Windows is a free utility from Microsoft (that they inherited when they bought SysInternals). It shows absolutely everything that starts when Windows starts and when you logon. It doesn’t just show the programs, it goes deeper to show the DLL’s loaded. There’s 15 different categories, from “Logon” to “Network Providers”.

The screenshot below shows the main screen (click image to load full size).


Clicking on a startup item shows you the information about it in the bottom pane. The information is similar to the information in file properties. You can disable a startup item by unchecking it. If Process Explorer is running you can view a startup item in AutoRuns then selecting Entry -> Process Explorer from the menu.

While the amount of information provided can be daunting at first, Autorun is an excellent tool you can use to see why your PC is running so slow or taking so long to boot. You can also easily troubleshoot performance and startup issues by disabling items temporarily.

You won’t use it a lot, but if you run or support Windows you’ll want AutoRuns in your toolkit. You’ll be amazed at how much garbage many applications load themselves when your Windows PC starts.