Finding the MAC address of a device

I always for get how to do this, so I’m putting it on my website as a kind of aide memoire for myself.

Basics:
Every hardware device that connects to a network has a unique hardware address known as a Media Access Control (MAC) address. This MAC address is used by network hardware such as routers and switches to send traffic to the correct device on the network.

Part of the TCP/IP network stack is the ARP service (Address Resolution Protocol) which resolves and tracks the TCP/IP and MAC address of the remote devices that you’re communicating with.

To find out the MAC address of a remote device:

  1. Open the MS-DOS prompt.
  2. Ping a remote device that you want to find the MAC address. e.g. “PING 192.168.1.253”

    PING

  3. Type “ARP -A”, and press Enter.
    (Returns all the entries in your ARP address translation table).
  4. Alternatively, type “ARP -A | FIND “192.168.1.253” and press Enter.
    (Returns just the entry that you’re looking for).

    ARP

  5. The MAC address is in the format xx-xx-xx-xx-xx-xx

A lesson in not leaping to conclusions

Gadgets

 

I have a pretty decent quad-core PC at home with 8GB RAM and performance generally isn’t an issue for me. This spec is more than adequate to run the occasional virtual machine for testing and evaluation purposes as well as handle standard business applications such as word processing, email, video conferencing etc.

 

At the moment, my performance counters are reasonably healthy; under normal use, I typically use between 10-25% of my processing capacity and about 2/3 of my available memory. This is normal for me and has been consistent for more than 12 months. The only exception to this tends to be when I edit HD videos or do other things such as saving recorded TV shows to DVD using media centre.

 

 

The problem
I work as an application performance tester which means that I’m pretty inquisitive when it comes to how computers perform. This may be the reason that I tend to leave Windows Gadgets on my desktop reporting CPU and memory use in real-time.

For some time, I’d been noticing that the third core of my quad core processor (an Intel i5 750) was busier than the other cores. I thought that I’d have a look at Windows Task Manager to see what was using my CPU cycles. When I looked at Task Manager I was surprised to see that the total amount of CPU in use was consistently less than that shown by my desktop gadget.

 

I tried the usual tricks, including choosing “show processes from all users” to see whether a system account was using CPU.

 

In short I was stumped…..

 

 

Diagnosis

I decided that perhaps I should dig a little deeper, so I installed Process Explorer.

Process Explorer shows you more detailed information about currently running processes and I was pleased to see that it showed me the increased activity on core 3. As well as showing me this extra activity it also showed that the bulk of activity was down to interrupts, rather than context switches or deferred procedure calls.

Process Explorer showing large number of interrupts

15-17% of all CPU activity was handling hardware interrupts so one core was almost fully occupied.

Process Explorer - CPU chart, core 3 busy

The (wrong) conclusion

I knew that I shouldn’t have any hardware device generating this large number of interrupts, so I thought that I’d work out what was causing the problem by a process of elimination. I decided to check external devices first because this was easier and I suspected that these devices were more likely to be faulty. I disconnected the scanner, printer, external USB hub, speakers, drawing pad etc. but the problem remained.

This meant that the problem had to be inside the PC, so I started to disconnect internal components such as my DVD drive, after disconnecting everything that I could, I rechecked and the problem still remained. Because my graphics card passed a diagnostic check and I was running out of other options, I decided that it must be my hard drive.

This was both right AND wrong.

The (correct) conclusion

After replacing my hard drive at first the problem seemed to have resolved itself. I’m not sure how this problem seemed to be fixed for a short while, but after a couple of days the problem came back.

I decided to overhaul the PC from a software perspective. I performed a Windows update to upgrade any drivers that were out of date, and then I decided to check for new drivers for my hard disk.
In device manager I right-clicked on the hard disk and chose the option to “Update Driver Software”. I didn’t really expect this to work but after a reboot the problem had gone.

Device Manager - showing option to update driver software

After several months, I’m happy to report that my PC is still working normally.

All cores have similar utilisation levels.

Process Explorer - showing four cores with similar utilisation

Interrupts is no longer visible in the top of the list of active processes.

Process Explorer

 

If only I checked for updated drivers before I spent the best part of £80 on a new drive.
Ah well, at least I learnt something new, and I now have a spare hard drive for backups!

 

 

A great (free) way to receive SMS alerts

Introduction
For some time, I’ve been using IFTTT (if this then that) to simplify my online existence. For those of you who don’t know IFTTT is a free online service that monitors various information feeds and takes action when particular condition is met.

IFTTT describes these rules as “recipes” and a variety of different triggers can be used to prompt an action.

IFTTT sample recipe
IFTTT supports a variety of channels which can be used as triggers. Some are relatively simple such as date/time triggers; for example you may want to receive an email a few days before an important birthday. Others are more complex; for example you could use a trigger to notify you by SMS when you’re tagged in a Facebook photograph. Users can share recipes that they create with the wider IFTTT user base.

My problem
I’m a director of Vivit, the HP Software User Group and one of my responsibilities is social media, this means that I share some responsibility for the Vivit website.

Last week I was on holiday when the site suffered a temporary outage. This was due to a hardware failure and was rapidly resolved by our hosting provider. This got me thinking about how I could ensure that I received alerts when I didn’t have access to my Vivit email account.

Our site uptime is monitored using a free service from monitor.us and various Vivit directors receive email alerts in the event of a problem. I wanted to ensure that as well as the emails, I received SMS notifications of these problems.

The solution
I already had a gmail account and I arranged for email messages from monitor.us to be forwarded to my Gmail account. I gave IFTTT access to my gmail inbox and created a recipe to ask it to look for emails from no-reply@monitor.us (this is the account used by monitor.us for alerts).

My IFTTT recipe

Now each time that I receive an email alert, I get an SMS.

IFTTT checks my email every 15 minutes, which is more regularly than I check my own email. I have found this to be a pretty good way of keeping informed about problems.