Often Overlooked Automation

by Ed Sawicki
Accelerated Learning Center
Tailored Computers

July 18, 2007

The DSL circuit to my house uses an Actiontec R1524SU modem/bridge/router. It was supplied by Qwest when they installed the circuit two years ago. I didn't think about it at the time, but I had my choice of the Actiontec or a Cisco 678. I should have told Qwest that I wanted the Cisco 678. It would have made my life a lot easier. This article documents the reasons why the Cisco product is the far better deal for technical people.

There are two serious problems with the Actiontec:

  1. It was built to talk to Microsoft's IE browser.
  2. It was built to be human-interactive only.

The second problem is the more serious.

IE Only

Configuring the Actiontec R1524SU requires that you use the Microsoft Internet Explorer browser. When I try to use a different browser, such as Firefox, it does not work reliably. This is a problem for me because I don't generally run Windows.

Note: Some people say they are able to use the Firefox browser with the Actiontec. This may be because they use a different firmware level.

I wrote Actiontec to complain about the IE-only requirement. They responded: "We target our products for the consumer market, therefore the Microsoft IE browser. As browsers advance, browsers like Safari, etc will work." They're saying that IE is an advanced browser and, in time, other browsers will catch up. That's not it at all. You could misdesign Web pages that work with Firefox but not with IE. Browser-specific products are badly designed products.

The issue is quality of engineering. Those that designed the R1524SU didn't do a good job. They made it browser-specific rather than using more general and simpler HTML/Javascript coding so it would work with all browsers.

Human-interactive Only

The Actiontec DSL modem is similar to most others targeted for the consumer market. They have internal Web servers that allow you to configure them from a Web browser. However, they are designed for human interaction only. This is fine when you're first configuring it but a big problem thereafter.

You cannot easily communicate with the product via automated means. For example, I've been having reliability problems with my DSL circuit recently. I want a program to monitor the WAN statistics and periodically let me know the results. These statistics are available from one of the Actiontec's Web pages but it's not easy for a program to extract this information. The product returns a status page that is a mess of HTML and Javascript. My program would have to ask for the WAN statistics page and then "scrape" the returned HTML for the statistics I need - a big job given the ugly mess of HTML and Javascript.

The product should support a computer-interactive mode as well. My program should be able to send a URL to the product that refers to a specific piece of information. For example, to retrieve the WAN Far End RS FEC statistic, my program would send a URL similar to this:

http://192.168.0.1/wan_far_end_rs_fec
and the product would return only the text:
841/0

This would be very easy to do given that the product already has a Web server embedded. When I suggested this to Actiontec, they responded: "No, we do not make a device that does not require the human interaction." If it was me, I'd respond by thanking the customer for the suggestion and rush over to engineering to ask for these changes. Once the changes are made, I'd have marketing work these new features into the company propaganda - perhaps get the customer to try it out and write an article for the trade journals. But that's me.

Cisco 678

Cisco products are better designed. I can communicate with the 678 via an Ethernet connection or a serial connection. I can communicate with it via a character mode (terminal mode) that allows me to send a command like:

show interface wan0

The 678 responds with plain text (no HTML or Javascript) that looks similar to this:

wan0   ADSL Physical Port
       Line Trained
Actual Configuration:
  Overhead Framing:          3
  Trellis Coding:            Disabled
  Standard Compliance:       G.lite
  Downstream Data Rate:      1536 Kbps
  Upstream Data Rate:        1024 Kbps
  Interleave S Downstream:   4
  Interleave D Downstream:   16
  Interleave R Downstream:   4
  Interleave S Upstream:     8
  Interleave D Upstream:     8
  Interleave R Upstream:     8
  Modem Microcode:           G96
  DSP version:               0
  Operating State:           Showtime/Data Mode
Configured:
  Echo Cancellation:         Disabled
  Overhead Framing:          3
  Coding Gain:               Auto
  TX Power Attenuation:      0dB
  Trellis Coding:            Enabled
  Bit Swapping:              Disabled
  Standard Compliance:       G.lite
  Remote Standard Compliance:T1.413
  Tx Start Bin:              0x6
  Tx End Bin:                0x1f
  Data Interface:            Utopia L1
Status:
  Local SNR Margin:          28.0dB
  Local Coding Gain:         1.5dB
  Local Transmit Power:      12.3dB
  Local Attenuation:         22.5dB
  Remote Attenuation:        21.5dB
Local Counters:
  Interleaved RS Corrected Bytes:        0
  Interleaved Symbols with CRC Errors:   0
  No Cell Delineation Interleaved:       0
  Out of Cell Delineation Interleaved:   0
  Header Error Check Counter Interleaved:0
  Count of Severely Errored Frames:      0
  Count of Loss of Signal Frames:        0
Remote Counters:
  Interleaved RS Corrected Bytes:        0
  Interleaved Symbols with CRC Errors:   0
  No Cell Delineation Interleaved:       0
  Header Error Check Counter Interleaved:0
  Count of Severely Errored Frames:      0

This data is far more easily "scraped". I can write a simple program to extract the statistics and information I need.

Even if the Cisco 678 costs more initially, it saves time and money afterwards. Unfortunately, the 678 is no longer sold. The nearest Cisco replacement is the model 877 that costs over $400, which puts it out of reach for home and SOHO users. However, the additional cost may be worth it if you want the ability to automatically monitor the status of your DSL circuit.

Back