Get Firefox
Valid XHTML 1.0!
Valid XHTML 1.0!

VultureWare DOCSIS Configration File Editor

At the time that I write this, I work for a company that manufactures and sells DOCSIS cable modems. Part of my role within this company is software development and support. Therefore, I desire a DOCSIS configuration editor that meets my needs.

Currently, all of the DOCSIS configuration editors that I have seen are all lacking in one fashion or another, therefore, I decided to build my own, with things the way that I think they should be.

The best editor that I have used thus far is made by TurboNet, and was presumably provided to cable operators along with the purchase of TurboNet cable modems. It shows the configuration file in a tree format, thus showing the parent/child relationship between the types that support this. The TurboNet editor, however, lacks these very important features:

  • SNMP VarBinds (an OID plus a variable type and value) must be entered in octets. There is no support for using symbolic names (as specified in DOCSIS or vendor-specific MIB files).
  • Development appears to have been halted with the beginning of the DOCSIS 1.1 standard. Several DOCSIS 1.1 types are missing, and DOCSIS 2.0 support is non-existant.
  • The program window is a fixed size, with no way to resize it
  • There is no way to view the binary file that will be generated.
  • I know of only one (text-based) configuration editor for non-Windows operating systems

The original TurboNet look and feel is reserved where possible, but all of the code is written from scratch. The net-snmp software is integrated for the purposes of translating MIB object names to OIDs, and vice-versa.

Screenshots

Main screen

This is a picture of the main screen. The configuration file that is loaded is just a basic DOCSIS 1.0 config file (with quite unrealistic upstream and downstream limits).

Editing the config file

This is the dialog for editing a type element in the configuration file. The parent, child and subchild can be selected either via the drop-down boxes, or by entering the type number in the drop-down boxes. This allows you to enter in non-DOCSIS types (particularly vendor types).

Showing the binary file

This is a feature that I found useful while debugging, and it makes sense, even in the "real world". You can view the configuration file in it's binary format, useful if things don't work out quite as expected.

Development Information

The config editor program was developed in the MinGW Developer Studio IDE in Windows, using the wxWidgets widget toolkit. The main benefits of wxWidgets over using the Win32 API, for me are:

  • The wxWidgets API is a lot easier to use (it reminded me of Qt a bit)
  • The source code can be compiled under any supported wxWidgets platform. Currently, this list includes Windows, Linux, FreeBSD, most other UNIX variants (using GTK or Motif) and MacOS.

Current Status: Version 0.1

Known issues:

  • Not quite DOCSIS 2.0 compliant - for those who don't know how CableLabs works, they don't ever finalize a specification until they deprecate it. Thus DOCSIS 2.0 from last week could be different from DOCSIS 2.0 for this week (one of my major peeves against CableLabs). I'm missing some types.
  • Some types aren't properly implemented - they default to using octet strings (sequences of bytes), due to the lack of the proper GUI
  • Some of the dialogs aren't sized quite correctly
  • If using an unknown type, it's possible to insert children past three levels (possible to click the Insert Child button anyway)
  • Most likely there's still some bugs to be worked out

Click here to download the Win32 version.

The source code is available here. To build the source code (for the time being, anyway), MinGW Developer Studio is required.

lass="mainPage">

VultureWare DOCSIS Configration File Editor

At the time that I write this, I work for a company that manufactures and sells DOCSIS cable modems. Part of my role within this company is software development and support. Therefore, I desire a DOCSIS configuration editor that meets my needs.

Currently, all of the DOCSIS configuration editors that I have seen are all lacking in one fashion or another, therefore, I decided to build my own, with things the way that I think they should be.

The best editor that I have used thus far is made by TurboNet, and was presumably provided to cable operators along with the purchase of TurboNet cable modems. It shows the configuration file in a tree format, thus showing the parent/child relationship between the types that support this. The TurboNet editor, however, lacks these very important features:

The original TurboNet look and feel is reserved where possible, but all of the code is written from scratch. The net-snmp software is integrated for the purposes of translating MIB object names to OIDs, and vice-versa.

Screenshots

Main screen

This is a picture of the main screen. The configuration file that is loaded is just a basic DOCSIS 1.0 config file (with quite unrealistic upstream and downstream limits).

Editing the config file

This is the dialog for editing a type element in the configuration file. The parent, child and subchild can be selected either via the drop-down boxes, or by entering the type number in the drop-down boxes. This allows you to enter in non-DOCSIS types (particularly vendor types).

Showing the binary file

This is a feature that I found useful while debugging, and it makes sense, even in the "real world". You can view the configuration file in it's binary format, useful if things don't work out quite as expected.

Development Information

The config editor program was developed in the MinGW Developer Studio IDE in Windows, using the wxWidgets widget toolkit. The main benefits of wxWidgets over using the Win32 API, for me are:

Current Status: Version 0.1

Known issues:

Click here to download the Win32 version.

The source code is available here. To build the source code (for the time being, anyway), MinGW Developer Studio is required.