« Posts tagged Troubleshooting

Android: The cASE of the Missing Ringtones

A little while ago, I sold my old Rogers HTC Magic(+) to my sister, as I had managed to procure a Google Nexus One. Upon receiving it, however, she had troubles getting ringtones to detect in Settings >> Sound and Display >> Ringtones. A little troubleshooting led to the first problem, which was a ringtone downloaded from Rogers that was in the form of a .DM file. Unfortunately, Android devices aren’t able to read these DRM-encrusted files. Even with that explained, though, there was another issue – the phone wasn’t detecting any MP3′s, either.

After remoting in to the computer and taking a look around, everything seemed normal. I had her mount the SD card, and after browsing around, everything looked alright. As instructed, she had created the correct folder structure on the SD card and placed the MP3 appropriately:

/Media/Audio/Ringtones

(relative to the root of the SD card)

I was a bit stumped, but then I had a brain wave, and renamed the folders as such:

/media/audio/ringtones

Sure enough, the phone then happily detected the MP3 as a ringtone.

The TL;DR version: Like most Linux-based operating systems, Android uses case-sensitive paths. Avoid the urge to properly capitalize your folder names!

Low on Server Disk Space? Have Symantec Endpoint? There’s Your Problem

This morning, I received an email from a charity I do some consulting for saying that they were getting a Low Disk Space warning on their primary terminal server. After remoting in, I confirmed that on the 120GB primary partition, there was less than 100MB free. Odd, considering that the server only has about 40GB worth of user files on it.

A quick check (done by selecting likely folders in the root of the drive and opening the properties window) confirmed that C:ProgramData was using an extra 40GB space that it shouldn’t. Further digging revealed that C:ProgramDataSymantecSymantec Endpoint ProtectionXfer contained somewhere in the neighbourhood of 48,000 file, each ~20KB in size.

Solution? Delete and recreate the Xfer folder, then run Live Update again. Low disk space problem solved, but would someone at Symantec care to explain just what the hell happened?

Update: Found a temporary fix here: http://www.symantec.com/connect/forums/symatec-ep-making-alot-files-under-xfer-folder

Apparently, the issues results from EndPoint rescanning files in quarantine every time new definitions arrive. If you have a lot of files in quarantine, your disk space will disappear that much faster. Go figure. Apparently they’ve fixed some instances of this, but not others, as it was supposed to have been solved in MR4, but is still present in MR4 and MR5.

Excluding Multiple Paths with ROBOCOPY

ROBOCOPY is an excellent command line utility that Microsoft began bundling with Windows Vista, and has since been included in Windows 7 and Server 2008 (R2 as well). It makes it incredibly simple to mirror a directory tree, and is great for batch file backups. There are a few quirks with it, however.

When using the /MIR switch, ROBOCOPY overwrites the destination path with everything in the source path. To exclude folders, you’re instructed to use the /XD switch. Below is a sample with the correct syntax:

robocopy d:\ n:\Data /MIR /Z /A-:R /R:1 /W:1 /LOG:n:\logs\data.log /XD d:\vms d:\wsus “d:\System Volume Information” d:\tmpbak d:\installs d:\RECYCLER

To break this down, we start with the ROBOCOPY command itself. Following that is the Source Path (D:) and then the Destination Path (N:Data). Next is the /MIR switch that tells ROBOCOPY to mirror the existing directory structure and copy everything. The /Z switch sets the job in Restartable Mode, and /A-:R removes any read-only attributes. /R:1 and /W:1 tell ROBOCOPY to Retry copying the file once if it encounters an error, and Wait one second between retries (I’ve set it this low as the backup runs late at night, as if someone has left a file open it doesn’t matter how many retries are attempted).

Following this, the /LOG switch dumps the full output of the copy job to n:\logs\data.log. This includes information on the number of files copied, directories excluded, etc….

Finally, we get to the /XD switch. Note that this is the last included switch – although you can technically have it where ever you want in the command, it’s cleaner, and less error-prone if you make it the last switch.

To exclude multiple directories, simply list them with spaces in between. If the path contains spaces (in the example above, I’ve excluded System Volume Information), wrap it in double-quotes (“). The most important thing, though, is DO NOT EVER, *EVER* include a trailing “\” in excluded paths!

For some reason, ROBOCOPY parses the trailing “\” in an odd way. If included in the command, the log will list all of the excluded paths, however it will still copy the data. It won’t provide any error messages or other output. For example, if you used the following command:

robocopy d: n:\Data /MIR /Z /A-:R /R:1 /W:1 /LOG:n:logsdata.log /XD d:\vms d:\wsus “d:\System Volume Information\” d:\tmpbak d:\installs d:\RECYCLER

Because there is a trailing \ on “d:\System Volume Information\”, the log will report that the excluded directories are d:\vms d:\wsus d:\System Volume Information d:\tmpbak d:\installs d:\RECYCLER, however it will still attempt to copy all of them.

However, if you simply omit the trailing \, ROBOCOPY will correctly parse the list of paths and will ignore them.

Exchange Sync With Android: Possible, But Not Pretty

One of the things I loved about my old iPhone was the built-in Exchange sync. I could sync my email, my calendar, and even my contacts (although I only did the first two). Life was good.

After moving to the Android platform, however, I was disappointed to discover that although an Exchange email app was included, it wouldn’t allow you to directly sync an Exchanged-based calendar. A little searching provided a way, though.

  1. Make sure you’re running Office 2003 or 2007 – if you have the Office 2010 Beta installed, it won’t work. If you still want to sync, uninstall 2010 and install 2003 or 2007, then follow the Special Note at the end of the post.
  2. Download the Google Calendar Sync tool.
  3. Install, follow on-screen instructions.
  4. ???
  5. Profit!

Now it should be noted that I did this, and at first it didn’t work as I was using Office 2010 Beta 2. Even after uninstalling it and installing Office 2007, I still couldn’t sync and received this error:

Could not connect to Microsoft Outlook: error -2147319779

A little searching turned up this link, which contained a hint at the solution. When you install Office 2010, it creates the following registry key:

HKEY_CLASSES_ROOTTypeLib’{00062FFF-0000-0000-C000-000000000046}9.4

In the same key, there should also be a ’9.3′ entry. With Office 2010 uninstalled, you can safely remove the ’9.4′ key. Now, restart Google Calendar Sync, and everything should work just fine.

One major caveat with this solution is that your computer has to be up-and-running for the calendar to actually synchronize – fortunately, this isn’t much of a problem if you’re the only one updating your calendar. With any luck, though, Google will eventually support full Exchange syncing with Android.

Edit: I probably should point out that this is for ROMs without official Exchange support (such as Cyanogenmod, which syncs Exchange mail, but not the calendar). Some official ROMs, like HTC’s, actually include Exchange calendar syncing out-of-box.

Update: There’s an APK floating around that gives you the Exchange (Corporate) Calendar. I won’t link it here, but a Google search for “CorpCal.apk” should give you what you need.

Further Update: Froyo will feature native Exchange Calendar sync, so CorpCal will be rendered moot when the update finally hits.

Even Further Update: Froyo, which has been released OTA for the Nexus One, does in fact feature native Calendar syncing with Exchange. This article is handy if you’re stuck on an older ROM, but if not, just use the official method.

Short: Windows 7 Misreporting CPU Speed? Try This.

I noticed almost immediately after installing the first beta of Windows 7 that it wasn’t reporting the correct speed of my processor. I’m currently running an Intel Core 2 Quad Q6600 (2.4Ghz) overclocked to 3Ghz. Oddly, Windows XP and Vista both reported the clock speed to be 3.00Ghz, but Windows 7 only reported 2.4Ghz. I made sure to verify that the overclock was still active with CPUID which confirmed that yes, the correct clock speed was 3Ghz. Several people suggested just re-running the Windows Experience Assessment, however that didn’t do anything.

I’d mostly forgotten about the issue until I installed Rainmeter, and it started showing the stock clock speed as well. On a hunch, I went in to BIOS and, sure enough, Intel EIST (aka, SpeedStep) was enabled. After I disabled it and rebooted, Windows and Rainmeter immediately started showing the correct clock speed, 3.00Ghz.

Now why didn’t I think of that sooner?

Support: Those Pesky BIOS/Windows Video Drivers

Yesterday, a staff member told me one of the public-access computers was on the fritz – specifically, the screen was black and the fans were on full. Going over to investigate and try the basic troubleshooting, it looked like it had a dead motherboard, so I took it back to my work bench for further troubleshooting.

As the system was a Dell, it had a set of Diagnostic LEDs on the front to help diagnose the problem. Unfortunately, looking up the Optiplex 745 manual, it didn’t list the particular code the lights were showing: 1 3 4.

Looking through the listed codes, most of the ones related to 1 or 3 4 were for either faulty RAM or a bad memory controller, so I started there. I tried removing one stick, then replacing it and removing the other, using a completely different stick, and then none at all. Each time I was met with the same diagnostic code, 1 3 4.

Convinced I had the problem pin-pointed, I tried to get on to Dell’s Live Chat Hardware Support to get a replacement motherboard as the system was still covered by Next Business Day parts. The site, unfortunately, was down, so I was forced to call Dell instead.

Now, there’s a reason that I typically use Live Chat instead of the phone. The main reason is on Live Chat, I can quickly bang-out the troubleshooting I’ve already done, and 9 times out of 10, the tech will just send me the part. Phone support is rarely that easy, and this time was no exception.

The wait time was average (maybe about 5 minutes), and once I got the agent on, I quickly rattled off my troubleshooting and told him the diagnostic code. He put me on hold for a few minutes and when he came back, told me that the diagnostic code 1 3 4 on an Optiplex 745 means the video card isn’t working. Figuring it would be easy enough to test, I pulled out the PCI-E video card and switch to the onboard video. Sure enough, it worked.

At this point, I figured we’d be done. I didn’t have another PCI-E card to make sure it wasn’t the slot, but I supposed out loud that if I got the replacement card and it didn’t work, I could always send it back, make another call, and get a motherboard sent out. The ‘tech’ had another idea, though.

Him: There’s actually one more troubleshooting step I’d like to try.

Me: Okay, what’s that?

Him: Well, leave the video card out, boot in to Windows, go to Device Manager and remove the device. Then turn the computer off, put the video card back in, and see if it work.

Him: I just want to see if the driver is the problem.

Me: …what?

At this point, I nearly hung up the phone. Instead, I figured a little education would be in order.

Me: Okay, I think you might be a little confused. The problem is that, with the video card in, the system won’t even POST properly. I fail to see how a Windows driver could possibly be the problem, because at this stage in the boot process, the computer has no clue what operating system is on the hard drive. It hasn’t even looked to see if there’s a hard drive there. How can a driver possibly be the problem.

Him: Sir, it’s just part of my troubleshooting process.

Me: Okay, I’ll humor you. I’m going to pretend to boot my computer.

Him: No, I need you to actually–

Me (interrupting): Now I’m going to pretend to open Device Manager. Oh, would you look at that! Because the video card isn’t present, it’s not showing in the list.*

Him: …oh. Well, I guess we can send you a replacement video card….

Me: I thought so.

This morning, I received a call back from Dell asking me if I’d received the video card. I said no, and he told me that the card had been delivered and signed for. Figuring that maybe Purolator had delivered it to the wrong office, I put the agent on hold and checked around, but nobody had received anything today. Going back to the agent, I asked who signed for it, at which point he informed me that it hadn’t been delivered yet and would likely arrive this afternoon. Gee, thanks for that.

*Note: I’m aware that you can make Device Manager show non-present device by following this KB article, however that would have only confused the poor agent and wouldn’t have made a difference anyway.

Backup EXEC, the Bane of my Existence

Okay, so maybe it isn’t the bane, but it’s certainly a bane. Probably in the top three right now.

Environment: Backup EXEC 12.5 SP2 (fully updated) running on Windows Server 2008 SP2, backing up, among other things, Exchange Server 2007 SP2 x64, running on Windows Server 2003 x64.

Setup: Due to horrible issues with Backup EXEC’s (referred to as ‘BE’ from now on) handling of GRT (Granular Restore Technology) with tape backups, BE runs a B2D (Backup to Disk) job to backup the Exchange mailboxes, and then a second B2T (Backup to Tape) job does the standard backup, plus grabs the B2D directory.

Problem: The B2D job fails intermittently with the following error:

Cannot extract mailbox messages from the Exchange backup. V-79-57344-759. -1213 The database page size does not match the engine on the backup to disk job.

Troubleshooting: According to this article, Hotfix 319699 is supposed to resolve the issue, in most cases. According to the article, though, it only applies to 12.0 and Service Packs, 12.5, and 12.5 SP1. The issue is supposed to be resolved in SP2, which I’m currently running.

After spending an hour on the phone with Symantec support, as the article says to call them if the Hotfix doesn’t resolve the issue (it didn’t for me), I was basically told that the version of BERestore.exe in the C:Program FilesSymantecBackup ExecRAWS directory was older than the version on the BE Server (12.5.2213.101 compared to 12.5.2213.144).

Resolution: So far, the fix seems to be to manually copy the C:Program FilesSymantecBackup ExecAgentsRAWSX64Updates directory to the Exchange server, then sort by date and apply RAWSx642213RSP2.msp, plus every update newer than that. Once the updates are complete (it took me about 10 minutes to run all 8 applicable patches), reboot the server.

After doing so, I ran the B2D job and it completed, however that isn’t necessarily proof that this worked – as the problem is intermittent, it’ll take another week of scheduled jobs to tell for sure whether that resolved the problem.

For the time being, my fingers are crossed.

Repost: Getting Neverwinter Nights running in Windows 7

I’m re-posting this from another blog I contribute to, Carnival of Wank.

As I’ve been testing Windows 7, I thought it would be fun to dig out some old games. Rifling through my collection, I found and installed the Neverwinter Nights Diamond disk and figured it would be worth a shot to try.

The game installed without issue, however it would not update (the patch utility would download it, but then said the file was invalid). After popping over to Bioware’s website, I downloaded the manual patch, and it went in without issue.

Running the game was another story. After configuring to the highest video settings and resolution possible (which ran great under Windows XP), I tried to open from the launcher app (nwn.exe). Nothing happened. Remembering that it had an issue with UAC and Windows Vista, I set the compatibility mode options to force nwmain.exe to run as Administrator, and the game launched.

All looked good during the intro movies, however when I got to the menu screen, scrolling black lines (like the ones that show up when your refresh rate is buggered and your video card is dying) filled the screen. I fought with this for quite a while, and found that in order to get it to work you need to manually edit the following files (note that this is case sensitive and spacing counts!):

In ‘nwn.ini’, set the following in the [Display Options] section:

AllowWindowedMode=1
FullScreen=0

In ‘nwnplayer.ini’, set the following in the [Game Options] section:

Client CPU Affinity=1

And finally, in ‘nwnconfig.ini’, set the following in the [Processor] section (note that the ‘Speed’ setting should be your speed in Mhz):

NumCPUs=1
Speed=3000

As a result of this, your game will be in Windowed Mode, however it will play. The appears to be the result of the game detecting the video card as being an ‘RDPD Chained DD’ device – for some reason it detects the Remote Desktop video device as the primary display adapter.

Update: Probably should have included this originally, but if you haven’t already, make sure that you’ve updated to the latest Windows 7 compatible video card drives from the card manufacturer. Do not rely on the drivers provided by Windows Update, as they are often significantly more limited than the ones from Nvidia/ATI/Intel/etc….

Update #2: According to Alain from the comments below, if you are experiencing lagging issues with NWN on Windows 7, the issue is likely due to the 1.69 patch. He suggests uninstalling NWN, then reinstalling and only patching to 1.68.

Update #3: IMPORTANT (05/17/2010): You should also make sure that you have the latest DirectX 9 Runtime installed – Windows 7 does not include most bits of the DirectX 9 Runtime which can cause problems. You can download the (at time of posting) latest full version here: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=0cef8180-e94a-4f56-b157-5ab8109cb4f5