SmartLinc 2414N: Undocumented Ports FTW

(Editor’s note: FTW is the short form for “for the win”, a common online phrase denoting a positive development.)

I’ve been quite vocal in my dislike for the SmartLinc 2414N controller based upon its poor web API and related issues. However, given developments from the last week, it may now be one of my favorite controllers to use with Shion. Here’s the story…

About a week and a half ago, a helpful Shion user e-mailed me to let me know that an iPhone app called MiCasa used an unusual port (TCP: 9761) instead of the default web port that I’d been using to control SmartLinc controllers. Last week, I spent a couple of hours analyzing the traffic from the mobile app and discovered that the bytes being shuttled back and forth were the same ones used by the 2412 & 2413 serial port controllers. Since I was working on bringing the EZSrve support to Shion (another TCP socket-based device), I went ahead and combined code from the EZSrve driver with code from the 2412 driver to create a new beta driver for the SmartLinc. (Interested developers: my implementation is public and available on Google Code.)

My suspicion that the undocumented port was being used as a proxy for the serial commands was correct and I’ve been using the SmartLinc with the beta driver for the last week. In short, the device is as responsive as the serial port controllers (my current favorite) with the added benefit that Shion can use your network to communicate with the device without having to be physically connected to it. Furthermore, since the TCP port is a simple bridge to the embedded serial modem, my complaints about poor 2-way device support are no more.

I’m quite pleased at this development and support for the beta driver will be available in the next release of Shion. I’m planning to continue testing it with the intent of making it the default SmartLinc driver in Shion.

A very big thanks goes out to Kerry Cupit for alerting me to the undocumented port.