README 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. Quick, how do I use this ?
  2. =============================
  3. This program can only be used from a command line. Open a command prompt, type
  4. "docsis" and you will get the default help message.
  5. See doc/index.html for more information.
  6. General Information
  7. ======================
  8. Visit http://docsis.sourceforge.net for the latest news on this program.
  9. General questions about this software can be sent to
  10. docsis-users@sourceforge.net.
  11. Copyright (c) 1999,2000,2001,2002 Cornel Ciocirlan
  12. Copyright (c) 2002,2003 Evvolve Media SRL
  13. This program is free software; you can redistribute it and/or modify
  14. it under the terms of the GNU General Public License as published by
  15. the Free Software Foundation; either version 2 of the License, or
  16. (at your option) any later version.
  17. This program is distributed in the hope that it will be useful,
  18. but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20. GNU General Public License for more details.
  21. You should have received a copy of the GNU General Public License along
  22. with this program; if not, write to the Free Software Foundation, Inc.,
  23. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  24. DOCSIS is a registered trademark of CableLabs, http://www.cablelabs.com
  25. Portions of this program are derived from the RSA Data Security, Inc. MD5
  26. Message-Digest Algorithm.
  27. Description
  28. ==============
  29. This program encodes text configuration files which contain Configuration File
  30. Settings into binary configuration files, as specified by the DOCSIS Radio
  31. Frequency Interface Specification, Appendix C.
  32. It supports most DOCSIS 2.0 Configuration Settings. Not supported (currently):
  33. * Telephony Settings
  34. * Vendor ID (Partial support provided)
  35. Refer to Appendix C of the Radio Frequency Interface Specification for a
  36. description of these settings.
  37. DOCSIS 1.0 considerations
  38. =========================
  39. More than one (up to 16) ClassOfService statements can appear in the
  40. configuration file. Only one BaselinePrivacy (BPI) statement can appear.
  41. The program does not check for the number of ClassOfService statements that
  42. appear, you have to make sure not to include more than 16 or unexpected results
  43. will occur (modems / CMTSes may reset).
  44. DOCSIS BPI Specification clearly states that the BPI settings MUST NOT be
  45. present if Privacy is not enabled in [at least one of] the ClassOfService
  46. parameters (for example if PrivacyEnable is 0 for all classes of service, BPI
  47. statement should not appear).
  48. The program is not yet as "intelligent" as to detect these problems
  49. automatically (quite trivial).
  50. Usage
  51. ========
  52. There are three modes of operation:
  53. a) Encoding CM configuration files
  54. To encode a CM configuration file, run:
  55. $ docsis -e cm_config_file.cfg my_key_file cm_config_file.bin
  56. The format of the text configuration file, although simple, is not
  57. described anywhere but the source code (see the grammar in docsis_yy.y
  58. and lexical analyzer in docsis_lex.l). As sometimes an example is more
  59. useful than a truckload of documentation, we've included a few
  60. configuration files (see examples/cm/*.cfg).
  61. In this mode of operation (triggered by the "-e" switch), the program will
  62. need a keyfile; it will calculate the CM MIC and use the string in the
  63. keyfile to calculate a CMTS MIC; and it will add the DOCSIS End of Data
  64. marker as well as pad at the end.
  65. An example key is provided in file testkey.key. The key is only a string of
  66. characters. Any trailing newline (\n) or carriage return (\r) characters
  67. are chopped to avoid confusion.
  68. b) Encoding PacketCable MTA configuration files
  69. MTA Configuration file support has been added in version 0.8.1.
  70. To encode a CM configuration file, run:
  71. $ docsis -p mta_config_file.cfg mta_config_file.bin
  72. PacketCable MTA config files MUST start with the "MtaConfigDelimiter 1"
  73. configuration setting and MUST end with "MtaConfigDelimiter 255". All
  74. other configuration settings must be either SnmpMibObject or
  75. VendorSpecific. The program does not enforce this policy so you must make
  76. sure you abide by it or the MTA will reject the file.
  77. c) Decoding CM or MTA binary configuration files
  78. To decode a binary file, run:
  79. $ ./docsis -d my_binary_file.bin
  80. Adding new configuration settings
  81. ====================================
  82. To add new configuration settings, in most cases the only thing you need to
  83. do is add them to the docsis_symtable.h (make sure you select the correct
  84. type-functions for encoding and decoding).
  85. Because of the way the encoder works, the symbol_name must
  86. determine all other values in the table with the exception of id and parent.
  87. Thus if two symbols share the same name they MUST share the same docsis_code,
  88. type-functions, limits etc. Only the id and parent can be different.