Press "Enter" to skip to content

Category: computers

iMac Goes To The Hospital

My desk looks pretty sparse without the 27″ iMac sitting on it. A few months back I noticed that the optical drive wasn’t working correctly, so today after calling support I have a 1pm appointment at the local Apple store to have the problem assessed. Since the drive simply doesn’t read disks; making slight clicking and whirring noises before ejecting them, I believe that the drive probably needs to be replaced. Hopefully there is a spare drive in the store and the techs will be able to replace the drive quickly, as this machine is pretty core to my network at home.

At least this will give me an easy chance to clean behind where it normally sits. A fair bit of dust has built up back there in the last year.

UPDATE: A new optical drive has been ordered, and Apple will call me when it’s in the store so I can bring the iMac back in to have the replacement done. Until then I’ve got my iMac back at home.

Leave a Comment

Plantronics Blackwire C610

I occasionally have to work from home, and most of that work ends up involving long conference calls. I’ve taken to using VOIP for these calls, but until now I didn’t have a quality headset to use during such calls. I’d tried everything from speakerphone via my iMac‘s built-in audio to an iMic and old analog gaming headset, but nothing sounded good and was comfortable to wear for more than a few minutes.

Having used Plantronics headsets for years at work I decided to see what they offered for portable / computer use and came across the Blackwire C610, one of their enterprise products and purchased it from PROVANTAGE for just under $70 shipped.

Without loading any drivers or software this headset shows up as a standard mono USB audio device, and its inline volume and mute switch works independently of the computer. The mute button also beeps through the earpiece to indicate mute status, and illuminates a dim red when the mic is muted. The headset weights a bit less than the handset alternative headset that I’d used at work for the last nine years and comes with the typical cord clip. There is also a two ear version (the Blackwire C620) for those who don’t like one-ear headsets.

The headset comes with both foam and leatherette ear piece covers, and the sound quality is outstanding. In tests calling friends and on conference calls I’ve received no complaints about quality, and when specifically asked I’ve been told that it sounds better than any mobile phone I’ve used recently. (This probably also has a fair bit to do with the PCM codec used by my VOIP provider.)

Leave a Comment

VBScript Function to Check Active Directory Domain Access

The following VBScript function can be used to check if a given username and password has access to the specified domain. It will return true or false depending on whether or not access was granted.

function fnCheckAccess(strDomain, strUserID, strUserPWD)
 
    const ADS_SECURE_AUTHENTICATION = &H01
    const ADS_CHASE_REFERRALS_ALWAYS = &H60
 
    dim objDSO
    dim objUser
    dim strPath
 
    strPath = "LDAP://" & strDomain
 
    On Error Resume Next
    set objDSO = GetObject("LDAP:")
    set objUser = objDSO.OpenDSObject(strPath, strUserID, strUserPWD, ADS_SECURE_AUTHENTICATION OR ADS_CHASE_REFERRALS_ALWAYS)
    if Err.Number <> 0 then
        fnCheckAccess = False
    else
        fnCheckAccess = True
    end if
    Err.Clear
    On Error Goto 0
 
    set objDSO = Nothing
    set objUser = Nothing
 
end function

Leave a Comment

Network Captures and Windows 7 Firewall

Windows 7 has a rather capable stateful firewall built into the OS. When troubleshooting network connectivity issues one often needs to determine if the client firewall (or something else) is blocking traffic. Quite commonly this involves acquiring a network capture to see what data is going to the client and comparing that with what is logged by the firewall.

I’ve just confirmed that network captures taken by Microsoft Network Monitor v3.4, WinPcap (used by Wireshark and WinDump), and netsh all capture data before the Windows Firewall has its way with it. Thus, packets which are dropped by the firewall are seen in a network capture. Confirmation of this was made by sending test TCP and UDP data with the firewall on and off, observing a local app set to receive the data (netcat), seeing which traffic hit the port via an external tap, what was captured locally, and what drops were logged by the firewall. In each case all TCP and UDP data seen by the external tap was also captured locally, even when it was dropped by the Windows Firewall. ICMP (and other IP protocols) were not tested.

This is a Very Good Thing from a network troubleshooting perspective.

Leave a Comment

LiveJournal Is Dead

For as long as I’ve been making posts on nuxx.net/blog, since back in March 2008, I’ve been automatically cross-posting things to my LiveJournal account ‘c0nsumer’. In recent years LiveJournal (LJ) has become markedly less interesting as folks move to other social networks and abandon the blogging format. I’m not about to give up a place to post random thoughts, images, and technical info, but I don’t think that I’m going to keep contributing such things to LJ.

I’m currently working on backing up my LJ account so that I can archive it somewhere, but as my account became unpaid this evening I suspect it won’t be long before I abandon LJ entirely and post solely here. I may even consider using Facebook, where I’ve maintained a minor presence so that I could view other people’s pictures. I’ve been a bit hesitant to use it for any real content, but as it reached critical mass a few years ago I really shouldn’t continue to ignore it.

So, I think that’s it. While LJ does offer some benefits such as ACLs to restrict access to posts (which I don’t use) and email notifications of replies to comments, I think it’s time to move on. Within a few days I’ll likely uninstall the LJ crossposter from WordPress, make a final post pointing back here, and bid the online social blogging platform that I’ve used since May 28, 2002 goodbye.

UPDATE: It turns out that the expiration of my LJ account does not remove my ability to automatically cross-post. So while I no longer have much of an interest in using LJ, I may as well continue cross-posting to make it easier for others to read.

1 Comment

MySQL Help (phpBB and aMember)

As some of you know, I do many of the “webmaster” activities for the Michigan Mountain Biking Association. As part of this, I’m trying to do some MySQL stuff, but I’m really not sure where to start since it seems to be way beyond my abilities. So, I’m going to write it up here and hope that someone can help. Please? Help?

Thank you very much in advance for any help you can provide.

I’ll put it below the fold…

6 Comments

Network Capture During Boot on Windows 7 (and Server 2008 R2)

When working on network issues it’s often useful to have a network capture (or trace) illustrating the startup of the computer. As a tap, a switch with spanning ports, or wireless capture equipment is rarely available it’s nice to do this right in the OS. Thanks to some improvements in both Windows 7 and Windows Server 2008 R2’s netsh it’s now possible to do just this. Most of the information in this post is gleaned from this article at TechNet Blogs Event Tracing for Windows and Network Monitor, but here I wish to present a simplified version of how to get and save a capture.

While there are more advanced methods available by running Microsoft Network Monitor (eg: capture filtering, remote shutdown via specially crafted packets, etc), this method will accomplish the majority of boot time network capture needs. This is also often much more useful than performing a capture via an external tap as it includes the ID and name of the process responsible for sending or receiving the given traffic.

To start a basic promiscuous mode capture listening on all interfaces with a 250 MB ring buffer (the defaults) and writing the trace file to the default location, use the following command, run as Administrator:

netsh trace start capture=yes persistent=yes

The capture will then run until stopped, even through reboots. To stop the capture and write the capture file out to disk, use the following command:

netsh trace stop

Consult the output from netsh trace start help to determine the other options you may want to set. Here are what I find to be the most-useful options:

maxSize=250 MB: Maximum capture size.
overwrite=yes: If there’s an existing trace of the same name, should it be overwritten?
traceFile=%LOCALAPPDATA%\Temp\NetTraces\NetTrace.etl: The output network Event Trace Log (ETL) file.

After an .ETL is obtained it needs to be opened and filtered with Microsoft Network Monitor to remove the extra headers. To do this ensure that you’re using the Windows set of parsers (Parser ProfilesNetworkMonitor ParsersWindows), use the display filter:

NDISPacCap_MicrosoftWindowsNDISPacketCapture

From here additional filters can be used, such as the example screenshot above which uses the following filter to display all captured ARP traffic:

NDISPacCap_MicrosoftWindowsNDISPacketCapture
and
arp

While I normally prefer Wireshark for capture analysis, I’ve found a number of cases where Network Monitor is more useful. The PID and Process Name capture, the IntelliSense-like autocompletion in the Display Filter, and the seemingly better decoding of a few protocols (SMB in particular) are great, even if the default layout is a bit crap and there aren’t as many built-in analysis tools. While obtuse to many It’s also quite a bit easier to get apprehensive customers to install a single Microsoft-provided tool on their devices than something they view as simply “a freeware tool from online”.

Leave a Comment

Time Machine Works!

After roughly twenty four hours of working and waiting on Danielle’s computer I have the hard drive uncorrupted and Time Machine working! It turns out that despite my previous thought that the corrupt drive was preventing backups from happening it was actually something else: the entries for the shared drive on the AirPort in the System Keychain somehow weren’t working right. Deleting them and allowing them to be recreated fixed things.

Since I have syslog on the AirPorts logging to pfSense (on the alix2d1). By using that along with logs on the Mac I could see that everything was pointing to an authentication issue. The user account could access the drive just fine, but Time Machine sets the shared drive’s password in the System Keychain during setup, so I then looked there. Seeing a number of entries for Core, the name of the AP, I removed them all and set things up again. Suddenly Time Machine created its .sparsebundle, mounted it, and set off backing things up. While I don’t know exactly what was wrong (conflicting Keychain entries? wrong one getting read? defective Keychain?) at least I know what got things working again.

I’ve plugged the machine into a wired connection to hurry things along, but hopefully the remaining ~107GB of data will be backed up before Danielle gets here. Then hopefully it’ll keep working…

Leave a Comment

Broken Time Machine

This is not good.

Danielle’s computer has been failing to back up properly to an AirPort-connected Time Machine volume, so with her volunteering at the 3-Day this weekend I figured I’d spend some time getting to the bottom of why.

First I thought the issue might be the questionable USB enclosure that the backup hard drive was in, so I swapped to another. No luck. Then I figured maybe the backup volume was corrupt, so I wiped that, but that didn’t help either; the backup still wouldn’t run. Next I thought that perhaps the local drive might be having issues, so I ran the Verify Disk function in Disk Utility, which promptly informed me that the volume was so damaged that I’d have to boot some install media and do an offline test. I did this, started the check, and received the message shown above informing me that the volume is so corrupt that it cannot be repaired. It will now not boot, sitting only at the Apple logo / spinning progress indicator screen.

This is not good.

Now I will have to back up all the accessible data by hand, and hopefully I’ll be able to get all of her music, documents, and photos along with config files needed to restore them. I’m hoping that this can be accomplished by hanging an FireWire disk off of the machine, installing OS X there, using Migration Assistant to pull data over, wipe (and test) the main drive, reinstall the OS there, then again migrate all data from the FW drive.

While it’s difficult to say what caused this, I strongly suspect it’s related to an alarm clock application that she’s been using for a while. This application will wake a Mac from sleep and sound an alarm. As her machine is a Macbook, which is not designed to run while closed (since they dissipate heat through the keyboard area), a program waking the machine from sleep while the machine is closed results in the machine immediately putting itself back to sleep. This would repeat over and over until the alarm was canceled or timed out. With this app in use for the last year or so, odds are good that this super-fast wake/sleep cycle has happened hundreds or thousands of times.

Due to the extremely complex things that happen when a machine is sleeping and waking, I strongly suspect that some things didn’t get read from or written to disk quite properly during the wake/sleep cycle and the disk became quite corrupt. Then, the software designed to repair this corruption couldn’t deal with how bad things were, left the disk in a less-usable state, and the machine is then left where it now is: failing to boot.

UPDATE: This corrupt disk problem was fixed as I hoped it would be above, with the external FW disk. Unfortunately Time Machine still isn’t working. Time to keep digging…

Leave a Comment

Working Car!

This broken bolt is the reason for Sunday’s car failure. When it broke the serpentine belt tensioner came free, likely becoming lodged somewhere, and causing the car to cease working. Because the bolt broke off flush with the engine block and was in a particularly hard to reach place, the engine had to be lowered 2″, the bolt drilled, and then the bolt removed with an easy out / screw extractor.

As a result there was $187.54 in labor to fix the problem, with the bolt, new serpentine belt, and other misc parts only being $78.01. With the $100 for towing, this failure cost just under $400, which I guess isn’t too bad. It’s a bit frustrating that this comes only two weeks after paying my car off (early), but timing on this is really very random.

The guy at the shop (Shelby Tire) said they spent a while trying to figure out the cause of the broken bolt, but the AC compressor, power steering pump, and all other devices connected to the serpentine belt seemed fine, including the tensioner. The only cause he could figure was that the bolt was weak (or failing) and the AC kicked on just as the power steering kicked in, and the extra load on the belt snapped things. As I was turning a corner out of a parking lot having just turned the AC on when the problem happened, this makes sense. Hopefully it won’t happen again.

(This is also the first RAW photo that I’ve processed in the newly released / installed Adobe Photoshop Lightroom 3. One of its new features is markedly improved sharpening, and I must agree that it’s much better. After all, just check out those knurls on the screw head.)

Leave a Comment