index.html 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type"
  5. content="text/html; charset=ISO-8859-1">
  6. <title>index.html</title>
  7. </head>
  8. <body>
  9. <big><big><span style="font-weight: bold;"></span></big></big><big><big><span
  10. style="font-weight: bold;"><a name="general"></a>General Information</span></big></big><br>
  11. <br>
  12. This software is copyright (c) 1999,2000,2001,2002 Cornel Ciocirlan and
  13. copyright (c) 2002,2003 Evvolve Media SRL<br>
  14. <br>
  15. To contact the current maintainers and developers, send an E-mail to:
  16. <a href="mailto:docsis@evvolve.com">docsis@evvolve.com</a>.<br>
  17. To contact the original author, send an E-mail to:
  18. ctrl@users.sourceforge.net.<br>
  19. <br>
  20. General questions about this software can be&nbsp; sent to
  21. docsis-users@sourceforge.net.<br>
  22. <br>
  23. Visit <a href="http://docsis.sourceforge.net">http://docsis.sourceforge.net</a>
  24. or&nbsp; <a href="http://sourceforge.net/projects/docsis">http://sourceforge.net/projects/docsis
  25. </a>for the latest news on this program.<br>
  26. <br>
  27. <span style="font-weight: bold;">PLEASE READ THE FILE License.txt. You
  28. cannot use this software unless you agree to the conditions of the GNU
  29. General Public License, which are outlined in this file. </span><br>
  30. <br style="font-weight: bold;">
  31. <big style="font-weight: bold;"><big><a name="description"></a>Description</big></big><br>
  32. <br>
  33. This program encodes text configuration files which contain
  34. Configuration File Settings into binary configuration files, as
  35. specified by the DOCSIS RFI 1.1 <br>
  36. Specification, Appendix C.<br>
  37. <br>
  38. It supports most DOCSIS 1.1 Configuration Settings. Not supported
  39. (currently):<br>
  40. <ul>
  41. <li>Telephony Settings</li>
  42. <li>Modem Capabilities</li>
  43. <li>TFTP server timestamp</li>
  44. <li>TFTP server provisioned modem address</li>
  45. <li>SNMPv3 settings (partial support provided)</li>
  46. </ul>
  47. See DOCSIS 2.0 Radio Frequency Interface Specification, Appendix C for
  48. a description of these settings.<br>
  49. <br>
  50. <big><big><span style="font-weight: bold;"><a name="docsis10"></a>DOCSIS
  51. 1.0 considerations</span></big></big><br>
  52. <br>
  53. More than one (up to 16) ClassOfService statements can appear in the
  54. configuration file. Only one BaselinePrivacy (BPI) statement can appear.<br>
  55. The program does not check for the number of ClassOfService statements
  56. that appear, you have to make sure not to include more than 16 or
  57. unexpected results will occur&nbsp; (modems /CMTSes may reset).<br>
  58. <br>
  59. DOCSIS BPI Specification clearly states that the BPI settings MUST NOT
  60. be present if Privacy is not enabled in [at least one of] the
  61. ClassOfService<br>
  62. parameters (for example if PrivacyEnable is 0 for all classes of
  63. service, BPI statement should not appear).<br>
  64. <br>
  65. The program is not yet as "intelligent" as to detect these problems
  66. automatically. <br>
  67. <br>
  68. <big style="font-weight: bold;"><big><a name="usage"></a>Usage</big></big><br>
  69. <br>
  70. There are three modes of operation:<br>
  71. <br>
  72. <ol>
  73. <li><span style="font-weight: bold;">Encoding CM configuration files</span><br>
  74. <br>
  75. To
  76. encode a CM configuration file, make sure
  77. "docsis" is in your PATH and do:<br>
  78. <br>
  79. &nbsp;<span style="font-family: monospace;">unix $ docsis
  80. -e cm_config_file.cfg my_key_file cm_config_file.bin</span><br>
  81. <br>
  82. The format of the text configuration file is
  83. described <a href="config-format.html">here</a>. As sometimes
  84. an example is more&nbsp; useful than a
  85. truckload of documentation, we've included a few configuration files
  86. (see examples/*.cfg).<br>
  87. <br>
  88. In this mode of operation (triggered by the "-e"
  89. switch), the program will need a keyfile; this is the so-called "shared
  90. secret" or "authentication string". The program uses the string in the
  91. keyfile to calculate the CMTS MIC. This string has to be configured on
  92. the CMTS as well, otherwise the cable modem will not be able to
  93. register. <br>
  94. <br>
  95. An example key is provided in file testkey.key. The
  96. key is only a string of characters. Any trailing newline (\n) or
  97. carriage return (\r) characters are chopped to avoid confusion.<br>
  98. <br>
  99. </li>
  100. <li><span style="font-weight: bold;">Encoding PacketCable MTA
  101. configuration files </span><br>
  102. <br>
  103. MTA Configuration file support has been added in
  104. version 0.8.1.<br>
  105. <br>
  106. To encode a CM configuration file, make sure
  107. "docsis" is in your PATH and do:<br>
  108. <br>
  109. <span style="font-family: monospace;">unix $ docsis -p
  110. mta_config_file.cfg
  111. mta_config_file.bin</span><br>
  112. <br>
  113. PacketCable MTA config files MUST start with the
  114. "MtaConfigDelimiter 1" configuration setting and MUST end with
  115. "MtaConfigDelimiter 255". All<br>
  116. other configuration settings must be either
  117. SnmpMibObject or VendorSpecific. The program does not enforce this
  118. policy so you must make&nbsp; sure you abide by it or the MTA will
  119. reject the file.<br>
  120. <br>
  121. </li>
  122. <li> <span style="font-weight: bold;">Decoding CM or MTA binary
  123. configuration files</span><br>
  124. <br>
  125. To decode a binary file, do:<br>
  126. <br>
  127. <span style="font-family: monospace;">unix $ docsis -d
  128. my_binary_file.bin</span><br>
  129. <br>
  130. As of version 0.8, you can directly encode the
  131. decoded output. E.g.<br>
  132. <br>
  133. <span style="font-family: monospace;">unix $ docsis -d cm_test.bin
  134. &gt; cm_test.cfg</span><br style="font-family: monospace;">
  135. <span style="font-family: monospace;">unix $ docsis -e cm_test.cfg
  136. testkey.key cm_test.bin</span><br style="font-family: monospace;">
  137. <span style="font-family: monospace;">unix $ docsis -d mta_test.bin
  138. &gt; mta_test.cfg</span><br style="font-family: monospace;">
  139. <span style="font-family: monospace;">unix $ docsis -p mta_test.cfg
  140. mta_test.bin</span><br>
  141. <br>
  142. should work, save for still remaining bugs.<br>
  143. <br>
  144. </li>
  145. </ol>
  146. <big style="font-weight: bold;"><big><a name="add"></a>Adding new
  147. configuration settings</big></big><br>
  148. <br>
  149. To add new configuration settings, in most cases the only thing you
  150. need to do is add them to the docsis_symtable.h (make sure you select
  151. the
  152. correct<br>
  153. type-functions for encoding and decoding).<br>
  154. <br>
  155. Because of the way the encoder works, the symbol_name must determine
  156. all other values in the table with the exception of id and
  157. parent.<br>
  158. Thus if two symbols share the same name they must also share the same
  159. docsis_code, type-functions, limits etc. Only the id and parent can be
  160. different.<br>
  161. </body>
  162. </html>