index.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <title>docsis Documentation</title>
  7. </head>
  8. <body>
  9. <h1>General Information</h1>
  10. <p>General questions about this software can be sent to <a href=
  11. "mailto:docsis-users@lists.sourceforge.net">docsis-users@lists.sourceforge.net</a>.</p>
  12. <p>Visit <a href=
  13. "http://docsis.sourceforge.net">http://docsis.sourceforge.net</a> for
  14. the latest news on this program.</p>
  15. <h2>Legal</h2>
  16. <p>Copyright (c) 1999,2000,2001,2002 Cornel Ciocirlan<br />
  17. Copyright (c) 2002,2003 Evvolve Media SRL</p>
  18. <p>This program is free software; you can redistribute it and/or modify
  19. it under the terms of the GNU General Public License as published by
  20. the Free Software Foundation; either version 2 of the License, or (at
  21. your option) any later version.</p>
  22. <p>This program is distributed in the hope that it will be useful, but
  23. WITHOUT ANY WARRANTY; without even the implied warranty of
  24. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  25. General Public License for more details.</p>
  26. <p>You should have received a copy of the GNU General Public License
  27. along with this program; if not, write to the Free Software Foundation,
  28. Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.</p>
  29. <p>DOCSIS is a registered trademark of <a href=
  30. "http://www.cablelabs.com">CableLabs</a>.</p>
  31. <p>Portions of this program are derived from the RSA Data Security,
  32. Inc. MD5 Message-Digest Algorithm.</p>
  33. <h1>Description</h1>
  34. <p>This program encodes text configuration files which contain
  35. Configuration File Settings into binary configuration files, as
  36. specified by the DOCSIS RFI 1.1 Specification, Appendix C.</p>
  37. <p>It supports most DOCSIS 1.1 Configuration Settings. Not supported
  38. (currently):</p>
  39. <ul>
  40. <li>Telephony Settings</li>
  41. <li>Modem Capabilities</li>
  42. <li>TFTP server timestamp</li>
  43. <li>TFTP server provisioned modem address</li>
  44. <li>SNMPv3 settings (partial support provided)</li>
  45. </ul>
  46. <p>See DOCSIS 2.0 Radio Frequency Interface Specification, Appendix C
  47. for a description of these settings.</p>
  48. <h2>Limitations</h2>
  49. <p>More than one (up to 16) ClassOfService statements can appear in the
  50. configuration file. Only one BaselinePrivacy (BPI) statement can
  51. appear. The program does not check for the number of ClassOfService
  52. statements that appear, you have to make sure not to include more than
  53. 16 or unexpected results will occur (modems /CMTSes may reset).</p>
  54. <p>DOCSIS BPI Specification clearly states that the BPI settings MUST
  55. NOT be present if Privacy is not enabled in [at least one of] the
  56. ClassOfService parameters (for example if PrivacyEnable is 0 for all
  57. classes of service, BPI statement should not appear).</p>
  58. <p>The program is not yet as "intelligent" as to detect these problems
  59. automatically.</p>
  60. <h1>Usage</h1>
  61. <p>There are three modes of operation:</p>
  62. <h2>Encoding CM configuration files</h2>
  63. <p>To encode a CM configuration file, run:<br />
  64. <code>$ docsis -e cm_config_file.cfg my_key_file
  65. cm_config_file.bin</code></p>
  66. <p>The format of the text configuration file is described <a href=
  67. "config-format.html">here</a>. As sometimes an example is more useful
  68. than a truckload of documentation, we've included a few configuration
  69. files (see examples/*.cfg).</p>
  70. <p>In this mode of operation (triggered by the "-e" switch), the
  71. program will need a keyfile; this is the so-called "shared secret" or
  72. "authentication string". The program uses the string in the keyfile to
  73. calculate the CMTS MIC. This string has to be configured on the CMTS as
  74. well, otherwise the cable modem will not be able to register.</p>
  75. <p>An example key is provided in file examples/keyfile. The key is only
  76. a string of characters. Any trailing newline (\n) or carriage return
  77. (\r) characters are chopped to avoid confusion.</p>
  78. <h2>Encoding PacketCable MTA configuration files</h2>
  79. <p>To encode a CM configuration file, run:<br />
  80. <code>$ docsis -p mta_config_file.cfg mta_config_file.bin</code></p>
  81. <p>PacketCable MTA config files MUST start with the "MtaConfigDelimiter
  82. 1" configuration setting and MUST end with "MtaConfigDelimiter 255".
  83. All other configuration settings must be either SnmpMibObject or
  84. VendorSpecific. The program does not enforce this policy so you must
  85. make sure you abide by it or the MTA will reject the file.</p>
  86. <h2>Decoding CM or MTA binary configuration files</h2>
  87. <p>To decode a binary file, run:<br />
  88. <code>$ docsis -d my_binary_file.bin</code></p>
  89. <h1>Adding new configuration settings</h1>
  90. <p>To add new configuration settings, in most cases the only thing you
  91. need to do is add them to the docsis_symtable.h (make sure you select
  92. the correct type-functions for encoding and decoding).</p>
  93. <p>Because of the way the encoder works, the symbol_name must determine
  94. all other values in the table with the exception of id and parent. Thus
  95. if two symbols share the same name they must also share the same
  96. docsis_code, type-functions, limits etc. Only the id and parent can be
  97. different.</p>
  98. </body>
  99. </html>