How to connect to a serial device on a Mac

My mobile device of choice at work is a 13″ MacBook Air. It’s a great system that is extremely lightweight (see: portable). Unfortunately, I need the ability to console into switches to make configuration changes and this computer does not have a serial port. Thankfully, I have a USB to Serial Adapter that I keep in my “go bag.” It doesn’t work out-of-the-box in OS X 10.8 Mountain Lion, but it isn’t too difficult to configure.

I followed a few articles I found online (primarily, this one: http://plugable.com/2011/07/12/installing-a-usb-serial-adapter-on-mac-os-x).

  • Plug in the USB to Serial Adapter.
  • Click Apple menu > About This Mac > More Info … > System Report …
  • Click on Hardware > USB > verify you see USB-Serial Controller D on the right.
  • Download the driver here: http://plugable.com/drivers/prolific (I downloaded the PL2303 MacOSX10.6 dmg v1.4.0.zip file).
  • Install the driver, then reboot the computer.
  • Click on System Preferences > Network > “+” > Interface. If it was installed properly, you will see something like “USB-Serial Controller D.”
  • Click cancel.

Now that the device and driver are installed properly, you can download a terminal emulator like ZTerm to make a connection to the serial device.

Advertisements

ADMX File Location

I recently wanted to look at what Group Policy options existed for managing a piece of software, so I downloaded the relevant ADMX files from Microsoft and couldn’t remember what to do with them.

After some quick searching, I found a blog post that answered my question – http://tigermatt.wordpress.com/2009/06/06/where-do-i-put-my-admx-files/

In summary:

  • Copy the ADMX files to %systemroot%\PolicyDefinitions (%systemroot% should be C:\WINDOWS).
  • Copy the ADML files (if they exist) to %systemroot%\PolicyDefinitions\en-US (again, %systemroot% should be C:\WINDOWS).
  • Restart your Group Policy Management Console for the policy files to appear, no need to add a new template.

Also, a good piece of information that was noted on this blog post was that the ADMX/ADML files don’t need to be present on every machine on the network, just on the machine where you are creating/editing the policies.

iTalc – UltraVNC and Installation

We use a cool piece of open source software at work in our labs called iTalc that allows teachers to monitor all of the computers in a given computer lab. This not only lets the teacher keep an eye on the kids and what they’re doing (both to keep them on task and to make sure they’re doing their work correctly), but it also allows them to lock each student PC screen when the teacher wants their attention and allows the teacher to project his/her screen to every student PC or use a student PC as an example and project that screen to every other student. Like I said, it’s a very cool application.

The other day my co-worker asked me to work with him on a new lab setup because he was having issues with iTalc. I wanted to document our findings for the future and for others who might be having similar issues (since we couldn’t find too much about iTalc out there on the Internet – though they do have a wonderful support wiki and EduGeek has good forums).

  1. iTalc uses VNC as the underlying technology and we use UltraVNC for remote support.
  2. When UltraVNC and iTalc are installed on the same system, they fight over the port (5900) and UltraVNC seemed to win every time – the iTalc agent would just keep closing and re-opening itself.
  3. iTalc 2.0.0 can “supposedly” be told to run on another port (same with UltraVNC), but we didn’t have luck getting the iTalc agent to run on a different port.
  4. We had to uninstall UltraVNC on the lab PCs on the network. Since we deploy UltraVNC via a group policy, we had to deny the application of that policy to the computers in the labs then uninstall UltraVNC.
  5. We installed the latest iTalc agents, version 2.0.0, on each PC in the lab (they were Windows 7 SP1 64-bit computers).
  6. The last system I planned to install was the teacher station, or the iTalc master, which also needed to have UltraVNC uninstalled, but is a Windows XP SP3 32-bit computer.
  7. iTalc 2.0.0 32-bit did not run successfully on this PC.
  8. After much research and testing, I found others complaining about iTalc 2.0.0 on a 32-bit system. I finally found someone who had a version of iTalc 2.0.0 32-bit that had a different date associated with the file than what was posted on SourceForge.net. Furthermore, this other installation file asks you to install the “Babylon” search engine (which you can say no to). If I ever find where I got this file from, I’ll post a link, since I can’t seem to find it right now.
  9. iTalc works!

Lessons learned are: don’t run iTalc and UltraVNC on the same computer, upgrade/test the teacher PC and one student PC at the same time (having already done all of the student PCs and not being able to get the teacher PC to work was not fun), keep teacher and student PC software versions consistent (Windows 7 32-bit vs. Windows 64-bit), wait for iTalc version 2.0.1 to come out 🙂

Using ‘nslookup’ with multiple DNS search suffixes

At work I need to use a custom DNS search suffix list on my primary network adapter so that I can resolve hostnames on my primary Active Directory (AD) domain and so that I can resolve hostnames against a secondary AD domain that is also on my network.

While I have been running with a custom search suffix list for a few months now, I just found a small problem with the setup: when using the nslookup command to lookup up an IP address against an external source, the last DNS search suffix in the list was appended to everything I looked up. For example, if the suffixes in my list were a.org and b.net, my commands looked like this:

>nslookup
Default Server: <local DNS server>
Address: <local DNS server address>

> server 4.2.2.2
Default Server: b.resolvers.Level3.net
Address: 4.2.2.2

> google.com
Server: b.resolvers.Level3.net
Address: 4.2.2.2

*** b.resolvers.Level3.net can't find google.com.b.net : Non-existant domain
>

I had no idea why the .b.net kept appending itself to the results. Eventually, after doing some research, I found that this was “normal” with the nslookup command in Windows and in order to get around it, I’d need to add a period (.) to the end of the request. For example:

>nslookup
Default Server: <local DNS server>
Address: <local DNS server address>

> server 4.2.2.2
Default Server: b.resolvers.Level3.net
Address: 4.2.2.2

> google.com.
Server: b.resolvers.Level3.net
Address: 4.2.2.2

Non-authoritative answer:
Name: google.com
Addresses: 74.125.236.1
           74.125.236.9
           ...
>

Mystery solved! I can use nslookup again to resolve against an external DNS server if I end the request with a period. Also to note, that technically a fully-qualified domain name (FQDN) ends in a period anyways – it’s just usually assumed.