pts.sh.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. <?xml version='1.0' encoding='iso-8859-1'?>
  2. <!doctype html public '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
  3. <html xmlns='http://www.w3c.org/1999/xhtml' lang='en-us'>
  4. <head>
  5. <title>
  6. pts.sh
  7. </title>
  8. <meta http-equiv='content-type' content='text/html;iso-8859-1'/>
  9. <meta name='generator' content='motley-tools 1.9.4 13:40:33 Feb 18 2015'/>
  10. <meta name='author' content='cmaier@cmassoc.net'/>
  11. <meta name='robots' content='noindex,nofollow'/>
  12. <link href='toolkit.css' rel='stylesheet' type='text/css'/>
  13. </head>
  14. <body>
  15. <div class='headerlink'>
  16. [<a href='psnotch.sh.html' title=' psnotch.sh '>PREV</a>]
  17. [<a href='toolkit.html' title=' Index '>HOME</a>]
  18. [<a href='pushbutton.sh.html' title=' pushbutton.sh '>NEXT</a>]
  19. </div>
  20. <pre>
  21. #!/bin/sh
  22. # file: scripts/pts.sh
  23. # This is an example PTS script for bash shells; Both Linux and Cygwin
  24. # bash are suitable shells;
  25. # Define proper values in files hardware.sh and firmware.sh, connect
  26. # two INT6300 devices that share a power strip then run this script;
  27. # THe script will define symbols, create a frame file and program one
  28. # device as a golden node; it then enters a loop that programs the
  29. # other device, runs two rate tests and resets the golden node;
  30. # ====================================================================
  31. # host symbols;
  32. # --------------------------------------------------------------------
  33. . /etc/environment
  34. . ${SCRIPTS}/hardware.sh
  35. . ${SCRIPTS}/firmware.sh
  36. # ====================================================================
  37. # file symbols;
  38. # --------------------------------------------------------------------
  39. CNT=1000
  40. PKT=frame.hex
  41. LOG=time.log
  42. DAK1=00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF
  43. DAK2=FF:EE:DD:CC:BB:AA:99:88:77:66:55:44:33:22:11:00
  44. # ====================================================================
  45. # create dummy ethernet frame;
  46. # --------------------------------------------------------------------
  47. cat &gt; ${PKT} &lt;&lt; EOF
  48. FF FF FF FF FF FF FF FF FF FF FF FF 08 00 FF FF
  49. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  50. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  51. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  52. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  53. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  54. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  55. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  56. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  57. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  58. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  59. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  60. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  61. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  62. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  63. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  64. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  65. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  66. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  67. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  68. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  69. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  70. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  71. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  72. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  73. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  74. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  75. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  76. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  77. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  78. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  79. FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
  80. EOF
  81. # ====================================================================
  82. # check environment;
  83. # --------------------------------------------------------------------
  84. if [ ! -f ${PIB} ]; then
  85. echo &quot;File ${PIB} is missing or misplaced.&quot;
  86. exit 1
  87. elif [ ! -f ${NVM} ]; then
  88. echo &quot;File ${NVM} is missing or misplaced.&quot;
  89. exit 1
  90. elif [ ! -f ${PKT} ]; then
  91. echo &quot;File ${PKT} is missing or misplaced.&quot;
  92. exit 1
  93. fi
  94. # ====================================================================
  95. # check connections;
  96. # --------------------------------------------------------------------
  97. int6kwait -xqsi ${ETH1} -c10
  98. if [ ${?} != 0 ]; then
  99. echo &quot;Reference Unit is not connected.&quot;
  100. exit 1
  101. fi
  102. int6kwait -xqsi ${ETH2} -c10
  103. if [ ${?} != 0 ]; then
  104. echo &quot;Production Unit is not connected.&quot;
  105. exit 1
  106. fi
  107. # ====================================================================
  108. # program golden node;
  109. # --------------------------------------------------------------------
  110. clear
  111. echo
  112. echo Program Reference Unit
  113. echo
  114. MAC=00:B0:52:00:00:AA
  115. NMK=$(rkey secret.key -M)
  116. DAK=$(int6kid -Di ${ETH1})
  117. modpib -C0 -M ${MAC} -N ${NMK} -D ${DAK1} ${PIB}
  118. int6kp -i ${ETH1} -P ${PIB} -N ${NVM} -D ${DAK} -FF
  119. # ====================================================================
  120. # program and test devices;
  121. # --------------------------------------------------------------------
  122. while [ 1 ]; do
  123. clear
  124. echo $(date)
  125. echo
  126. echo Program Production Unit $((++unit))
  127. echo
  128. MAC=00:B0:52:00:00:BB
  129. NMK=$(rkey secret.key -M)
  130. DAK=$(int6kid -Di ${ETH2})
  131. modpib -C0 -M ${MAC} -N ${NMK} -D ${DAK2} ${PIB}
  132. int6kp -i ${ETH2} -P ${PIB} -N ${NVM} -D ${DAK} -FF
  133. echo
  134. echo Stabilize Devices
  135. echo
  136. int6kwait -w20
  137. echo
  138. echo Associate Devices
  139. echo
  140. int6k -i ${ETH1} -B1
  141. int6kwait -w3
  142. int6k -i ${ETH2} -B1
  143. int6kwait -rsai ${ETH2}
  144. int6kwait -rsai ${ETH2}
  145. # int6kwait -w10
  146. echo
  147. echo Rate Test One
  148. echo
  149. efsu -i ${ETH1} -hd ${NIC2} ${PKT} -l ${CNT}
  150. efsu -i ${ETH2} -hd ${NIC1} ${PKT} -l ${CNT}
  151. efsu -i ${ETH1} -hd ${NIC2} ${PKT} -l ${CNT}
  152. efsu -i ${ETH2} -hd ${NIC1} ${PKT} -l ${CNT}
  153. int6krate -ni ${ETH2}
  154. echo
  155. echo Reset Devices
  156. echo
  157. int6k -Ri ${ETH1}
  158. int6kwait -rsai ${ETH1}
  159. int6k -Ri ${ETH2}
  160. int6kwait -rsai ${ETH2}
  161. echo
  162. echo Stabilize Devices
  163. echo
  164. int6kwait -w20
  165. echo
  166. echo Rate Test Two
  167. echo
  168. efsu -i ${ETH1} -hd ${NIC2} ${PKT} -l ${CNT}
  169. efsu -i ${ETH2} -hd ${NIC1} ${PKT} -l ${CNT}
  170. efsu -i ${ETH1} -hd ${NIC2} ${PKT} -l ${CNT}
  171. efsu -i ${ETH2} -hd ${NIC1} ${PKT} -l ${CNT}
  172. int6krate -ni ${ETH2}
  173. echo
  174. echo Reset Reference Unit
  175. echo
  176. int6k -Ti ${ETH1}
  177. int6kwait -w10
  178. done
  179. </pre>
  180. <div class='footerlink'>
  181. [<a href='psnotch.sh.html' title=' psnotch.sh '>PREV</a>]
  182. [<a href='toolkit.html' title=' Index '>HOME</a>]
  183. [<a href='pushbutton.sh.html' title=' pushbutton.sh '>NEXT</a>]
  184. </div>
  185. </body>
  186. </html>