CommandIR 2 IR Blaster Review

CommandIR2 in a hand I've been running a beta release of the new CommandIR 2 for a little while now.  This is a device developed specifically for the Linux and MythTV market by Innovation One located in Ontario Canada. 

Innovation One provided MythPVR.com with a pre-release unit to beta test and review.

I evaluated the unit using MythDora (4.0) on my low power Via EPIA MythTV server.

For testing IR Remote functionality I used a StreamZap remote control and blasted IR signals at a Zenith DTT-900 Digital to Analog Converter set-top box and Toshiba TV.

The CommandIR 2 is a few things in one specialized USB hardware device:
    1.  Four IR blasters, which can be independently controlled
    2.  One on-board IR receiver
    3.  One wired IR receiver (optional)
    4.  Six software controllable LEDs
It should be noted that Innovation One has an advertising relationship with MythPVR.com, although my goal is to do a truly object review of the product.

CommandIR 2 Hardware


Upon opening the padded envelope in which mine arrived, I was surprised;  I was expecting something larger.  (I'm not complaining, this is a good thing!)  The CommandIR 2 is a just a tad larger than a credit card, and about as tall as a floppy disk drive.

CommandIR2 Hardware
The hardware side of things was simple to setup.  It plugs into the computer using a USB cable (not included.)  The IR Blasters and Receivers plug in using what most people would recognize as portable headphone style jacks.  One thing I really liked was that it is powered through the USB bus, so an external power brick is not required (or even an option.)

The IR Blasters feature "double sided tape" style pads to affix in front of the IR Receiver of the device they are controlling.  The IR Blasters are designed to allow IR signals to pass through, so they do not block the ability to still use a normal remote control with the device.  The blaster emitters themselves look identical to a serial IR Blaster I had previously purchased, although they use the different style connector at the other end of the wire.

LIRC Driver

Seeing how this was a beta software driver (and hardware as well for that matter), I won't go too much into what the driver install was like.  Generally speaking, I had to download LIRC source code, patch it for CommandIR 2 support, then compile/install the new version of LIRC to control this device. 

Other than what is normally required to compile LIRC, I needed to install libusb on my MythDora 4 system. 

I expect soon the major MythTV distributions will support the device as part of their standard packages.

LIRC Configuration

For the configuration of LIRC with the device itself, the experience was much better than getting my Serial IR Blaster to work for the first time.  This is primarily because the CommandIR 2 is a "smart" USB device, where a serial IR blaster is essentially a "stupid" (although less expensive) light-bulb wired into a couple pins on the serial port.

CommandIR2 on my TVThe CommandIR 2 has a driver that has been re-written from the ground up to run as a usermode driver.  As Matthew Bodkin from InnovationOne explains, "A complete rewrite of the drivers was needed to get out of the kernel but now a new user can jump right into customizing remotes and setting up A/V gear."  I can't speak for how it worked before, but even having to compile the beta driver myself I was able to interact with the unit with less configuration than I expected.

With the CommandIR 2, running  LIRC in interactive mode reports "lircd: lircd(commandir) ready" when it starts up, indicating things are good from a device to LIRC perspective.  Running "irw" even reports when the ir blasters are plugged in and removed from each blaster port, a nice touch.

With my Serial IR blaster, I had initially spent a couple hours troubleshooting before I was able to get it working right.  With the serial blaster, it was unclear whether my initial problems were with the device configuration, LIRC drivers, or LIRC configuration.  It was difficult to isolate the problems.  That time and effort would have been greatly reduced had the serial device been able to report that it was properly installed and talking to LIRC. 

When the CommandIR 2 starts communicating properly with lirc the "A" light turns green;  a nice visual confirmation that things are good.

In addition to the driver for LIRC, CommandIR 2 has a "fake remote" configuration that needs to be appended to the /etc/lircd.conf file.

After starting "lircd -n" as instructed in the beta test instructions, I was surprised the CommandIR immediately received and LIRC/MythTV recognized button presses from my StreamZap MythTV remote using the StreamZap entries already in my lircd.conf file.  I guess that should be expected, but I was anticipating more work to get that all linked up.

IR Receiver

CommandIR2 in a hand I am somewhat disappointed with the on-board IR receiver positioning.  Since it is recessed back into the device just a little bit, the angle at which it can receive remote signals is smaller than my StreamZap receiver.  To receive singles from close up (4ft away) at a roughly 45 degree angle, I had to tilt the CommandIR 2 toward the location of the remote.  It would be fine for large rooms like a family room, but in bedrooms, office, or other smaller spaces, this may pose a problem.  The problem could be resolved through use of the optional external IR receiver.

One nice feature is a red LED flashes when an IR signal is received.  If all goes well, the red flash is immediately followed by a green flash when LIRC properly decodes the command.  The red/green flashes give a nice positive indication that the IR signal (button) you pressed was received by CommandIR 2 and decoded by LIRC.  This could be very helpful for troubleshooting problems.

User Controlled LEDs

I must admit at first I didn't see much value in 6 user controllable LEDs, but as I ran through the beta test routine to make sure they all worked I started getting ideas for how to utilize them. 

CommandIR2 lights
Two of them (labeled A and B) can be either green or red, with 4 "IR transmit" red only LEDs that can also be user controlled.  Each LED can be either on, off, or flashed at two speeds.  With a little custom scripting, these would be perfect for indicating:
  • A user-job is running
  • Commercial flagging running
  • The TV schedule is being updated
  • MythTV is recording
  • The system has a high load
  • And more...

There are all sorts of possible uses that could indicate the health and status of a MythTV system at a glance.  There is a lot more value here than I first thought.

I don't like how the LEDs are on the same side of the device as all the blaster jacks (and associated wires.)  Some people may like this design with wires and LEDs on the front, but personally I want the lights on the front and wires on the back. 

Wires on the front makes it look like a product for geeks.  In professional looking high end installations, which I would think is a primary target market for this device, people don't like looking at wires and plugs.  I want to be able to show-off my system and communicate system status without seeing the wires.  This was a conscience design decision, as Bodkin reports "We moved the emitter jacks to the front of the external enclosure so they can be visually associated with their indicator lights - glowing red when transmitting."  I understand his logic but disagree that the end result is better, at least for me.

IR Blasters

CommandIR2 Blaster

Of course, the primary purpose of a device like this is IR Blasting.  The CommandIR 2 has ports for four IR Blaster ports.  The IR blasters are sold separately from the device and connect using a "mini-plug" similar to portable audio headphones.  When plugged in or removed, a LIRC event is triggered that can be monitored with "irw" or even fire other LIRC events.

My understanding is that it supports all the standard IR frequencies of remotes including a 56k frequency that many other devices do not support, although I don't own any 56k remotes to test this myself.

Each IR blaster can be controlled separately.  When calling the script to transmit a signal, you specify which blaster number to use.

Like all other LIRC based devices, the CommandIR 2 requires remote profiles to be present in the /etc/lircd.conf file for any signals it needs to receive or transmit. 

CommandIR2 on Set-Top Box One of the major enhancements in this new generation of hardware is the ability to multi-task within the device itself.  Basically that means if you send commands to all four blasters at once, they will be transmitted in parallel rather than the serial method the older units employed.  A potential use of this would be to turn on multiple devices at the same time, such as your TV and surround sound system.  It looks more professional when they all turn on at once, as opposed to one after another.

One advantage the CommandIR 2 and other similar devices have over the inexpensive serial blasters in how the devices generate each signal.  The signals being transmitted are hardware generated.  Why does this matter?  I asked Bodkin on the MythTV User Mailing list, here's an excerpt of his reply:

It's somewhat analogous to WinModems vs USRobotics back in the day - "soft" modems vs "hardware"-implemented communications.  WinModems were less/cheaper hardware, but required alot more CPU clocks to run; USR's performed rock-solidly.  Same thing here.

Outsourcing the signal generation (signal timing & carrier) to hardware ensures it's 100% accurate every time.  Unlike modems, there's no feedback to "retry" the command (you'll miss the recording or record the wrong show).  Set-top boxes are the 'hardest' because they have a higher carrier frequency (more cycles/millisecond=more sensitive to CPU delays)

If you have a system that works great with a serial blaster, then great; serial reliability can depend on a bunch of hardware/software things.
Some people have no problems while some people think its their config setup that's not right when they don't work.  The hardware-based stuff consistently works.

In the past my serial blaster has missed the channel change signal for a few shows, I can't say for sure this is the reason, but with a hardware based signal generator, it's one less thing to cause problems.

Conclusion

I really like the functional aspects of the CommandIR 2.  The core functionality works well and as intended.  The IR blasters and receiver work great, and the user controlled LEDs are a nice touch.

On top of the core functionality, it's clear that a lot of time and attention went into providing built-in status indicators and LIRC events that make the device quick and easy to debug.  That's important, since LIRC has a reputation for not being the easiest to configure and debug.  CommandIR 2 can't take away the complexity of LIRC, but the design goes out of its' way to provide indicators that help point to the problem points.  This functionality can easily save hours of time. 

I'll conclude with an analogy.  A Ford and Lexus both have an engine, seats, and wheels to get you places.  It's the extra features that you don't really need that add value to the Lexus.  It's the same with the CommandIR 2.  Minor issues and all, the CommandIR 2 piles on excellent features you don't really need (lots of status indicators for debugging, user controllable LEDs, etc.) that add a significant amount of value on top of the already strong core feature set.

One thing that is really valuable is the ability to program the CommandIR 2 to essentially control any IR device with any remote. I had been using the TV remote to turn the TV on and off, and my PC remote for everything else. I programmed one of the blaster channels to turn on and off my TV.

I can't put into words how great the feeling was when I was able to finally put the TV remote into a drawer, and do everything from a single remote control.

Now, the Lexus analogy breaks down if you really need some of those additional features. If, for example, you need to control multiple and identical set-top boxes. This product may be one of your only viable options.