CHANGES 91 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721
  1. plc-utils-2.1.20
  2. ----------------
  3. 1. Changes to show exact chip ID [chkpib -r]
  4. 2. Added new option -d in plclog to support VS_TR069_LOG MME
  5. 3, Added new Chip signature and Device class in module chipset.c to support QCA7005 and QCA7006AQ
  6. 4, Enabled option '-e' for the user to configure the charging time up to 12hrs for PEV and EVSE tool
  7. plc-utils-2.1.19
  8. ----------------
  9. 1. Added new option -u in plctool to support VS_TOPOLOGY_TABLE MME
  10. 2. Added new command slac_simulator which performs slac based on SLAC HAR messages. It is similar to pev command and in addition it also incorporates HAR messages.
  11. 3. Fix checksum repair issue seen with [setpib -x]
  12. plc-utils-2.1.18
  13. ----------------
  14. 1. Changes to ensure PIB checksum is validated before altering pib by getpib/setpib command.
  15. 2. Removal of "custom" -c option from plclog command.
  16. 3. changes to display correct software version string with chknvm and chkpib commands.
  17. 4. changes to display correct hardware compatibility string with chknvm and chkpib commands.
  18. 5. changes to fix the incorrect firmware version displayed by plcstat command
  19. 6. New option in plcstat (-T) and plcnets (-t) to set the read timeout in milliseconds
  20. 7. Support gcc10, add check to verify compiler version before building on Linux system.
  21. 8. Added new option -D in backoff1 to retrieve DSL Detection status using VS_XDSL_DETECTION_STATUS MME.
  22. 9. Added portnumber information in existing -g option. (LLDP Port Identification using VlanID).
  23. 10. Modified code logic for word aligned length used in malloc call and removed the realloc call in "tonvm" tool
  24. plc-utils-2.1.17
  25. ----------------
  26. 1. Added new option -g in plctool to support VS_LLDP_INFO MME
  27. 2. Clean-up build warnings "warning: this statement may fall through [-Wimplicit-fallthrough=]"
  28. plc-utils-2.1.16
  29. ----------------
  30. 1. Modified the flash update logic to not issue a reset for flashless devices
  31. 2. Added new option -O in plctool to support VS_ROUTE_INFO MME
  32. plc-utils-2.1.15
  33. ----------------
  34. 1. backoff1 update - Error handling if temporary backoff fails due to link loss
  35. 2. Added new option -h in plctool to support VS_PROXY_NW_INFO MME
  36. 3. Resolved a couple of compiler warnings
  37. plc-utils-2.1.14
  38. ----------------
  39. 1. Added patches to resolve compiler warnings in native customer compiler
  40. 2. Added new option -a in trafficgen and backoff1 to support traffic rate.
  41. plc-utils-2.1.13
  42. ----------------
  43. 1. Added new option (d) in backoff1 command to specify a timeout value for backoff
  44. 2. Added new option (T) in backoff1 command to generate unidirectional traffic along with backoff
  45. 3. Formatted the output of backoff1 command for better readability
  46. plc-utils-2.1.12
  47. ----------------
  48. 1. Added new command backoff1 which supports VS_SET_PRESCALER_BACKOFF, VS_GET_PRESCALER_BACKOFF. This command is a modified version of backoff command added in 2.1.11.
  49. 2. Fix error in plctool command (sends unexpected VS_HST_ACTION CNF after sending the expected VS_PL_LNK_STATUS REQ).
  50. 3. Added support for uni directional traffic generation (-T option) in trafficgen command which in turn uses the Traffic Generation MME (0xA240).
  51. plc-utils-2.1.11
  52. ----------------
  53. 1. SF #02896874 buf fix for tonvm tool man page
  54. 2. New pts command line feature
  55. 3. Added new commands backoff and trafficgen to support VS_SET_PRESCALER_BACKOFF, VS_GET_PRESCALER_BACKOFF and VS_TRAFFIC_GENERATOR MME
  56. 4. Added support for 10-bit ADC
  57. 5. Added support for uptime variable in Get Device Attributes MME
  58. 6. Added support to reflect the changes made on MS_PB_ENC MME
  59. 7. Added support for Attentuation Reading
  60. plc-utils-2.1.10
  61. ----------------
  62. 1. 7550 and 7520 support, recognize new chip signatures, VS_GET_PROPERTY MME ID=119 memory profile support
  63. 2. slac-utils - SLAC enhancements
  64. 3. ampinit -n reads all of flash now.
  65. 4. nda-utils - previous version is removed before doing install of new version (WIN only)
  66. 5. Fix error when checking a Hosted Apps nvm file.
  67. 6. Fix plcstat tool. (reported incorrect chipset)
  68. plc-utils-2.1.9
  69. ---------------
  70. 1. Update product ID for slac-utils windows 64-bit installer. Previous version had incorrent product ID. slac-utils-x64-2.1.9-dev.msi now has 2.1.9 product ID.
  71. 2. plctone has been updated to include support for PTS speedup feature. plctone now issues tonemap clean-up MME. syntax: plctone -c0 dest mac peer mac.
  72. 3. WINPCAP library has been updated to QCOM version 4.1.3-v4 (no GPL code)
  73. 4. Distribution is now a single .zip file via createpoint.
  74. plc-utils-2.1.8
  75. ---------------
  76. 1. Programs mac2pw and mac2pwd implement a new method of generating device passwords. The old method is still supported but not by default.
  77. plc-utils-2.1.7
  78. ---------------
  79. 1. Modified ARPCPeek and ARPCPrint to support 64-bit Linux (and other word sizes) by parsing the format string instead of using vfprintf.
  80. 2. Fixed type in block.c program command line description.
  81. plc-utils-2.1.6
  82. ---------------
  83. 1. Added include file VisualStudioNET/include/inttypes.h to defined printf conversion specifier "PRId64" in support of modern conventions.
  84. 2. Replace conditional compile statements around references to print specifiers "lld" and "I64d" and replaced the specifiers with constant PRId64.
  85. 3. Man pages have moved from man7 to man1. Run script cleanup.sh to remove most of the old man pages from man7.
  86. 4. Replaced constant HOMEPLUG_MTYPE with ETH_P_HPAV throughout the toolkit. Replaced several incorrect uses of htons with ntohs in the process. Several SLAC function were affected.
  87. 5. Refactored programs int6krule, amprule, plcrule and pibrump to support reading of classification rules and to maximize code reuse. Renamed function Classifier to PrintRule and changed argument list to accept classification rule members instead of rule structure pointers.
  88. 6. Added VS_MODULE_OPERATION error descriptions for codes 0x72 and 0x73.
  89. 7. Moved ETH_P_* definitions from ether/channel.h to ether/ether.h which make more sense.
  90. 8. Redeclared TLV function declarations to accept 16-bit instead of 32-bit arguments.
  91. 9. Corrected bad example MAC addresses on int6kecho and plcecho man pages.
  92. 10. Added option -t to programs int6krule, amprule and plcrule to set read timeout.
  93. 11. Corrected bug in getpib causes option -c to be ignored. Changed default object seperator from newline to space.
  94. 12. Updated chipset codes and implemented table driven algorithm to detect chipset type.
  95. 13. Deprecated function ReadFMI and replaced it with function ReadFragments.
  96. 14. Detection of new VS_HST_ACTION code 7 but no action taken in int6khost, inst6khost64, amphost, plchost, PLCHostBOOT and others. Any desired action must be implemented by user.
  97. 15. Relocated the TLVNode structure definition from nvm/nvm.h to tools/tlv.h to prepare for increased use of TLV lists in future MMEs.
  98. 16. Implemented cheetah support programs chtone and chstat.
  99. 17. Modules WriteExecute*.c will not set the execute bit in the last frame of a module write unless the module EntryPoint is an even 32-bit address.
  100. 18. Program chkpib has been renamed chkpib1 and program chkpib2 has been renamed chkpib. This makes program chkpib2 the default chkpib program.
  101. 19. Program chknvm has been renamed chknvm1 and program chknvm2 has been renamed chknvm. This makes program chknvm2 the default chknvm program.
  102. 20. Various improvements to psgen utility, see the psgen(1) manual page for details.
  103. 21. Fixed bug in module ReadFirmware2 that prevented reading firmware from sdram or flash memory.
  104. plc-utils-2.1.5
  105. ---------------
  106. 1. Modified program pibcomp to avoid confusing messages related to file/definition sizes when comparing panther/lynx PIBs.
  107. 2. Revised macros SIZE_T_SPEC, ADDR_T_SPEC and OFF_T_SPEC in tools/types.h to account for variations in C compiler implementations.
  108. 3. Added programs pev and evse to demonstrate SLAC protocol for customers.
  109. 4. Updated the README file to explain that references to the Linux Toolkit are incorrect and misleading because it is confusing customers.
  110. 5. Redeclared homeplug and qualcomm frame header structures to support MMV=1.
  111. 6. Renamed function FragmentHeader to QualcommHeader1 and added function HomePlugHeader1.
  112. 7. Revised definition of macro nobreak in chars.h to include carriage return characters.
  113. 8. Revised configuration functions in config.c to work on Windows hosts by recognizing carriage returns via macro nobreak.
  114. 9. Removed unwanted debug code from program pibcomp that claimed a two-byte difference when no difference existed.
  115. 10. Created lldp folder to hold LLDP demonstration software.
  116. 11. Created slac folder to hold SLAC demonstration software.
  117. 12. Removed option -X from program plcinit because that feature is not supported on QCA6410, QCA7000, AR7420 chipsets.
  118. 13. Incorporated VS_HST_ACTION code 0x06 in modules EmulateHost64, PLCHostBoot, amphost, plchost and plchostd.
  119. 14. Modified function Identity2 to behave the same as function Identity1 when the PLC device reports an error.
  120. 15. Renamed two members of channel structure.
  121. plc-utils-2.1.4
  122. ---------------
  123. 1. Updated program getpib to handle panther/lynx PIB files. This update was overdue.
  124. 2. Incorporated some program getpib improvements into program setpib.
  125. 3. Added program tonvm to prepend an ordinary files with a Panther/Lynx NVM header.
  126. 4. Fixed a known nvm chain traversal problem in module plc/Identity2.c caused by a word size mismatch on 64-bit hosts.
  127. 5. Removed folder scripts/prescaler because those values are outdated.
  128. 6. Added 'ignore' target to make files.
  129. plc-utils-2.1.2/2.1.3
  130. ---------------
  131. 1. Changed default channel timeout from 15ms to 50ms for user convenience. Many network situations were causing unwanted timeouts.
  132. 2. Minor code changes to programs chkpib, chkpib2, chknvm and chknvm2 to improve consistency between the internal functions accross the programs.
  133. 3. Added option -c to program plcmcinfo to support classic (legacy) multicast information display formats.
  134. 4. Modified program pibruin to accommodate panther/lynx chipset classifiers.
  135. 5. Improved preamble descriptions for modules in programs ampwait and plcwait.
  136. 6. Modified programs mdioblock and mdioblock2 so that Windows does not insert CR after LF on stdout.
  137. 7. Add missing endian conversion code to program pibruin and function ParseRule to support use on BigEndian hosts.
  138. 8. Added signed integers to function basespec.
  139. 9. Merged dispersed classifier rule structure definitions all into plc/rules.h and renamed them according to ther MME/PIB use.
  140. 10. Added function getargv to parse one text line and return an argument vector.
  141. 11. Added demo programs solicit and respond. Solicit expects a solicit.ini configuration files but does not read any of the information in it. Respond reads a respond.ini configuration file in the same folder as the program. Users can specify different configuration files.
  142. 12. Expanded struct nvm_header2 Identifier member to expose ModuleID and ModuleSubID members.
  143. 13. Removed man page WTSSR-M.7 from the toolkit because it contained material having a Weeder Technologies copyright; Users must now access URL
  144. 14. Applied changes to preambles to accommodate Qualcomm Legal requirements.
  145. 15. Renamed programs ampid to ampID and plcid to plcID. This causes problems on case-sensitive filesystems. Be sure to remove the older files from /usr/local/bin/ or wherever you have installed toolkit programs.
  146. 16. Applets have been removed from this package to decouple Qualcomm Open Source Legal code scanning requirements. Applets and tools originate from two independent code bases.
  147. 17. All preambles have been updated to comply with Qualcomm Open Source Legal copyright requirements. An approved LICENSE and NOTICES file have been added to identify licensing requirements. All future code shall be released under the Internet Software Consortium Licence, regardless of origin, unless approved by Qualcomm Open Source Legal.
  148. plc-utils-2.1.1
  149. ---------------
  150. 1. Function pibfile1 now displays a unique error when a Panther/Lynx PIB is detected.
  151. 2. Program mdiodump now prints MDIO commands compatible with program mdioblock by default. Option -s is needed to produce a program summary, which was the previous default behaviour.
  152. 3. Program plcmod now accepts option -D instead of rejecting it.
  153. 4. Program weeder now acceptc option -r to read relay settings and display in decibels - EV105164.
  154. 5. Created programs plcrule and plcwait to upgrade programs int6krule and int6kwait for Panther/Lynx chipsets.
  155. 6. Created program pib2xml to replace program odx and handle both old and new pib formats.
  156. 7. Added an improved MulticastInfo option to plctool. This option is temporary and will be removed and incorporated into a stand-alone tool of some kind - EV105978.
  157. 8. Progams int6kecho, plcecho, int6krate, amprate and plcrate now display the correct default echo duration on their command line menus.
  158. 9. Program ptsctl now accepts option -r to read back line neutral and line ground attenuation values and display them on the console - EV105164.
  159. 10. Improvements in error checking on read()/write() calls in several programs.
  160. 11. Fixed problem in chkpib that would result in the PIB checksum failing on platforms with 64 bit off_t's.
  161. 12. Added program plcmcinfo to read and display multicast information using VS_MULTICAST_INFO. This program replaces option -g for programs int6k, amptool and plctool. Users should stop using those programs to display multicast information - EV105978.
  162. 13. Rewrote programs ampwait and plcwait to use time based delays instead of retry-based delays - EV107904.
  163. 14. Implemented program xml2pib which replaces program pxe for XML based PIB editing. Users are reminded that offsets in Panther/Lynx PIBs are subject to change without notice and so care should be taken when using setpib, getpib and xml2pib.
  164. 15. Removed options -c and -p from programs int6ktest, amptest and plctest because the channel timeout is now fixed at 50ms.
  165. 16. Modified efbu options -t and -p to work in milliseconds instead of seconds to increase the flexibility. Added option -e to all specification of an Ethertype.
  166. 17. Fixed bug that caused program plchost to hang during push-button-join operations. Changes made to module ModuleRead and plchost.
  167. 18. Changed logic in module WaitForStart to minimize the number and frequency of VS_SW_VER.REQ messages. Now, only one message is issued.
  168. 19. Applied stricter type-casting to lseek statements in module setpib to prevent errors on some 64-bit operating systems.
  169. 20. Option weeder -r now works on Linux and Windows. Option ptsctl -r now works on Windows.
  170. 21. Modified timing logic in functions that call gettimeofday (). Added macros SECONDS and MILLISECONDS to types.h to standardize the way in which time intervales are computed across various programs - EV107904.
  171. 22. Altered plcrate logic in an attempt to prevent periodic read timeout errors.
  172. 23. Complete the migration to Visual Studio 2010. There are separate .sln files for VS2003 and VS2010. They can be used for parallel builds because object files and exe files are kept in separate folders. File plc-utils-2003.sln compiles 32-bit programs and creates xxx-utils-x86.msi files. File plc-utils-2010.sln compiles 64-bit programs and create xxx-utils-x64.msi files.
  173. plc-utils-2.1.0
  174. ---------------
  175. 1. Program pibdump replaces program odd and will accomodate both old and new PIB formats. Program odd is deprecated.
  176. 2. Program pibcomp replaces program odc and will accomodate both old and new PIB formats. Program odc is deprecated.
  177. 3. Added option -b to programs amptool, ampinit, plctool and plcinit to fetch a device enumeration ID table using VS_EM_ID_TABLE.
  178. 4. Added option -h to programs int6kmdio2 and plcmdio32 so that high-order data can be transmitted before low-order data. See EV102553.
  179. 5. Removed redundant chip identity check in function chipset.c.
  180. 6. Fixed program plcrate so that options -t and -T work correctly. Refactored all functions related traffic generation. Delete modules CrossTraffic1 and CrossTraffic2 - EV104031.
  181. 7. Fixed program plctool so that option -M works.
  182. 8. Fixed program plchost so that attempts to read the PIB no longer loop indefinitely. In addition, some changes were required to the plc firmware to make this work correctly.
  183. 9. Programs odd, odc and odx are deprecated. Program pibdump and pibcomp now replace odd and odc repectively.
  184. 10. Added program plcmod to replace int6kmod.
  185. 11. Added program plcwait to replace int6kwait and ampwait.
  186. 12. Started migration from Visual Studio 2003 to Visual Studio 2010. The transition is not complete so VS2010 files are not ready.
  187. 13. Windows applications now install in "C:\Program Files (x86)\Qualcomm Atheros\Powerline Toolkit" instead of "C:\Programs Files\Atheros\Toolkit". You may need to change the definition of environment variable "PLC" to support this.
  188. plc-utils-2.0.9
  189. ---------------
  190. 1. Added length argument to function UnwantedMessage so that zero length messages do not constitute an unwanted message.
  191. 2. Fixed bug that caused int6kwait to report "Allow 0 seconds for reset" despite the actual time allowed.
  192. 3. Modified program plchost so that options -n and -p are optional and the default filenames are 'user.nvm' and 'user.pib' respectively.
  193. 4. Fixed bug in module piblock that cause "can't home file" message for thunderbolt and lightning PIB files.
  194. 5. Modified program int6kmod so that custom modules are read and written to flash memory.
  195. 6. Modified functions Topology1 and Topology2 so that the local device BDA is displayed correctly.
  196. 6. Added program plcstat to plc-utils-2.0.8.msi package. This program detects the type of device being queried.
  197. 7. Added program plcstat which is a forward looking version of program ampstat.
  198. 8. Added program plcmdio16 which is a forward looking version of program int6kmdio.
  199. 9. Added program plcmdio32 which is a forward looking version of program int6kmdio2.
  200. 10. Added option -b to program mdiodump in order to print commands in 16-bit format suitable for input to program mdioblock.
  201. plc-utils-2.0.8
  202. ---------------
  203. 1. Updated module Chipset.c so that new chips such as the QCA6410, QCA7000 and QCA7420, are properly identified.
  204. 2. Added option plcinit -E to erase flash memory on local or remote panther/lynx devices. This option determines the extent of flash memory using a VS_GET_NVM message then erases it all. Poof!
  205. 3. Modified program plcinit to overwrite the factory PIB on local or remote panther/lynx devices by default. Use program plctool if you do not want to overwrite the factory PIB.
  206. plc-utils-2.0.7
  207. ---------------
  208. 1. Modified program int6keth to specify that "Device Refused Request" when a device error occurs.
  209. 2. Modified program setpib to correct error causing the PIB checksum to be written into the legacy position of contempory PIB files.
  210. 3. Modified program modpib to reject HFID characters considered illegal by the HomePlug specification.
  211. 4. Modified program grab so that option -v appends input filename to the output;
  212. 5. Fixed bug that caused program plchost to boot runtime parameters incorrectly on AR7420 devices.
  213. plc-utils-2.0.6
  214. ---------------
  215. 1. Added module MulticastInfo to programs ampinit, amptool, plcinit and plctool.
  216. 2. Added features to amptest such that it should behave identically to plctest for now but amptest will evetnually be deprecated.
  217. 3. Added option -r for "read" and -C for "customer report" to program int6klog.
  218. 4. Fixed bug in program int6klog that caused apparent timeout with no output.
  219. 5. Added option -m to program arpc to prefix arpc messages with a millisecond timestamp.
  220. 6. Added option -z to program arpc to output current time in both hh:mm:ss and seconds.milliseconds format and exit.
  221. 7. Removed module WaitForBootLoader from toolkit. Replaced all references with in-line code to wait for a VS_HST_ACTION message.
  222. 8. Added function pibfile2 to validate newer PIB formats.
  223. 9. Removed extraneous station output from program mdustats causes by residual debugging code.
  224. 10. Merged contents of nvm-utils.msi and pib-utils.msi with nda-utils.msi to reduce the number of independent windows packages.
  225. 11. Modified modpib and setpib to update the nvm image header checksum after modifying PIB images.
  226. 12. Modified program int6keth to accept option -p for port number to indicate internal or external interface. Options -R and -W are now gone.
  227. 13. Defined macro SIZEOF in tools/types.h and implemented it in various modules that could take advantage of it.
  228. plc-utils-2.0.5
  229. ---------------
  230. 1. Added new manifest data types to prevent "Mystery Data Type xx" messages for "chknvm -m" and "chkpib -m".
  231. 2. Added macro OPTSTR to file putoptv.h to display numeric program constants in program menu strings. (yet another cool macro from Nate Houghton).
  232. 3. Modified make files by removing "su root -c" statements. User may now do "su make install" then "su make manuals". This assists in design of Debian package scripts.
  233. 4. Changed Device ID codes to reflect latest changes to chipset identifiers. Programs should now identify QCA6410, QCA7000 and QCA7420 devices correctly.
  234. 5. Added more detail to description of boot-from-host and flash-upgrade process.
  235. plc-utils-2.0.4
  236. ---------------
  237. 1. Updated makefile to flag build errors and to remove dependencies causing unecessary rebuilds.
  238. 2. Added projects pib-utils, nvm-utils and key-utils to segment toolkit programs into practical groups. These packages are experimental and may be deleted in the future.
  239. 3. Made timer checks in ReadMME () permanent by removing conditional compile statements.
  240. 4. Reinstated program plcinit to nda-utils.
  241. plc-utils-2.0.3
  242. ---------------
  243. 1. Modified program adccap to handle and added applet QCA6410-adc-capture to handle panther and lynx chipset.
  244. plc-utils-2.0.2
  245. ---------------
  246. 1. Programs ampsnif and ampsnot have been removed from the toolkit and replaced with program ampsnif which combines their functionality.
  247. 2. Programs plcboot and plctool now boot and flash QCA7420 devices only. Programs ampboot and amptool boot and flash INT6400 and AR7400 devices. Programs int6kboot and int6k should be used for INT6300 devices and earlier.
  248. 3. Most applets have been removed from the toolkit. Applet names now begin with the chipset that they were written for.
  249. 4. Programs ampsnif and ampsnot have been removed and replaces with program plcsnif which combines their functionality.
  250. 5. There are now four (4) .msi files named amp-utils.msi, plc-utils.msi, nda-utils.msi and qca-utils.msi. Each contains a subset of the toolkit programs. All source code for all programs is still included in the package with a few exceptions.
  251. plc-utils-2.0.1
  252. ---------------
  253. 1. Refactored and renamed virtually all functions having to do with device boot and flash operations and file validation operations.
  254. 2. Program plcboot now boot and flashes Panther/Lynx powerline devices.
  255. 3. Programs chknvm and chknvm2 now check both Thunderbolt/Lightning and Panther/Lynx image files. Option -m has been added to display the chain manifest on Panther/Lynx image files.
  256. 4. Programs chkpib and chkpib2 now check both Thunderbolt/Lightning and Panther/Lynx image files. Option -m has been added to display the chaing manifest on Panther/Lynx image files.
  257. 5. Program setpib can now be used to edit both Thunderbolt/Lightning and Panther/Lynx image files.
  258. 6. Program modpib can now be used to edit both Thunderbolt/Lightning and Panther/Lynx image files.
  259. amp-utils-1.3.7
  260. ---------------
  261. 1. Added option -p to programs amptone and ampsnr to indicate primary or alternate coupling when collecting tonemap data.
  262. 2. Modified function WaitForStart to call function Chipset so that all chipset detection logic is located in one module. Function chipset is then called by functions WaitForStart and Topology.
  263. 3. Modified programs chknvm and chknvm2 to detect and handle the older thunderbolt and lightning and the newer panther and lynx firmware image files and heder chains.
  264. 4. Moved source files in folders ./int6k and ./amp to folder ./plc. Renamed "struct int6k" to "struct plc" and renamed constants "INT6k_*" to "PLC_*" throughout.
  265. 5. Updated applet flastest.nvm to accommodate newer flash memory chipsets.
  266. 6. Removed deprecated programs int6kfp, int6kbootp and ampinit because they are not needed. The same functionality is available using int6kf, int6kboot and ampboot.
  267. 7. Modified programs int6krate and amprate such that option -n is now the default if other options are specified. Option -n is still permitted.
  268. 8. Added '1000Full' as an argument for option -a on program int6keth.
  269. 9. Added program plctest to replace amptest because it supports old and new nvm file formats and will (soon) support old and new boot methods.
  270. 10. Performed major re-factoring of most programs that communicate with powerline devices or handle .nvm files.
  271. 11. Modified programs odd and odc to reports size descrepencies between definition and data files.
  272. 12. Removed function alert from the toolkit. Occurances of "alert (...)" have been replaced by "error (0, 0, ...)" to reduce the number of modules comprisingthe toolkit.
  273. 13. Modified function UnwantedMessage to handle fragmented messages. Removed function UnwantedFragment from the toolkit. At this version only programs ampsnr and adccap process fragmented messages.
  274. 14. Fixed bug that caused a segment fault on Linux and memory access violation on Windows.
  275. 15. Added program plctool to support Panther/Lynx platforms.
  276. 16. Remove program watchdog from the toolkit.
  277. 17. Modified prgrams int6kboot, ampboot and plcboot to use the true device address, instead of the local management address, after booting the device. This should reduce the possibity of crosstalk between devices in production environments.
  278. 18 Deprecated program int6km in favor of program plcm which performs memory write/read in one step.
  279. amp-utils-1.3.6
  280. ---------------
  281. 1. Fixed bug that prevents int6kboot, ampboot, int64host, amphost from booting an AR7x00 chipset. This change is of particular interest to customers doing AR7x00 boot-from-host designs.
  282. amp-utils-1.3.5
  283. ---------------
  284. 1. Added program plcget to implement the VS_GET_PROPERTY message type. Presently, properties can only be fetched by numeric id.
  285. 2. Modified program int6kid to read and print the manufacturer, user or network HFID.
  286. 3. Added JEDEC codes 3215 = FM25S16/FM25Q1 and 3216 = FM25Q32 to modules nvram.h and nvram.c.
  287. 4. Improved robustness of powerline network topology logic by filtering out unwanted frames when requesting VS_SW_VER information from network neighbors.
  288. 5. Moved programs plcget and plcset from folder int6k to folder plc.
  289. 6. Added option -p to program efbu to insert a pause in milliseconds between each frame.
  290. 7. Added program plcfwd to manage vendor specific message VS_FORWARD_CONFIG.
  291. amp-utils-1.3.4
  292. ---------------
  293. 1. Created toys folder for programs that will not be released (even under nda) because they are experimental or unique to one customer or project. Moved several existing programs from the hybrid and nda folder into the toys folder.
  294. 2. Added program slac to demonstrate Green PHY proof of concept testing. This program is minimal and not of general use.
  295. 3. Added program plcotst (PLC One-Time Self-Test) to configure Atheros One-Time Self-Test and read stored results using the VS_SELFTEST_ONETIME_CONFIG and VS_SELFTEST_RESULTS message types.
  296. 4. Added option -X to programs int6kp and ampinit to erase a given sector of flash memory using the VS_FLASH_ERASE message type.
  297. 5. Fixed bug in module UnwantedFragment.c that caused all fragments, except VS_TONEMAP_CHAR, to be rejected.
  298. amp-utils-1.3.3
  299. ---------------
  300. 1. Created folder "mdio" and move mdio related functions and modules to that folder.
  301. 2. Added program mdioblock. Renamed program ar8236mdio to mdioblock2. Program mdioblock produces a clause 22 MDIO program block for download by program int6kmod. Program mdio block2 produces a clause 45 MDIO program block.
  302. 3. Fixed a bug that would cause -n in program int6k to not read the entire NVM from the device.
  303. 4. Added program ptsctl to control multiple weeder modules used in the newer Atheros PTS units.
  304. 5. Added program mdustats to to implement the VS_MDU_TRAFFIC_STATS message.
  305. 6. Added program ampagc to collect and display agc and snr data in robo mode using a modified version of the VS_DBG_INFO message. This is a test application that will be used to explore special conditions and so it may be removed from future toolkit versions without notice.
  306. 7. Option -s, used to read SDRAM configuration information, has been removed from programs aptool and ampinit because the VS_RD_CBLOCK message is not supported on AR7400 devices.
  307. 8. Added option -o to program int6krate to set the read timeout in milliseconds. The default timeout on both the Windows and Linux version is 50 milliseconds. If you do not like that value then change it using this option. This option has the same effect as option -t on int6k, int6kp and so forth.
  308. 9. Added option -r to program nda/ampsnr to collect, process and output ROBO SNR data using a special format. Removed option -g from ampsnr since Tim Gargraves is no longer using this program. Removed program ampagc from toolkit.
  309. amp-utils-1.3.2
  310. ---------------
  311. 1. Programs int6kfp and int6kbootp are no longer compiled by default because they are redundant. Program int6kf performs the same as program int6kfp and program int6kboot performs the same as program int6kboot. User may manually compile and install int6kfp and int6kbootp or merely add symbolic links in folder /usr/local/bin.
  312. 2. Replaced calls to function HomePlugHeader () with calls to function EthernetHeader () throughout the toolkit and have removed function HomePlugHeader () from the source tree.
  313. 3. Modified program mdiogen to accomodate Atheros AR8236 special registers by adding a new macro that takes the address, data, and mask. Also, the program now sets file permissions and pads the output to an even multiple of four bytes and will delete the output file on error. This program still requires manual comiplation using command "gcc -o mdiogen mdiogen.c".
  314. 4. Fixed bug in program hpavkeys that failed to handle passwords longer than 512 bytes and, in some cases, did not terminate password strings.
  315. 5. Fixed a problem that resulted in a missing wanpacket.dll message on Windows Vista and Windows 7 operating systems. File wanpacket.dll is no longer included in Microsoft operating system distributions as of Windows Vista. If you experience this problem then delete files packet.dll and wpcap.dll from folder c:\Program Files\Atheros\Toolkit, if you have permission. If you do not have permission then uninstall the current toolkit package and install another that does not include these files. Older toolkit packages included these files by design but some newer toolkit packages still include them by mistake.
  316. 6. Added program mdiodump to display the contents of an MDIO block in human readable format.
  317. 7. Added program ar8236mdio to write data into AR8236 special registers.
  318. 8. Remove folders cgi, scan and ttcp from the toolkit to reduce clutter.
  319. amp-utils-1.3.1
  320. ---------------
  321. 1. Modified programs chknvm and chknvm2 to display firmware revision string for version 5 firmware. The algorithm for extracting the string is based on some assumptions and may require modification at a later date but the programs are now usable for INT6x00 and AR7x00 chipsets.
  322. 2. Fixed bug that prevented the chipset and firmware strings from being displayed for int6kstat -t. This but was introduced recently but has now been corrected.
  323. 3. Modified program int6klog to suppress unwanted carriage-returns in Windows output.
  324. 4. Added TR-069 data types url, username, password, accessusername, accesspassword, adminusername and adminpassword to program setpib.
  325. 5. Modified module Attributes.c to display line frequency. Program int6k and int6kp option -a now displays line frequency.
  326. 6. Updated MME constants and lookup tables.
  327. 7. Implemented VS_NW_INFO.COUPLING field into functions NetworkInfo and PhyRates for AR7x00. Additional information now appears for AR7x00 devices only when using amptool -m and amprate -n.
  328. 8. Modified program psin and psout to properly handle AR7x00 prescalars.
  329. 9. Added new option '-g' to int6k to read a device's IGMP snooped group table.
  330. 10. Created programs int6kmdio to edit PHY registers and ar8236mdio to manage general purpose MDIO registers. These programs complement programs int6kmod and mdiogen.
  331. 11. Added module read functionality to program int6kmod.
  332. 12. Corrected bug in program setpib that caused decimal values to be write in the wrong endian order.
  333. amp-utils-1.3.0
  334. ---------------
  335. 1. Prepended Atheros TLA text to source code modules that require it. Some modules were developed by a third party and do not require permission from Atheros.
  336. 2. Modified program ampsnot so that ARPC message content always appears on on the console in ASCII hexadecimal format.
  337. 3. Removed stray OS/X debugging messages fronm function openchannel.
  338. 4. Fixed a compile error that prevented int6kboot and int6kbootp from bootint INT6400 devices on Windows platforms.
  339. amp-utils-1.2.9
  340. ---------------
  341. 1. Fixed typo in program int6keth where keyword "Off" started with digit '0' instead of letter 'O' as reported in FB1477.
  342. 2. Program int6k now performs push button joins and leaves using option -B on big endian hosts.
  343. 3. Program int6km now displays binary register contents in correct endian order on big-endian hosts. The actual fix was applied to function regview32.
  344. 4. Program ampboot now initializes SDRAM on AR7x00 devices, as intended.
  345. amp-utils-1.2.8
  346. ---------------
  347. 1. Applied endian conversion fixes to functions InitDevice and BootDevice which caused boot failures on big-endian hosts. The IGNOREMASK and IMAGETYPE fields had the wrong size endian conversion for their datatype such that the error was not apparent on little-endian hosts.
  348. 2. Modified variou pib functions so that version 5 PIBs are now recognized; however, this means that some interim PIBs released with beta 5 firmware are no longer recognized.
  349. 3. Programs ampboot, ampinit and amphost do not work properly on the AR7400 in this toolkit release. Toolkit users should use programs int6k64host, int6kboot and int6kbootp on AR7400 devices.
  350. 4. Program ampsnot now prints VS_SNIFFER indications correctly. Previously, 5 bytes were being omitted from the output.
  351. 5. Fixed bug in ampsnot that resulted in a partial last frame when ampsnif is turned off.
  352. amp-utils-1.2.7
  353. ---------------
  354. 1. Modified function BootDevice so that it no longer configures SDRAM when the memctl applet is present in the nvm image chain. This means that InitDevice should be called on device bootup.
  355. 2. Modified int6kboot and int6kbootp to call function InitDevice before calling function BootDevice because BootDevice no longer configures SDRAM.
  356. amp-utils-1.2.6
  357. ---------------
  358. 1. Fixed bug in int6krule that sent ethertype values in LittleEndian instead of BigEndian. This bug was introduced with toolkit version 1.0.5 and has been present since May 2009. Affected int6krule users should upgrade.
  359. 2. Added program efbu to blast IP broadcast frames of maximum length at maximum rate over a given interface for a given period of time in seconds.
  360. 3. Added sypport for "mac" data type in program setpib. Removed support for "hex" data type in program setpib. Removed support for "text" data type in program getpib. These changes improve symmetry between the two programs.
  361. 4. Fixed bug in program int64host that caused an error message to be displayed for host action 0x00 which is, in fact, not an error.
  362. amp-utils-1.2.5
  363. ---------------
  364. 1. Added program nics and ifs to enumerate host Ethernet interfaces. The former only runs on Linux and OSX at present. The latter runs on all platforms. Externally, they serve the same function.
  365. 2. Added program plcnets to locate and enumerate PLC networks accessible from the local host;
  366. 3. Modified channel functions to support IEEE 802.2 frames on Windows and OS X platforms. This is only used for UART-enabled powerline devices, at present.
  367. 4. Added warning message "Superfluous command line arguments" to programs that need it.
  368. 5. Remove programs ampsnif and ampsnot because they are not for general use by customers.
  369. 6. Added programs edru and edsu to receive Ethernet frames from a remote Atheros UART-enabled powerline device or send Ethernet frames to a remote Atheros UART-enabled powerline device.
  370. 7. Added program ttycat to send data over powerline using a local UART-enabled powerline device.
  371. amp-utils-1.2.4
  372. ---------------
  373. 1. Fixed bug that caused tools to block indefinitely on Mac OS X 10.6 (Snow Leopard). This bug did not affect programs executing on OS X 10.5.
  374. 2. Reworked XML parsing functions in nodes folder. Some older functions now have a new interface and new functionality.
  375. 3. Fix a bug in program int6kuart that prevented option -b from updating host serial port settings.
  376. amp-utils-1.2.3
  377. ---------------
  378. 1. In previous toolkit versions, most programs would display a help summary if no arguments were present on the command line. This caused ocassional conflicts when attempting to pipe information from one program to another. Now, all programs require you to enter "-?" on the command line in order to view the help summary.
  379. 2. Extensively modified the behavior of program ttycat. The overall functionality is now different rendering the previous version obsolete. It was create to send serial data to the local UART-enabled powerline device.
  380. 3. Added program efru to read 802.2 Ethernet frames and write the payload to stdout. This program was created to receive frames sent by a remote UART-enabled powerline device. This programs only works on Linux and has not been extensively tested. Expect changes in the next toolkit release.
  381. 4. Add program ethcat to read one or more files and send 802.2 Ethernet frames to a specified network interface. This program was created to send network data to a remote UART-enabled powerline device. This program only works on Linux and has not been extensively tested. Expect changes in the next toolkit release.
  382. 5. The contents of folder efsu have been moved to folder ether and folder efsu has been removed.
  383. 6. Function openchannel now requires a protocol (ie; ether type) argument. This argument will overwrite the channel.type member so structure member initialization is no longer necessary.
  384. 7. Variables of type size_t are being converted to unsigned to prevent compiler warnings when printing size_t values on 64-bit systems. The alternative was to use different format specification strings for 32-bit and 64-bit environments. This change permits one specification string to be used in both environments.
  385. 8. Fixed a bug in setpib that would cause values to not be inserted into the PIB correctly on little endian machines.
  386. amp-utils-1.2.2
  387. ---------------
  388. 1. Toolkit now installs in correct windows folder. Previous version incorrectly installed in c:\Program Files\Atheros\Atheros Powerline Toolkit 1.2.1\ thus invalidating previous path references.
  389. 2. Modified program int6kuart which was failing to communicate with UART-enabled powerline devices.
  390. amp-utils-1.2.1
  391. ---------------
  392. 1. Renamed package from int6000-utils to amp-utils. Package now includes two Windows install files: int6x00-utils-x.x.x.msi and ar7x00-utils-x.x.x.msi.
  393. 2. Fixed bug in int6kuart where option -b failed to change host serial port parameters on Windows.
  394. 3. Renamed package files having "int6000" prefix to have "int6x00" prefix.
  395. 4. Renamed package files having "amp" prefix to have "ar7x00" prefix.
  396. 5. Added a series of "ampxxxx" programs as ar7x00 counterparts to int6x00 programs. Generally speaking, command line arguments are identical but there are internal changes to accomodate new and proposed vendor specific message types, many of which permit fragmentation and have larger 16-bit phy rate fields.
  397. 6. Modified make.def to support cross-compilation on Atheros Wireless platforms.
  398. 7. Added conditional compile constants, INT6x00 and AR7x00, to several older files to accommodate new and proposed message formats for AR7400 firmware. Several AMP*.c modules have been deleted as a result. This means that some programs require one constant or the other to be defined in order to compile.
  399. int6000-utils-1.2.0
  400. -------------------
  401. 1. Added option -u to program int6krate to display uncoded PHY rates. Option -c previously returned uncoded PHY rates which was incorrect. Option remains enabled but now returns coded PHY rates.
  402. 2. Added program ampsnif and ampsnot to monitor powerline traffic. These programs are experimental and so their functionality and output will probably change in the next release.
  403. 3. Added program ampboot as an alternative to int6kboot for the AR7400 chipset and FW5.0 firmware. The functionaility of ampboot is identical to int6kboot in this release but may change in the next release.
  404. 4. Change program int6kuart transparent mode buffer size options -b and -B to -z and -Z respectively.
  405. 5. Added option -l to programs amptest and int6ktest causing the program to repeat all applets in the first applet file until the program is terminated.
  406. 6. Moved the contents of folder ./hpav to ./mme;
  407. 7. Added program int6kbaud to set URART-enabled powerline serial communications paramters using the ATBR serial line command.
  408. 8. Added program mme to help lookup error messages associated with vendor-specific message types.
  409. 9. Fixed endian errors in modules nvrampeek.
  410. 10. Modified frame formatting functions to accept MMV as a argument in preparation for proposed changes to Atheros vendor-specific message formats.
  411. 11. Renamed function EthernetHeader to HomePlugHeader to better reflect it's function.
  412. 12. Refactored serial line command buffer handling functions to support anticipated additions to the serial line command set.
  413. 13. Incorporated contents of folder ./pts into folder ./serial and removed folder ./pts from the toolkit.
  414. 14. Modified program efsu so that the minimum permitted frame length is 60 bytes instead of 64 bytes.
  415. 15. Modified function readpacket to call function hexin when compile time constant __DEBUG__ is defined. This transparently fetches Ethernet frames from stdin instead of the network interface. Function hexin is the same function used by program efsu and so any frame description file may be used.
  416. 16. Added function UnwantedFragment to deal with MMV=1 message fragments in preparation for propsed fragmented message types.
  417. 17. Added program ampboot which is identical to program int6kboot except for the name and console messages.
  418. 18. Added program amphost which is identical to program int64host except for the name and console messages.
  419. 19. Added program amprate which is identical to program int6krate but will accept the proposed MMV=1 VS_NE_INFO message type.
  420. 20. Added program amptool which is identical to program int6k but will accept the proposed MMV=1 VS_NW_INFO and other new message types that may appear.
  421. 21. Added program ampstat which is identical to program int6kstat but will accept the proposed MMV=1 VS_LNK_STATS message types.
  422. 22. Added program amptone which is similar to program int6ktone but will accept the proposed MMV=1 VS_TONWMAP_CHAR and VS_RX_TONEMAP_CHAR message types.
  423. 23. Modified uintspec to properly display the upper-limit when a numeric command line argument was out-of-range. The upper-limit of the range was always displayed as '0' on Windows platforms. This was a long standing bug.
  424. 24. Added option -f to int6klog to control output format. Output can be in XML format or raw. Fixed a bug in the XML output.
  425. 25. Add program int6kflog to read XML or raw INT6x00 device log files and output them in a human readable format. Only raw logs are supported at this time.
  426. int6000-utils-1.1.9
  427. -------------------
  428. 1. Corrected bug in int6kuart that cause an error whenever the powerline device returned an error.
  429. 2. Corrected typographical error in module MMECode, changing "DAC Mismatch" to "MAC Mismatch" for VS_MOD_NVM.
  430. 3. With this release, there has been a difference in the chipset ID reported between the Bootloader and Firmware. Consequently, the toolkit may report an AR7400 as either an AR7400 or an UNKNOWN chipset. Live with it for now.
  431. int6000-utils-1.1.8
  432. -------------------
  433. 1. Added program amptest as an alternative to program int6ktest. Program int6ktest displays ARPC messages in a non-standard way. Program amptest displays ARPC messages in a standard way that is compatible with the format used by Windows Device Manager. Program amptest will eventually replace int6ktest.
  434. 2. Modified functions openchannel and readpacket to improve responsiveness under Windows.
  435. int6000-utils-1.1.7
  436. -------------------
  437. 1. Replaced new "sudo" commands in all makefiles with old "su root -c" commands. The use of sudo was causing long delays on newer Ubuntu distributions for some reason. The cause is not yet known.
  438. 2. Changed the function of option -t on int6krule to match other toolkit programs. Previously, it printed the int6krule symbol tables but it now sets the channel timeout. Use option -s to display the int6krule symbol tables.
  439. 3. Replace references to "Intellon" with "Atheros" and "Intellon Corporation" with "Atheros Communications".
  440. 4. The Intellon Linux Toolkit has been renamed to the "Atheros Powerline Toolkit". It is now installed in "c:\Program Files\Atheros\Toolkit" by default on Windows systems. Legacy Windows Toolkit users need to change their PATH environment string to reflect this change. They should also delete legacy folder "c:\Program Files\Intellon\Toolkit" to avoid potential installation conflicts. Linux users have nothing to do.
  441. 5. Added hardware ID code for AR7400 chipset. Modified module WaitForStart.c to account for the fact that the AR7400 BootLoader returns an INT6400 hardware ID. This change is critical for AR7400 users.
  442. 6. Added option -c to program int6krate to print coded PHY rates instead of raw PHY rates.
  443. 7. Added AR7400 MME codes to module MMEName.c.
  444. 8. Added program int6kuart to manage Atheros powerline uart-enabled devices using serial line commands over any host serial line interface.
  445. int6000-utils-1.1.6
  446. -------------------
  447. 1. Corrected size of MME table type member in function MMECode. This should produce smaller compiled code;
  448. 2. Corrected error in efsu that prevented echo of returning packets.
  449. 3. Added option -R to int6kwait to reset device then retry until the device accepts the reset request or the wait period times out.
  450. 4. Patched modules ReadPIB.c, Identity.c, SignalToNoise.c and ToneMaps.c to property convert 16-bit values on big-endian hosts;
  451. int6000-utils-1.1.5
  452. -------------------
  453. 1. Added the "key" data type to program setpib. This can be used to enter the DAK, NMK and NVAK. The main advantage over the "data" datatype is length checking.
  454. 2. Fixed a big-endian problem in functions BootDevice and EmulateHost where the PIBLENGTH member of the PIB header was incorrectly being converted using macro LE32TOH instead of LE16TOH.
  455. int6000-utils-1.1.4
  456. -------------------
  457. 1. Modified docbook/docbook.css to highlight constants in red, variables and acronyms in blue.
  458. 2. Modified the filter string for WINPCAP in openchannel.c to accept HomePlug AV broadcast frames. This is an experiment. The change was needed for the arpc utility.
  459. 3. Made extensive modification to the arpc utility.
  460. 4. Added function hexwrite to the tools folder.
  461. 5. Added a section "Test a Device" to the "Procedures" chapter of the documentation.
  462. 6. Added function ARPCPeek to the mme folder.
  463. 7. Added recommendation to platform warning message in programs int6kf and int6kboot.
  464. 8. Convert variables in SignalToNoise.c from float to double because we ere experiencing ocassional "nan" values.
  465. 9. Reorganized include statements throughout to accommodate OpenBSD.
  466. 10. Reworked channel.h, channel.c, openchannel.c, closechannel.c, sendpacket.c and readpacket.c to work on OpenBSD. The package now supports Linux, OpenBSD, MacOSX and Windows.
  467. 11. Fixed typo in int6k command line menu.
  468. 12. Miscellaneous changes so that the Toolkit and Application Development Package use the same logic;
  469. int6000-utils-1.1.3
  470. -------------------
  471. 1. Modified tools that perform raw Ethernet I/O to recognize environment variable PLC on Windows platforms.
  472. int6000-utils-1.1.2
  473. -------------------
  474. 1. Modified module ReadPIB to account for new behavior of the VS_READ_MOD message.
  475. 2. Removed ./Windows folder and moved contents to ./VisualStudioNET folder. This keeps Microsoft specific things under one folder.
  476. 3. Fixed int6keth so that flow control is not always enabled despite command line settings.
  477. 4. Fixed bug in hexdump.c that caused a segment fault on 64-bit systems. The problem was the unsigned/size_t mismatch on 64-bit systems.
  478. 5. Added a description for option -T (reset to factory defaults) in both int6k and int6kp man pages. Apparently, no description was ever provided.
  479. int6000-utils-1.1.1
  480. -------------------
  481. 1. Modified module cgi/topology to highlight the selected device in yellow.
  482. 2. Added AV-ator widget installation instructions. The widget is not yet included in the toolkit because it is still being evaluated.
  483. 3. Modified program int6krate to bailout with an error message when option -x is selected and RX or TX is 0.
  484. 4. Removed unused components and renamed existing components in folder ./cgi.
  485. 5. Modified module cgi/device to allow selection of a host interface card.
  486. 6. Re-wrote program hpav to use the toolkit channel interface. The old version used the Linux kernel interface. The new version does not support option -d which cause the program to run as a daemon.
  487. 7. Renamed function getmacaddr() to gethwaddr() to conform to similar names used by other open source software.
  488. 8. Added Bits-Per-Carrier (BPC) and Attenuation-Per-Carriet (ATN) to int6ktone -s option output.
  489. 9. Added functions NetworkBridges and NetworkDevices to return an array of local device addresses or network device addresses, respectively.
  490. 10. Added program int6klist to enumerate local devices, network devices and remote devices in undecorated format. This program is designed to simplify Linux scripting. It needs polish so expect options to change in future releases.
  491. 11. Started the process of relocating system level include statements to accommodate OpenBSD.
  492. 12. Added optios -t, -T and -d to program int6krate. Option -t automatically generates powerline traffic between the local device and each remote device on each accessible powerline network. Option -T automatically generates powerline traffic between all nodes on each accessible powerline network. Option -d deterimes the duration of traffic between each node pair.
  493. 13. Added program int6kecho to send custom payloads using the VS_FR_LBK message.
  494. int6000-utils-1.1.0
  495. -------------------
  496. 1. Added folder ./patches and included send-to-self patches and Ubuntu installation scripts. Updated the docbook Hardware chapter to explain the the patch.
  497. 2. Modified the Windows Install project to exclude packet.dll and wpcap.dll from the .msi file to address item #4 mentioned in the int6000-utils-1.0.9 section.
  498. 3. Added program int6klist to enumerate local devices and neighbor devices to make scripting easier.
  499. 4. Modified modules cgi/topology.c and int6k/NetworkTopology.c so that they now display all devices on all AVLNs accessible from the local host. This changes the output and behavior of program int6kstat option -t.
  500. int6000-utils-1.0.9
  501. -------------------
  502. 1. Fixed bug in program efsu that computed incorrect EtherType when option -e was given a numeric valie. The symbolic values of hpav and hp10 were working as expected.
  503. 2. Fixed a bug in program efsu that caused a "buffer overrun" message on the latest version of WinPcap.
  504. 3. Modified the Windows Install project to display the Toolkit version.
  505. 4. The latest version of WinPcap (4.1 Beta5) prevents Toolkit programs from starting up on Windows XP because file wanpacket.dll is missing. The solution, at this time, is to delete packet.dll and wpcap.dll from folder C:\Program Files\Intellon\Toolkit. Visual Studio detects automatically detects them as dependencies and includes them in the .msi file. They may be removed from the packege in future releases.
  506. int6000-utils-1.0.8
  507. -------------------
  508. 1. Minor edits throughout to accomodate OS X Leopard and Tiger.
  509. 2. Added man pages and documentation for pibrump and pibruin.
  510. int6000-utils-1.0.7
  511. -------------------
  512. 1. Added option -s to program int6ktone to display SNR values instead of a tone map.
  513. 2. Updated readpacket and openchannel WINPCAP implementation. This affects all programs compiled for Windows that send raw Ethernet frames (int5khost, int5kboot, int5krate, etc). Linux versions of the tools are not affected by this change.
  514. 3. Added program pibrump to dump QoS classifier rules from a PIB file. Rules are dumped in a format suitable for input to program int6krule.
  515. 4. Added program pibruin to read QoS classifier rules from stdin and insert them into a PIB file. This is basically a file based version of int6krule but cross-rule validation is not performed.
  516. 5. Modified files channel.h, channel.c, openchannel.c, sendpacket.c, readpacket.c and closechannel.c to compile and run on OSX using Berkley Packet Filters. All applications seem to work except for hpav.
  517. 6. Moved QoS rule symbol tables to external module rule.c. This change affects program int6krule and will eventually affect program coqos_add.
  518. int6000-utils-1.0.6
  519. -------------------
  520. 1. Added option -e to all int6k and coqos programs. This option internally redirects stderr messages to stdout when status and progress messages are wanted in one stream. This elminates the need to add "2>&1" on the command line.
  521. 2. Added option -c to program int6ktone to print comma-seperated output for people who want that format.
  522. 3. Added option -t to int6k, int6kp, int6kf, int6kfp, in6kboot and int6kbootp to set the read timeout in milliseconds. The default timeout on both the Windows and Linux version is 50 milliseconds. If you do not like that value then change it using this option.
  523. 4, Modified channel.h (again) to detect WINPCAP or LIBPCAP and define a lower timeout value that normal; previously, we detected WIN32 which was incorrect.
  524. 5. Modified int6k and int6kp to so that option Q takes effect.
  525. 6. Changed int6keth option -n value from "0ff" to "Off". The first has a leading zero while the second had a leading capital 'o'.
  526. int6000-utils-1.0.5.1
  527. ---------------------
  528. 1. Corrected int6k/Makefile where name "int6kprobe" had been truncated to "robe" in several places by the cleansing script.
  529. int6000-utils-1.0.5
  530. -------------------
  531. 1. Changed program int6ktone to separate output fields with a space instead of a comma. This change simplified parsing logic in program psnotch. People wanting to load this information into a spread sheet should now choose fix-column format instead of CSV format.
  532. 2. Modified program psnotch to display all 6 tone maps slots and to display prescalar values in decimal rather than hexadecimal.
  533. 3. Added applets burstadrinadrtestloop.nvm, burstreadtest6400.nvm, burstwrite6400.nvm and burstwritereadtest6400.nvm to folder ./applets. No documentation is available at this time.
  534. 4. The pxe schema has been extended to include new data types dataWord, dataLong and dataHuge so that large decimal values may be entered without concern for their endianess.
  535. 5. Programs int6k and int6kp have new option -Q that skips the WaitForReset() function during flash opeartions when used with options -F or -C. Files affected are int6k.h FlashDevice.c, int6k.c and int6kp.c. Thss option was added then removed then added again after much discussion, debate and profanity.
  536. 6. Fixed bug in function dataspec() that returned an error when hidden cr or lf appeared at the end of a hex string.
  537. 7. Added a series of pre-coded .hex files provided by Andy Barnes to folder ./efsu.
  538. 8. Program odx now strips out array indices, if present, from variable names found in piboffset.txt files.
  539. 9. Program int6khost64 has been renamed to int64host. Sorry!
  540. 10. Fixed program psnotch to correct a number of errors introduced by earlier editing. It was failing to read tonemap files, printing only 5 of 6 tonemap time slots and skipping the even numbered slots.
  541. 11. Started changes for Berkley Packet Filters as a means of sending and receiving raw Ethernet frames. These changes may take several releases to complete. In the end, BPF may be used on OpenBSD and OSX.
  542. 12. Added program int6kmod to support VS_MODULE_OPERATION messages.
  543. int6000-utils-1.0.4
  544. -------------------
  545. 1. Folder coqos has been refactored to account for changes in struct int6k and struct channel.
  546. 2. Functions lookup, assist and espect are now independent functions having previously been included inline in programs int6krule, coqos_add, coqos_info and coqos_mod.
  547. 3. Programs coqos_add, coqos_info, coqos_man, cosoq_mod and coqos_rel now have man pages.
  548. 4. Program int6km now assumes the default offset 0x00000000 instead of 0x00001000 and the default length 4 instead of 32. New option -r displays selected memory in 32-bit binary register format to help locate specific register bit patterns.
  549. 5. Program int6kwait now prints the message "Allow xx seconds for ..." instead of "Wait xx seconds for ..." because the word 'Wait' was confusing.
  550. 6. Modified function Failure so that the "Bailing Out!" message is suppressed when option -q is selected. Some people found this message alarming. The change affects all toolkit programs.
  551. 7. Added program getpib as the companion to program setpib.
  552. 9. Added header files symbol.h and base64.h and redistributed some constant definitions and function declarations.
  553. 10. Program int6krule now recognizes actions 'DropTX', 'DropRX', 'StripTX' and 'StripRX', operand 'Always' and fields 'VLANTag' and 'TCPAck'.
  554. 12. Added program int6kprobe to test the VS_DIAG_PROBE message.
  555. 13. Program efsu now reads freame description from stdin. This feature did not work on previous versions. Applications can now 'pipe' their output directly into efsu without creating an intermmediate file.
  556. 14. Added program int6keth to inspect and change Ethernet PHY Settings. Program input format is stable but program output format may change to better support scripting requirements.
  557. 15. Refactored all int6k and coqos programs and related modules. The int6k structure no longer contains a template Ethernet header. The channel structure now contains the Ethernet address of the peer device. Functions EthernetHeader and IntellonHeader are used throughout to format frame headers.
  558. 16. Program int6k option -a now displays additional information related to SDRAM size. This information was added to the VS_SW_VER message in some erlier release but was never displayed.
  559. 17. Program chknvm option -r now directs output to stdout instead of stderr.
  560. 18. Program chknvm is deprecated by chknvm2 which is faster; however, chknvm2 does not display the SDRAM configuration block stored inside *.nvm files because SDRAM configuration parameters are now considered legacy.
  561. 19. Added program int6klog to print a combined Watchdog/Checkpoint Report in XML format on stdout. This output format cannot be read by the Customer Device Manager but can be read by the Engineering Device Manager. Because the output is a text file, it can be included directly into email messages and sent to Intellon.
  562. 20. Modified programs mac2pw and mac2pwd so that they will produce the same passwords as the Intellon Windows DB Builder Utility. There have been corresponding changes made to the Intellon DB Builder Utility that will virtually eliminate the chances of two OUIs generating identical password sets or having duplicate passwords occur within a given OUI password set.
  563. 21. Modified programs mac2pw and mac2pwd so that option -v now performs the same function as option -u did in previous versions. Option -u still works but all references to -u have been removed from the program menu and documentation.
  564. 22. Modified programs mac2pw and mac2pwd so that option -q now omits the device address on output. Th utility of this feature will be apparent to anyone involved in script writing.
  565. 23. Function MACKeys has been replaced by function MACPasswords in the ./crypt folder. The new function will permit simple salting of the vendor and device portion of MAC addresses to help confound potential hackers. Salting is optional and must be done by the calling application.
  566. int6000-utils-1.0.3
  567. -------------------
  568. 1. Added an "fflush (stdout)" statement inside the Manager loop of int6k, int6kp and int6krate to support use in an http environment;
  569. 2. Modified program hpav to optionally print VS_ARPC messages on the console, much like int6ktest.
  570. 3. Modified program int6krule to implement classification rules for VLAN ID and IPV6 Flow Label.
  571. 4. Modified program int6km to accept options -a (absolute) and -r (relative) to display absolute or relative memory offsets. The default is relative for backwards compatibility.
  572. 5. Modified program int6km so that the offset argument is assumed to be hexadecimal thereby making the explicit 0x prefix optional.
  573. 6. Modified program int6ktest and function BootDevice and InitDevice to convert the IGNOREMASK field in NVM headers to host endian format. This was causing image load failures on big endian hosts.
  574. 7. Updated SDRAM configuration files in folder ram. Added file sdram08mb.cfg to the folder.
  575. 8. Refactored all int6k modules. The channel structure now supports a peer address in addition to the host address. The int6k structure no longer contains an Ethernet header template.
  576. 9. Option int6k -a now displays additional information added to VS_SW_VER confirm messages with firmware v3.3.4. Specifically, the device SDRAM size.
  577. int6000-utils-1.0.2
  578. -------------------
  579. 1. Modified int6k/chipsets.c to ommit hardware revsion codes for all device types because they were causing confusion.
  580. 2. Reworked programs psin and psout to conform to companion programs cfgpsin and cfgpsout in int5500-utils.
  581. 3. Fixed bug in function StartDevice that caused too many bytes to be written to the PIB Length member.
  582. 4. Fixed bug in ReadMME that caused frame dumps to be printed on stderr instead of stderr when running on Windows.
  583. 5. Modified struct int6k by removing embedded struct channel and replacing it with a pointer to struct channel. This affects all int6k* programs and most of their modules.
  584. 6. Modified program int6kstat by reversing the values of symbols "tx" and "rx" to be correct.
  585. 7. Fixed function Classification which incorrectly failed to return to the main program under certain conditions.
  586. 8. Modified program setpib to permit the insertion of 0xFF over a range of bytes with option "ones", similar to option "zero".
  587. 9. Modified function ReadMME to suppress console messages printed when unwanted or unexpected frames are received.
  588. int6000-utils-1.0.1
  589. -------------------
  590. 1. Added serial line initialization code to program pts/weeder for Linux systems only. This code has not been tested and similar code is needed for WIndows systems.
  591. 2. Added script int6000-utils.sh to help Intellon developers and users install the latest version of the toolkit over the corporate network. End users may delete it without consequence.
  592. 3. Fixed bug in program psin that returned error "Prescalers out of order" for prescaler input files that contain cr/lf line endings.
  593. 4. Fixed bug that showed 4-0 PIBs as unsupported.
  594. 5. Fixed bug that broke network connectivity on Windows.
  595. int6000-utils-1.0.0
  596. -------------------
  597. 1. Fixed bug in function Classification that truncated the third QoS rule within an outgoing MME. This module is only used by program int6krule at this time.
  598. 2. Fixed bug in function Attributes that failed to initialize counters inside a loop. This caused output from multiple devices to be printed incorrectly. It only affects program int6k.
  599. 3. Reduced TIMEOUT constant for WIN32 in int6k.h from 100ms to 50ms to speed firmware download on Windows. This value should remain unless there is some need to increase it. Download time reduced from about 60 seconds to about 10 seconds.
  600. 4. Added folder ./scan to store lexical scanning functions. These function are only needed for CGI development and may eventually be removed from the package.
  601. 5. Added keyword "none" to modpib option -D to simplify setting the PIB DAK to all zeros.
  602. int6000-utils-0.9.9
  603. -------------------
  604. 1. Rebuilt package to include missing int6kp and int6kbootp in the *.msi files.
  605. 2. Fixed bug in nvmmerge that failed to terminate the output image header chain correctly. This caused other programs, like chknvm and int6ktest, to report errors reading a non-existant image header.
  606. 3. Added applets linesynctest.nvm to the applets folder. Added documentation for most other applets.
  607. 4. Fixed bug in ReadMME that failed to properly terminate progress messages.
  608. int6000-utils-0.9.8
  609. -------------------
  610. 1. Added folder cgi to hold experimental code. This code has no operational value.
  611. 2. Added program int6k/int6ktone to extract tone map information from a given device.
  612. 3. Added program pib/pibnotch and script pibnotch.sh to test dynamic frequency notching. These are experimental and have no operational value.
  613. 4. Added program pib/psgraph to print an amplitude map graph from a pib file.
  614. 5. Added target "all" to Makfiles. This target is now synonymous with target "compile".
  615. 6. Modified program psout to elminate the comment line at the start of output to simplify reading of the file by other programs.
  616. 7. Modified program efsu to include a conditional in-line definition of constant ETHER_CRC_LEN for environments that do not provide it.
  617. 8. Modified program int6ktest by removing an interlock that prevented use with INT6400 devices.
  618. 9. Removed programs fp and ds from toolkit.
  619. 10. Merged programs from int6400 toolkit into this toolkit. The int6400 toolkit may be discontinued.
  620. 11. Added file make.def in main folder and include it in all Makefiles to support cross-compiling.
  621. 12. Fixed bug in function int6k/Classifications.c to correct the endianess of the MMTYPE field in VS_CLASSIFICATION messages.
  622. 13. Edited ihpapi/ihp.h, ihpapi/EncodeIntellonHeader.c and ihpapi/RxFrame.c, replacing references to HOMEPLUG_MMV with references to INTELLON_MMV.
  623. 14. Edited ihpapi/EncodeIntellonHeader.c to remove references to the FMI field for Intellon messages.
  624. 15. Modified flash functions to use the legacy PIB offset for PIB files prior to PIB 3-5 which corresponds to firmware version 3.3.0.
  625. 16. Fixed a bug in modpib that incorrectly appended 4 bytes to the PIB size if the NMK or SL was changed on a PIB 2-0 or earlier.
  626. int6000-utils-0.9.7
  627. -------------------
  628. 1. program pxe now prints it's own schema on stdout with option -o. Added function tools/output.c and xml/xmlschema.c to support this feature.
  629. 2. added man page for proposed program int6kfdm which does not yet exist.
  630. 3. renamed folder 'keys' to 'crypt' for maintenance reasons. make associates changes to makefiles and source files.
  631. 4. added program fp to generate file fingerprints. this program has several potential uses. added function crypt/SHA256Ident to support this program.
  632. 5. added program ds to validate files against a registry. this program has several potential uses. added function crypt/SHA256Match to support this program.
  633. 6. added program odx to print pxe XML edit instructions based on an object definition file and to print a schema.
  634. 7. Fixed bug preventing int6k and int6kf from exiting with error code when the "BootLoader" starts following a flash operation.
  635. 8. Fixed bug in program efsu that caused C language comments to truncate frames. Change was applied to function hexin().
  636. 9. Reordered this README file so that the latest versions appear first.
  637. 10. Corrected bug in int6k2 that cause errors on exit because certain files were closed twice on exit. The fix was an improvement and was applied to programs int6k and int6kf.
  638. int6000-utils-0.9.6
  639. -------------------
  640. 1. Replaced symbolic openmode flags with POSIX flags throughout and removed their defintions in files.h.
  641. 2. Added programs psin, psout and pskeys to manage prescalers. PRescalers can be inported, exported and copied from on pib to another. They can also be finger printed.
  642. 3. Added folder "./applets" containing configuration and diagnostic programs that can be loaded using int6ktest.
  643. 4. Program int6kf and int6kfp now exit with an error code if the Bootloader starts instead of firmware after a flash operation.
  644. 5. All tools now intercept and print VS_ARPC messages from the device on stderr.
  645. 6. Modified int6ktest to allow variable timeout via command line.
  646. 7. Modified int6ktest to detect VA_ARPC messages from the device and print messages on the console.
  647. 8. Modified int6ktest to bailout on test applet failure and return an error code to the shell when option -x is specified.
  648. 9. Replace original applets sdramtest and nvram test with new versions that report error messages and return error codes.
  649. int6000-utils-0.9.5
  650. -------------------
  651. 1. Included the generic utilities odd and odc to tools folder.
  652. 2. Removed various getopt include guards from main programs and added them as CFLAGS -D options in Makefiles.
  653. 3. Renamed preprocessor constant USEMAKEFILE to MAKEFILE throughout.
  654. 4. Renamed program int6kmojo to int6ktest and altered command line syntax to allow multiple nvm files to be executed in sequence. Option -N no longer exists.
  655. 5. Fixed bug in module xmledit that was introduced around 0.9.1 that caused data to be inserted into the wrong location.
  656. 6. Changed the install location for linux man pages from /usr/share/man/man1 to /usr/share/man/man7. The makefile should purge most of the old pages from /usr/share/man/man1.
  657. int6000-utils-0.9.4
  658. -------------------
  659. 1. Modified CMEncrypt to limit frame length to 502 bytes in all cases, even to local devices.
  660. 2. Added new homeplug message header definition to homeplug.h. This structure includes the FMI field. Modified affect modules to accomodate new header type.
  661. 3. Updated the definition of constant HOMEPLUG_MMV in file homeplug.h from 0x00 to 0x01 and added constant INTELLON_MMV.
  662. 4. Added pts folder to hold PTS related programs.
  663. 5. Added program weeder to control Weeder Solid State Relay Modules to pts folder.
  664. 6. Finished moving man pages from man1 to man7 where they belong.
  665. 7. Renamed preprocessor constant INTELLON_MAKEFILE to USEMAKEFILE so that modules can be ported to other packages. This change affects all main programs, makefiles and *.vcproj files.
  666. int6000-utils-0.9.3
  667. -------------------
  668. 1. Updated the definition of constant HOMEPLUG_MMV in file homeplug.h from 0x00 to 0x01.
  669. 2. Added symbolic devices "all" and "broadcast" to program CMEncrypt for compatibility with other toolkit programs.
  670. 3. Started moving man pages from man1 to man7 where they belong.
  671. 4. Modified program int6krule to support QoS classification by MMTYPE.
  672. int6000-utils-0.9.2
  673. -------------------
  674. 1. Reorganized command line for program odd. The object definition file is now specified using option -f instead of being the first file on the command line.
  675. 2. Added program CMEncrypt to send a file using CM_ENCRYPTED_PAYLOAD.
  676. int6000-utils-0.9.1
  677. -------------------
  678. 1. Added member 'chipset' to structure int6k to identify the type of Intellon device during boot and flash operations. This value is set by function WaitForStart. THis member is currently no used but will be in future releases.
  679. 2. Added interlock to function StartDevice so that the new format NVM files cannot be accientally loaded. This is a temporary measure to protect users during transition.
  680. 3. Renamed functions ReadMAC and WriteMAC to ReadNVM and WriteNVM to better reflect the nature of their functionality.
  681. 4. Program modpib can no longer be used to repair a PIB file checksum. Instead use setpib -x.
  682. 5. Incorprated function pibfileA as the main function for program chkpib and removed it as a stand-alone file.
  683. 6. Incorported function pibedit as the main function for program modpib and removed is as a stand-alone file.
  684. 7. Removed option -n from int6kid. The option was never implemented and is probably not needed.
  685. int6000-utils-0.9.0
  686. -------------------
  687. 1. Modified int6krule to insert MMV followed by MMTYPE in little-endian instead of big-endian.
  688. 2. Added program odd which is an offset driven dump utility. Also included an example offset description file, piboffset.txt.
  689. 3. Add programs nvmsplit and nvmmerge to dissect and combine NVM file images chains. This program is for Intellon FAEs only. Customers should not use this program.
  690. 4. Fixed bug in EmulateHost so that Reset Factory Defaults now works correctly. Previsously, the logic attempted to flash the device which was incorrect.
  691. 5. Modified function EmulateHost so that the proper filenames appear in console messages.
  692. int6000-utils-0.8.9.1
  693. ---------------------
  694. 1. Fixed bug in int6k that prevented reading NVM from device to a file.
  695. 2. Modified behaviour of efsu so that option -e requires the ethertype as an argument. Previously it required no argument. The ethertype filters the type of incoming frame received and causes efsu to wait for a response of that ethertype within the timeout period. The frame will be displayed if -v is also specified.
  696. int6000-utils-0.8.9
  697. -------------------
  698. 1. Modified program modpib so that option -v will print the editied pib header on stdout.
  699. 2. Modified wait times affecting WaitForReset, WaitForStart and WaitForAssoc so that VS_SW_VER are sent every 200 milliseconds instead of every second.
  700. int6000-utils-0.8.8
  701. -------------------
  702. 1. Fixed Makefile error that failed to replace the .msi file in folder VisualStudioNET with the latest version.
  703. 2. Added program mac2pwd to read MAC address from a file and output address and password pairs.
  704. 3. Implemented the MME Boost option in program int6krule.
  705. 4. Removed data types xbyte, xword, xlong and xhuge as arguments for program setpib.
  706. 5. Fixed bug in setpib that caused option -w to misbehave for types data and hfid.
  707. 6. Updated MME constants and tables to reflect newest MME reserved status.
  708. 7. Removed function number from tools folder.
  709. int6000-utils-0.8.7
  710. -------------------
  711. 1. Added function todigit which is similar to function hexvalue but supports number bases 2 through 36. Replaced references to function hexvalue with references to todigit and removed function hexvalue from the code base.
  712. 2. Fixed bug that prevented modpib from opening PIB files on Windows.
  713. 3. Added function ipv6spec to the tools folder and removed function decencode.
  714. 4. Program int6krule now supports IPv6 addresses.
  715. int6000-utils-0.7.2
  716. -------------------
  717. 1. Removed references to unecessary header files from various modules.
  718. 2. Replaced virutally all references to macros ihtons, intohs, ihtonl and intohl with macros IHTONS, INTONS, IHTONL and INTOHL, repectively. The former are defined in ihpapi/ihp.h and the latter are defined in tools/memory.h
  719. 3. Modified function PHYRates to ignore devices having address FF:FF:FF:FF:FF:FF and to treat 0 RX or 0 TX PHY Rate as an error. This function is only used by program int6krate at present.
  720. 4. Renamed macro INTONS, in tools/memory.h, with INTOHS because the name was incorrect.
  721. 5. Added RECOMMENDATIONS section to the rkey man page to advise on the best way to implement unique keys.
  722. 6. Renamed function SHA256Merge to SHA256Block to better describe the function.
  723. 7. Renamed files piboffsets3.xsd and pibOffset3.xml to piboffset.xsd and piboffset.xml, respectively, to reflect their generic nature.
  724. 8. Revised functions alert, error, memincr, memdecr, strincr to reflect coding style changes;
  725. 9. Changed int6kfp to make force-flash an option requiring -FF instead of implied manditory with -F to avoid confusion with other int6k* tools.
  726. 10. Moved memory related definitions and declarations from tools/tools.h to tools/memory.h and adjusted include statements throughout.
  727. 11. Modified function FlashDevice to treat failure to reset as an error.
  728. 12. Added option -p to program efsu to pause between packet sends. This option is experimental and may be removed.
  729. int6000-utils-0.8.6
  730. --------------------
  731. 1. Remove program modgpio because the same changes can be make using programs pxe and setpib.
  732. 2. Moved memory related definitions and declarations from tools/tools.h to tools/memory.h and made corresponding edits to programs and function that reference them.
  733. 3. Moved numeric conversion related definitions from tools/tools.h to tools/number.h and made corresponding edits to programs and functions that reverence them.
  734. 4. Changed the arguments and return value if function uintspec from unsigned to uint64_t and replaced much of the function body with function strtoul.
  735. 5. Added function number to support string to integer conversion for multiple integer sizes and numeric formats.
  736. 6. Improved program setpib by calling function number and providing better command line error detection.
  737. 7. Added program int6krule to format and send stream classification rules to a device.
  738. 8. Added function ipv4spec to the tools folder.
  739. 9. Added latest MME codes to mme.h.
  740. int6000-utils-0.8.5
  741. --------------------
  742. 1. Fixed incorrect file permission settings defined in files.h for Microsoft Windows PIB files.
  743. 2. Removed functions hexstring () and decstring () and replaced them with equivalent printf() statements.
  744. 3. Improved display output of program int6kstat.
  745. int6000-utils-0.8.4
  746. -------------------
  747. 1. Added an argument to efsu option -e to specify the ethertype of echoed frames. This change generalizes the program and permits detection of either HomePlug 1.0 or HomePlug AV frames. It could break scripts that invoke efsu with option -e but there are probably few cases where this option would be beneficialu in a script.
  748. 2. Diabled PIB major/minor version checks in functions pibfile() and pibfileA(). Function pibpeek() now assumes that all PIB versions have the same version header structure.
  749. 3. Generalized pibpeek () to display future versions of 1, 2 and 3 series of pibs.
  750. 4. Modified program hpavkey and hpavkeys to permit pass phrases having any content or length. Added option -e to enforce HomePlug AV pass phrase content and length rules.
  751. 5. Fixed int6k so that option -q suppresses unecessary output when used with option -r.
  752. 6. Added program setpib to edit PIB values from the command line.
  753. int6000-utils-0.8.3
  754. -------------------
  755. 1. Added support function decstring () in order to display 64-bit integers.
  756. 2. Added support function hexstring () in order to simplify printing of hex keys and addresses with printf().
  757. 3. Fixed int6k and int6kp so that all seven octets of the NID are displayed with option -m.
  758. 4. Added -d option to int6k and int6kp to write the Watchdog Report to a file so that the file can be sent to Intellon for analysis.
  759. 5. Fixed int6k2 so that -J no longer ignores it's device address argument.
  760. 6. Added program int6kstat to display Network Information and Link Statistics in formats suitable for reading by other programs. The program is usable but is still a work in progress. Feedback is welcome.
  761. 7. Modified program modpib to accept the word 'auto' for a MAC address in addition to 'next' and 'plus'
  762. 8. Fixed program int6krate so that rate information is ot suppressed when option -q is specified.
  763. 9. Modified programs int6k and int6kp to accept symbols "join", "leave" and "status" for pushbutton option -B arguments.
  764. 10. Modified programs int6k and int6kp to accept symbols "nvm", "pib" and "both" for commit option -C arguments.
  765. int6000-utils-0.8.2
  766. -------------------
  767. 1. Removed discussion of Cygwin compilation from the documentation because compilation under Cygwin has not been attempted in over 6 months.
  768. 2. Modified hexdump() to use FILE pointers instead of descriptors so that output stays synchronized with other program output.
  769. 3. Replaced call to Failure() with call to Display() in PHYRates() to prevent display of meaningless error code.
  770. 4. Modified openchannel() and readpacket() improve performance on Microsoft Windows platforms.
  771. 5. Added discussion on Cygwin scripting to documentation.
  772. 6. Added option -H to program pcapdevs for printing symbolic definitions in a format suitable for bash scripts.
  773. 7. Corrected problem causing int6kid, int6kf, int6krate and int6kwait to read from the wrong NIC under Winpcap.
  774. int6000-utils-0.8.1
  775. -------------------
  776. 1. Added program mac2pw to generate user passwords from device addresses.
  777. 2. Corrected minor errors and omissions in Windows build environment.
  778. 3. Moved int6000-utils-x.x.x.msi up to folder VisualStudioNET, making it easier to find, and revised docbook documentation to reflect the move. A copy of the *.msi file remains in the VisualStudioNET/install/Release folder for the present.
  779. int6000-utils-0.8.0
  780. -------------------
  781. 1. Included missing description of -FF command line options to man pages for int6kf and int6kfp.
  782. 2. Added additional information on workstation setup to the docbook pages.
  783. 3. Added program sada (Slave Authorization/Deauthorization) but no man page is available yet.
  784. 4. Added program mrgpib (Merge PIB) to transfer information from one PIB to another despite them having different PIUB versions.
  785. 5. Moved contents of folders ./sdram and ./nvram into common folder ./ram and folders ./sdram and ./nvram have been removed.
  786. 6. Calls to nvmpeek, sdrampeek and nvrampeek have been removed from modules nvmfile, sdramfile and nvramfile to reduce the amount of unused code that is included. Modules nvmfileA, sdramfileA and nvramfileA have been added. These modules call nvmpeek, sdrampeek and nvrampeek and are only included where output is necessary.
  787. 7. Module pibpeek now includes the NID. This affects 'int6k -I' and 'chkpib -v' command options.
  788. 8. Module pib.h has been re-factored to reflect the progression of PIB structures starting with firmware 1.4.
  789. int6000-utils-0.7.9
  790. -------------------
  791. 1. Renamed module CommitPTS to FlashPTS with internal function name Flash. This function uses message VS_PTS_NVM and may be called by functions FlashDevice and HostActionWait depending on build instructions.
  792. 2. Renamed module Commit to Flash with internal function name Flash. This function uses message VS_MOD_NVM and may be called by functions FlashDevice and HostActionWait depending on build instructions.
  793. int6000-utils-0.7.8
  794. -------------------
  795. This version was never released.
  796. int6000-utils-0.7.7
  797. -------------------
  798. 1. Modified interface definitions and declarations for function WaitForReset, WaitForStart and WaitForAssoc to remove retry count and retry timer as arguments. Instead, structure int6k members retry and timer are used. Made corresponding edits in programs and functions that reference them.
  799. int6000-utils-0.7.6
  800. -------------------
  801. 1. Renamed constant FILE_OPENMODE to FILE_SAVEMODE in header tools/files.h. Made corresponding edits in programs that reference this constant.
  802. 2. Modified program int6kp to remove the ability to send VS_HST_ACTION indication messages to match change 14 for int6000-utils-0.7.4.
  803. 3. Modified program int6khost to make force-flash explicit using with -FF instead of implicit with option -F. After consideration, this has proven to be the best way to avoid confusion.
  804. 4. Modified program int6kfp to make force-flash explicit with option -FF instead of implicit with option -F.
  805. 5. Renamed variables oldCFG, oldPIB and oldNVM to cfg, pib and nvm, respectively. Made corresponding edits in programs that reference them.
  806. 6. Removed WaitForStart enforcement from function WriteCFG. Moved enforcement to other modules to improve module cohesion.
  807. 7. Revised error messages in read and write modules to identify files by name.
  808. 8. Converted FlashDevice to a conceptual module that calls appropriate lower-level modules. This is where PTS and non-PTS commit functions are called.
  809. int6000-utils-0.7.5
  810. -------------------
  811. 1. Changed interface definition and declaration for function hexin.
  812. 2. Added function hexwrite, a descriptor based version of hexdump, then implemented hexdump as a wrapper for hexwrite.
  813. 3. Renamed structure config_sdram to config_ram and applied changes throughout.
  814. 4. Modified program int6kfp to make force-flash implicit with option -F rather than implicit with option -FF. This reverses change 12 in the previous version.
  815. 5. Added dual read to function readpacket for WinPcap to overcome packet capture behavior.
  816. 6. Modified function closechannel to use proper close method with WinPcap.
  817. int6000-utils-0.7.4
  818. -------------------
  819. 1. Imported function strfbits to support platform bitmap display in function nvmpeek.
  820. 2. Started eliminating references to header tools/convert.h in favor of tools/memory.h and tools/number.h.
  821. 3. Changed interface definitions and declarations for function binout, decout and hexout.
  822. 4. Corrected file mode constants in tools/files.h so that Windows files open in binary mode instead of text mode.
  823. 5. Began modification of header pib/pib.h to reflect the evolution of the PIB structure.
  824. 6. Modified function pibedit to prevent accidentaly use of the first three Intellon MAC addresses. The feature is disabled but the code remains in place. We decided that engineering tools should not make decisions for the user.
  825. 7. Fixed program modpib to enforce presence of a filename on the command line so that scripts will fail at that point.
  826. 8. Modified function nvmpeek to decode and display platform masks using function strfbits.
  827. 9. Revised header nvm/nvm.h to define the new role for reserved space in nvm image headers.
  828. 10. Fixed bug in program int6kp that prevented changing the NMK on a remote device. The argument for option -J was being ignored and the command line instruction were not clearly stated.
  829. 11. Added option -A to program int6kid to echo the device MAC address.
  830. 12. Modified program int6kfp to make force-flash explicit with option -FF rather than implicit with option -F.
  831. 13. Added constants INT6K_BLOCKSIZE and INT6K_PIBOFFSET to header int6k/int6k.h instead of hard coding values in-line. INT6K_BLOCKSIZE is the amount of data read or written to a device. INT6K_PIBOFFSET is the SDRAM address where the PIB should be written.
  832. 14. Modified program int6k to remove the ability to send VS_HST_ACTION indication messages. This can now be done using program efsu.
  833. 15. Corrected improper use of macros IHTONS and INTOHS to access MLENGTH in function WriteMEM. Replaced them with IHTONL and INTOHL. This error has no effect on little-endian hosts but would be incorrect on big-endian hosts.
  834. 16. Enforced WaitForStart in function WriteCFG to ensure Bootloader is running.
  835. 17. Changed length of firmware version string buffer from 64 to 128 bytes in functions WaitForStart and VersionInfo. The length was stated incorrectly in engineering documentation which has since been revised.
  836. 18. Enforced WaitForStart in function StartDevice to ensure Bootloader is running.
  837. 19. Added endian code to function Initialize.
  838. 20. Completely re-wrote function HostActionWait to service VS_HST_ACTION indications. This function is now the core of program int6khost.
  839. 21. Modified program hpav to print hex dumps on stderr instead of stdout.
  840. int6000-utils-0.7.4
  841. -------------------
  842. 1. Added template script host.sh to support program int6khost using information in scripts hardware.sh and firmware.sh.
  843. 2. Added scripts start.sh, flashp.sh and upgradep.sh to support programs int6kfp and int6kp.
  844. 3. Added man page for program int6khost.
  845. 4. Imported function strfbits to support platform bitmap display in function nvmpeek. Function is declared in tools/memory.h.
  846. 5. Began elminating references to header tools/convert.h in favor of headers tools/memory.h and tools/number.h.
  847. 6. Added function hexwrite, a descriptor based version of hexdump, and re-wrote hexdump to call hexwrite.
  848. 7. Fixed definition of file mode constants in tools/files.h to open Windows files in binary mode. Microsoft Windows was opening files in text mode by default and inserting carriage returns in PIB files.
  849. 8. Changed interface definitions and declarations for functions binout, decout and hexout and appended test/demo programs inside files.
  850. 9. Updated module preambles to distinguish this toolkit from the planned AR7400 toolkit.
  851. int6000-utils-0.7.3
  852. -------------------
  853. 1. Added program int6khost to emulate boot from host conditions and demonstrate host behavior.
  854. 2. Added template scripts hardware.sh and firmware.sh to support use of scripts start.sh, flash.sh and upgrade.sh on multipls hosts.
  855. 3. Began revision of pib.h to reflect the evolution of PIB structures starting from v1.4. Applied corresponding changes to function pibpeek.
  856. 4. Modified function pibedit to eliminate excessive output with option -v when making PIB changes.
  857. 5. Modified function pibedit to re-compute the Preferred NID whenever the NMK or Security Level is changed. The omission of this step was causing long and unpredictable device association delays whenever the NMK changed.
  858. 6. Imported function waitspec to support proposed option -t in program efsu.
  859. int6000-utils-0.7.2
  860. -------------------
  861. 1. Removed references to unecessary header files from various modules.
  862. 2. Replaced virutally all references to macros ihtons, intohs, ihtonl and intohl with macros IHTONS, INTONS, IHTONL and INTOHL, repectively. The former are defined in ihpapi/ihp.h and the latter are defined in tools/memory.h
  863. 3. Modified function PHYRates to ignore devices having address FF:FF:FF:FF:FF:FF and to treat 0 RX or 0 TX PHY Rate as an error. This function is only used by program int6krate at present.
  864. 4. Renamed macro INTONS, in tools/memory.h, with INTOHS because the name was incorrect.
  865. 5. Added RECOMMENDATIONS section to the rkey man page to advise on the best way to implement unique keys.
  866. 6. Renamed function SHA256Merge to SHA256Block to better describe the function.
  867. 7. Renamed files piboffsets3.xsd and pibOffset3.xml to piboffset.xsd and piboffset.xml, respectively, to reflect their generic nature.
  868. 8. Revised functions alert, error, memincr, memdecr, strincr to reflect coding style changes;
  869. 9. Changed int6kfp to make force-flash an option requiring -FF instead of implied manditory with -F to avoid confusion with other int6k* tools.
  870. 10. Moved memory related definitions and declarations from tools/tools.h to tools/memory.h and adjusted include statements throughout.
  871. 11. Modified function FlashDevice to treat failure to reset as an error.
  872. 12. Added option -p to program efsu to pause between packet sends. This option is experimental and may be removed.
  873. int6000-utils-0.7.2
  874. -------------------
  875. 1. Removed references to unecessary header files from various modules.
  876. 2. Replaced virutally all references to macros ihtons, intohs, ihtonl and intohl with macros IHTONS, INTONS, IHTONL and INTOHL, repectively. The former are defined in ihpapi/ihp.h and the latter are defined in tools/memory.h
  877. 3. Modified function PHYRates to ignore devices having address FF:FF:FF:FF:FF:FF and to treat 0 RX or 0 TX PHY Rate as an error. This function is only used by program int6krate at present.
  878. 4. Renamed macro INTONS, in tools/memory.h, with INTOHS because the name was incorrect.
  879. 5. Added RECOMMENDATIONS section to the rkey man page to advise on the best way to implement unique keys.
  880. 6. Renamed function SHA256Merge to SHA256Block to better describe the function.
  881. 7. Renamed files piboffsets3.xsd and pibOffset3.xml to piboffset.xsd and piboffset.xml, respectively, to reflect their generic nature.
  882. 8. Revised functions alert, error, memincr, memdecr, strincr to reflect coding style changes;
  883. 9. Changed int6kfp to make force-flash an option requiring -FF instead of implied manditory with -F to avoid confusion with other int6k* tools.
  884. 10. Moved memory related definitions and declarations from tools/tools.h to tools/memory.h and adjusted include statements throughout.
  885. 11. Modified function FlashDevice to treat failure to reset as an error.
  886. 12. Added option -p to program efsu to pause between packet sends. This option is experimental and may be removed.
  887. int6000-utils-0.7.1
  888. -------------------
  889. 1. Fixed bug in program efsu that prevented the echo of returning HPAV frames.
  890. 2. Changed "Ready" message in functions FlashDevice() and FlashPTS() to read "Start".
  891. 3. Changed constant FILE_FILEMODE in files.h to permit group and world write on files created or written by most program.
  892. 4. Changed the data type of arguments for functions SHA256Write,