plcmod.1 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. .TH plcmod 1 "Mar 2014" "plc-utils-2.1.6" "Qualcomm Atheros Powerline Toolkit"
  2. .SH NAME
  3. plcmod - Qualcomm Atheros Powerline Device Module Manager
  4. .SH SYNOPSIS
  5. .BR plcmod
  6. .RI [ options ]
  7. .RI [ device ]
  8. .RI [ device ]
  9. [...]
  10. .SH DESCRIPTION
  11. Read or write Atheros custom powerline modules using VS_MODULE_OPERATION messages.
  12. Modules may be read from a device and written to a file or read from a file and written to a device.
  13. Modules may have any of several formats and purposes.
  14. .PP
  15. This program is part of the Qualcomm Atheros Powerline Toolkit.
  16. See the \fBplc\fR man page for an overview and installation instructions.
  17. .SH OPTIONS
  18. .TP
  19. .RB - d
  20. Read the specified module from NVRAM and write to standard output in hexadecimal dump format.
  21. The module is identified by module and sub-module using options \fB-t\fR and \fB-s\fR.
  22. Runtime firmware will report an error if the module is not available.
  23. The session identifier is not required for a module read operation and is ignored.
  24. The largest module that can be read is 1400 bytes.
  25. This option and option \fB-m\fR are mutually exclusive.
  26. .TP
  27. .RB - e
  28. Redirects stderr messages to stdout.
  29. By convention status and error messages are printed on stderr while primary program output is printed on stdout.
  30. This option prints all output on stdout in cases where this is desired.
  31. .TP
  32. -\fBi \fIinterface\fR
  33. Select the host Ethernet interface.
  34. All requests are sent via this host interface and only reponses received via this host interface are recognized.
  35. The default interface is \fBeth1\fR because most people use \fBeth0\fR as their principle network connection; however, if environment string "PLC" is defined then it takes precedence over the default interface.
  36. This option then takes precedence over either default.
  37. .TP
  38. -\fBm \fIfilename\fR
  39. Read the specified module from NVRAM and write it to the named file.
  40. The module is identified by module and sub-module using options \fB-t\fR and \fB-s\fR.
  41. Runtime firmware will report an error if the module is not available.
  42. The session identifier is not required for a module read operation and is ignored.
  43. The largest module that can be read is 1400 bytes.
  44. This option and option \fB-d\fR are mutually exclusive.
  45. .TP
  46. -\fBM \fIfilename\fR
  47. Read the named module file and download it to the named device and commit NVRAM.
  48. The module is assigned to a module and sub-module identifier using options \fB-t\fR and \fB-s\fR.
  49. Runtime firmware will reject modules having invalid module and sub-mocule idetnifiers.
  50. As implemented, plcmod will reject files exceeding 1400 bytes but this restriction will be removed in later versions.
  51. .TP
  52. .RB - q
  53. Suppresses status messages on stderr.
  54. .TP
  55. -\fBs \fIsub-module-id\fR
  56. The sub-module identifier expressed as a 16-bit hexadecimal value with optional \fB0x\fR prefix.
  57. This identifier indicates a specific module with the module class specified using option \fB-t\fR.
  58. Any 16-bit value is permitted but only certain values are accepted by device firmware depending on firmware type and revision.
  59. The default value is \fB0x0000\fR.
  60. .TP
  61. -\fBS \fIsession-id\fR
  62. The session identifier expressed as a 32-bit hexadecimal value with optional \fB0x\fR prefix.
  63. The session identifier value is arbitrary and so any 32-bit value is permitted but 0x00000000 and 0xFFFFFFFF are illegal.
  64. The \fB0x\fR prefix is optional for this argument.
  65. The default \fIsession-id\fR is 0x78563412.
  66. .TP
  67. -\fBt \fImodule-id\fR
  68. The module identifier expressed as a 16-bit hexadecimal value with optional \fB0x\fR prefix.
  69. This identifier indicates the module type or class.
  70. Option \fB-s\fR indicates the specific member of a module class.
  71. Any 16-bit value is permitted but only certain values will be accepted by device firmware.
  72. The default value is \fB0x0000\fR.
  73. .TP
  74. -\fBv\fR
  75. Print additional information on stdout.
  76. In particular, this option dumps incoming and outgoing packets which can be saved as text files for reference.
  77. .TP
  78. .RB - w
  79. Write settings to the device instead of reading settings from the device.
  80. If omitted then settings are read from the device and displayed.
  81. If present, the user should specify all settings to avoid writing default values to the device.
  82. .TP
  83. .RB - ? ,-- help
  84. Print program help summary on stdout.
  85. This option takes precedence over other options on the command line.
  86. .TP
  87. .RB - ? ,-- version
  88. Print program version information on stdout.
  89. This option takes precedence over other options on the command line.
  90. Use this option when sending screen dumps to Atheros Technical Support so that they know exactly which version of the Linux Toolkit you are using.
  91. .SH ARGUMENTS
  92. .TP
  93. .IR device
  94. The MAC address of some powerline device.
  95. More than one address may be specified on the command line.
  96. If more than one address is specified then operations are performed on each device in turn.
  97. The default address is \fBlocal\fR.
  98. See \fBDEVICES\fR for information.
  99. .SH DEVICES
  100. Powerline devices use Ethernet Media Access Control (MAC) addresses.
  101. A MAC address is a 48-bit value entered as 12 hexadecimal digits in upper, lower or mixed character case.
  102. Octets may be separated with colons for clarity.
  103. For example, "00b052000001", "00:b0:52:00:00:01" and "00b052:000001" are valid and equivalent.
  104. .PP
  105. The following MAC addresses are special and may be entered by name instead of number.
  106. .TP
  107. .BR all
  108. Same as "broadcast".
  109. .TP
  110. .BR broadcast
  111. A synonym for the Ethernet broadcast address, \fBFF:FF:FF:FF:FF:FF\fR.
  112. All devices, whether local, remote or foreign recognize messages sent to this address.
  113. A remote device is any device at the far end of a powerline connection.
  114. A foreign device is any device not manufactured by Atheros.
  115. .TP
  116. .BR local
  117. A synonym for the Qualcomm Atheros vendor specific Local Management Address (LMA), \fB00:B0:52:00:00:01\fR.
  118. All local Atheros devices recognize this address but remote and foreign devices do not.
  119. A remote device is any device at the far end of a powerline connection.
  120. A foreign device is any device not manufactured by Atheros.
  121. .SH REFERENCES
  122. See the Qualcomm Atheros HomePlug AV Firmware Technical Reference Manual for more information.
  123. .SH DISCLAIMER
  124. Atheros HomePlug AV Vendor Specific Management Message structure and content is proprietary to Qualcomm Atheros, Ocala FL USA.
  125. Consequently, public information is not available.
  126. Qualcomm Atheros reserves the right to modify message structure or content in future firmware releases without any obligation to notify or compensate users of this program.
  127. .SH EXAMPLES
  128. The following command reads module file \fBabc.bin\fR and writes it to the local device.
  129. The module identifier \fB0x1000\fR indicates that it is an \fBMDIO Init\fR module.
  130. The sub-module identifer defaults to \fB0x0000\fR because option \fB-s\fR is omitted.
  131. The session identifier defaults to \fB0x78563412\fR because option \fB-S\fR is omitted.
  132. The operation takes place in three steps.
  133. The last step may take 2 or 3 seconds to complete.
  134. .PP
  135. # plcmod -M abc.bin -t 0x1000
  136. eth1 00:B0:52:00:00:01 Request Session
  137. eth1 00:B0:52:BE:EF:03 Request Granted
  138. eth1 00:B0:52:00:00:01 Write abc.bin
  139. eth1 00:B0:52:BE:EF:03 Written
  140. eth1 00:B0:52:00:00:01 Commit Modules
  141. eth1 00:B0:52:BE:EF:03 Committed
  142. .PP
  143. The next example does the same thing but writes module file \fBdef.bin\fR to remote device \fB00:B0:52:BA:BE:02\fR.
  144. The module identifier \fB0x4000\fR indicates that it is an \fBAdvanced Power Management uC\fR module.
  145. The session identifier used is \fB0xA5A5A5A5\fR.
  146. The sub-module identifer defaults to \fB0x0000\fR because option \fB-s\fR is omitted.
  147. .PP
  148. # plcmod -M def.bin -t 0x4000 -S A5A5A5A5 00:B0:52:BA:BE:02
  149. eth1 00:B0:52:00:00:01 Request Session
  150. eth1 00:B0:52:BE:EF:03 Request Granted
  151. eth1 00:B0:52:00:00:01 Write abc.bin
  152. eth1 00:B0:52:BE:EF:03 Written
  153. eth1 00:B0:52:00:00:01 Commit Modules
  154. eth1 00:B0:52:BE:EF:03 Committed
  155. .PP
  156. The next example reads back the module written in the first example and saves it in file \fBzyx.bin\fR.
  157. .PP
  158. # plcmod -m xyz.bin -t 0x1000
  159. eth1 00:B0:52:00:00:01 Read zyx.bin
  160. eth1 00:B0:52:BE:EF:03 Read
  161. .SH SEE ALSO
  162. .BR plc ( 1 ),
  163. .BR plcmdio16 ( 1 ),
  164. .BR plcmdio32 ( 1 ),
  165. .BR mdioblock ( 1 ),
  166. .BR mdioblock2 ( 1 ),
  167. .BR mdiodump ( 1 ),
  168. .BR mdiogen ( 1 )
  169. .SH CREDITS
  170. Charles Maier <cmaier@qca.qualcomm.com>