arpc.1 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. .TH arpc 1 "Mar 2014" "plc-utils-2.1.6" "Qualcomm Atheros Powerline Toolkit"
  2. .SH NAME
  3. arpc - Qualcomm Atheros Asynchronous Remote Procedure Call Monitor
  4. .SH SYNOPSIS
  5. .BR arpc
  6. .RI [ options ]
  7. .SH DESCRIPTION
  8. Print Atheros VS_ARPC messages on stdout.
  9. Message display format is determined by the message ARPCID field.
  10. .PP
  11. Messages having \fBARPCID\fR=\fB1\fR are assumed to have a print format string and variable number of 32-bit arguments.
  12. The format string and argument list are passed to ANSI C function \fBvfprintf\fR for output.
  13. The number of arguments printed and their interpretation is determined by the format string.
  14. .PP
  15. Messages having \fBARPCID\fR=\fB2\fR are assumed to contain raw binary data.
  16. The message payload is printed as ASCII hexadecimal characters or written as raw binary data depending whether stdout is directed to the console or a file.
  17. In either case, the payload is prefixed with the number of bytes in the payload.
  18. .PP
  19. This program is part of the Qualcomm Atheros Powerline Toolkit.
  20. See the \fBAMP\fR man page for an overview and installation instructions.
  21. .SH COMMENTS
  22. This is a relatively new program an is still under development.
  23. The message display format may change from release to release.
  24. .SH OPTIONS
  25. .TP
  26. -\fBi \fIinterface\fR
  27. The host ethernet interface to monitor.
  28. The named interface, such as eth0, eth1 and so on, must be connected to a HomePlug AV ethernet-to-powerline bridge adapter to receive any HomePlug AV traffic.
  29. The default interface is \fBeth1\fR.
  30. .TP
  31. .RB - q
  32. Quiet mode.
  33. Suppress the printing of the normal message descriptions on \fBstdout\fR.
  34. .TP
  35. .RB - m
  36. Prefix ARPC messages with a timestamp on output.
  37. The timestamp displays the local time as the number of seconds and microseconds since the Epoch in floating point format (ie; "1327514344.000872") so that events can be synchronized later on.
  38. When the payload is printed in hex or write as raw binary, the length of the seconds portion of the time may vary depending on the operating system used to print the timestamp.
  39. For exampe, seconds will probably be expressed using 8 bytes on 64-bit systems but only 4-bytes on 32-bit systems.
  40. This is a well known issue with the POSIX timval structure.
  41. Use option \fB-z\fR to determine exactly how your operating system writes the time stamp.
  42. .TP
  43. .RB - v
  44. Verbose mode.
  45. Displays incoming frames in hexadecimal dump format on \fBstdout\fR.
  46. This option is independent of option \fB-a\fR which prints VS_ARPC message text on stderr.
  47. .TP
  48. .RB - z
  49. Print the current time as both hh:mm:ss (ie; "13:17:03") and seconds.milliseconds (ie; "1327515423.611") and exit the program.
  50. This option may be used to verify proper timezone and determine how to map against timestamps from other sources.
  51. .TP
  52. -\fB?\fR, --\fBhelp\fR
  53. Print program help summary on stdout.
  54. This option takes precedence over other options on the command line.
  55. .TP
  56. -\fB!\fR, --\fBversion\fR
  57. Print program version information on stdout.
  58. This option takes precedence over other options on the command line.
  59. 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.
  60. .SH ARPC MESSAGE STRUCTURE
  61. .PP
  62. All \fBVS_ARPC\fR messages have the following general format where \fBRDATALENGTH\fR is the length of \fBRDATA\fR[] and \fBRDATAOFFSET\fR is where valid data starts within \fBRDATA\fR[].
  63. .PP
  64. struct __packed vs_arpc_ind
  65. {
  66. struct ethernet_std ethernet;
  67. struct qualcomm_std qualcomm;
  68. uint16_t \fBRDATALENGTH\fR;
  69. uint8_t \fBRDATAOFFSET\fR;
  70. uint8_t \fBRDATA\fR [1];
  71. }
  72. * indicate = (struct vs_arpc_ind *)(&message);
  73. .PP
  74. This means that the usable data address is &\fBRDATA\fR[\fBRDATAOFFSET\fR] and usable data length is \fBRDATALENGTH\fR - \fBRDATAOFFSET\fR.
  75. A handler can be called as follows to interpret and manipulate \fBRDATA\fR[]:
  76. .PP
  77. \fBARPCPrint\fR (stdout, &indicate->\fBRDATA\fR[indicate->\fBRDATAOFFSET\fR], indicate->\fBRDATALENGTH\fR - indicate->\fBRDATAOFFSET\fR);
  78. .PP
  79. .SH EXAMPLES
  80. .PP
  81. The following example monitors interface \fBeth1\fR for VS_ARPC.IND messages and prints them on the console.
  82. The program continues to monitor until terminated using \fBctrl-C\fR or terminated by some other means.
  83. .PP
  84. # arpc -i eth1
  85. .SH DISCLAIMER
  86. Atheros HomePlug AV Vendor Specific Management Message structure and content is proprietary to Qualcomm Atheros, Ocala FL USA.
  87. Consequently, public information is not available.
  88. Qualcomm Atheros reserves the right to modify management message structure and content in future firmware releases without any obligation to notify or compensate users of this program.
  89. .SH SEE ALSO
  90. .BR plcsnif ( 1 ),
  91. .BR hpav ( 1 )
  92. .SH CREDITS
  93. Charles Maier <cmaier@qca.qualcomm.com>