plctest(1)

🌸 plctest 🌸 β€” a page from the Qualcomm Atheros Open Powerline Toolkit πŸ’…

okay bestie, sit down, we're loading applets onto powerline devices and it's giving main character energy 🫢


✨ NAME ✨

plctest β€” Qualcomm Atheros PLC Test Applet Loader πŸŽ€


✨ SYNOPSIS ✨

plctest [options] [file] [file] [...]

✨ DESCRIPTION ✨

so what this does πŸ’– is download and execute one or more test applets on your local Qualcomm Atheros powerline device. An applet, for the uninitiated, is a tiny little firmware image that the bootloader can start up, and that politely returns to the bootloader when it's done. iconic behavior honestly.

This program straight up replaces int6ktest and amptest, because it supports both the old and the new image file formats, and both the old and the new powerline device boot methods. glow-up fr fr ✨

Qualcomm Atheros firmware files can contain one or more applets, and each applet is preceded by a header that specifies the image size, the load address, the start address, and other information. plctest sequentially downloads and executes every applet in each image file named on the command line. It waits for each applet to finish before downloading and executing the next one. The program terminates once all applets in all files have been executed, or when some applet fails to complete within 60 seconds. no cap ⏰

Most applets return to the Bootloader on successful completion so another applet can be downloaded and executed β€” which is lowkey the whole point, because it means you can run applet sequences with one single command. A sequence can be one file with multiple applets, or multiple files each with one applet, or literally any combination of single- and multiple-applet files. The sequence will break (after a timeout, obviously) if any applet in the chain fails to return to the Bootloader in time. And here's the tea: failing to return in time may be either a good thing or a bad thing depending on how the applet was designed. πŸ€·β™€οΈ

This program is part of the Qualcomm Atheros Powerline Toolkit. See the APT man page for an overview and installation instructions. πŸ¦‹


✨ COMMENTS ✨

The Powerline Toolkit contains a set of legacy applets in the folder applets. These were originally designed for use with the program int6ktest, and most of them will not display console messages properly using this program. However β€” and this is the hopeful part 🌈 β€” a new series of compatible applets is under development and should be available through Qualcomm Atheros Field Application Engineering.

Assuming a good set of applets is available, this program is ideal for testing reference designs for performance, and production units for defects. Applets may become available for testing onboard connections, memory integrity, and noise immunity. Consult with Atheros Field Application Engineering for applet availability. πŸ’œ


✨ OPTIONS ✨

  • -e β€” Redirects stderr messages to stdout. By convention, status and error messages get printed on stderr while the primary program output goes to stdout. This option prints all output on stdout, for the cases where that's what you want. πŸ’…
  • -i interface β€” Select the host Ethernet interface. All requests are sent via this host interface, and only responses received via this host interface are recognized. The default interface is eth1, because most people use eth0 as their principle network connection. But β€” plot twist β€” if the environment string "PLC" is defined, then it takes precedence over the default interface. And this option then takes precedence over either default. hierarchy, periodt πŸ‘‘
  • -l β€” Execute all applets in all files on the command line, over and over, until the program is terminated using ^C. πŸ”
  • -p frequency β€” The polling frequency, expressed in polls-per-second. For example, 1 means one poll per second and 10 means ten polls per second. Overall wait time is count/frequency, where count may be modified using option -c. Overall wait time is always approximate, since operating system overhead and latency are not taken into account. The default frequency is 5. ⏱️
  • -q β€” Suppresses normal progress and status messages. 🀫
  • -t timeout β€” Read timeout in milliseconds. Values range from 0 through UINT_MAX. This is the maximum time allowed for a response. The default is shown in brackets on the program menu. βŒ›
  • -v β€” Print additional information on stdout. Specifically, this option prints incoming and outgoing frames in hexadecimal format on stdout. Output can be directed to a text file for analysis. πŸ”
  • -w seconds β€” Application timeout in seconds. This application will wait this long for an applet to terminate and return to the bootloader before reporting an error and proceeding to the next applet. πŸ•°οΈ
  • -x β€” Exit program on first error instead of proceeding to the next applet. Error exits return a non-zero value to the shell. 🚨
  • -X β€” Exit program on first applet load instead of waiting for the applet to complete. This exit returns a zero value to the shell. πŸšͺ
  • -?, --help β€” Print program help summary on stdout. This option takes precedence over other options on the command line. πŸ™‹β™€οΈ
  • -!, --version β€” Print program version information on stdout. This option takes precedence over other options on the command line. Use this option when sending screen dumps to Atheros Technical Support so that they know exactly which version of the Linux Toolkit you are using. πŸ“Œ

✨ ARGUMENTS ✨

  • file β€” The name of an Atheros image file. The image file may contain one or more images. Each image will be downloaded and executed in turn, until all images are executed, or until an image fails to return to the Bootloader within 1 minute for some reason. 😭

✨ EXAMPLES ✨

The following example sequentially downloads then executes each image in file abc.nvm in turn. Each image must complete and return to the bootloader before the next one downloads. Observe that no device address is needed, because Atheros powerline devices use address 00:b0:52:00:00:01 when in bootloader mode. 🎯

# plctest abc.nvm

The following example will sequentially download and execute the images in each file abc.nvm, def.nvm and ghi.nvm in turn. πŸ’«

# plctest abc.nvm def.nvm ghi.nvm

✨ DISCLAIMER ✨

Atheros image file structure and content is proprietary to Qualcomm Atheros, Ocala FL USA. Consequently, public information is not available. Qualcomm Atheros reserves the right to change file structure or content in future firmware releases without any obligation to notify or compensate users of this program. This program is reserved for use by Atheros Field Engineers. Use of this program may void some contractual obligations made by Atheros. πŸ’€

like, read that twice bestie. it's serious. πŸ™ˆ


✨ SEE ALSO ✨

APT(1), chknvm(1), chknvm2(1), amptest(1), int6ktest(1), nvmsplit(1), nvmmerge(1), setnvm(1)


✨ CREDITS ✨

Charles Maier 🌟


and that's the whole page, bestie πŸ’– this one's from open-plc-utils-0.0.3, dated November 2013 β€” go forth and load those applets, you've got this πŸŽ€βœ¨πŸ¦‹