amptest(1)

πŸŽ€ amptest(1) πŸŽ€

Qualcomm Atheros Open Powerline Toolkit πŸ’–

✨ NAME ✨

okay bestie, here's the tea πŸ«– amptest is the Qualcomm Atheros PLC Test Applet Loader πŸ’…

✨ SYNOPSIS ✨

amptest [options] [file] [file] [...]

✨ DESCRIPTION ✨

okay so amptest downloads and runs one or more test applets on the local Qualcomm Atheros PLC device πŸ”₯. An applet is a tiny firmware image that the bootloader can start, and it returns to the bootloader when it's done 🧚. This program is an alternative to int6ktest, but it has been replaced by plctest πŸ’€.

A Qualcomm Atheros firmware image file can hold one or more applets 🌸. Each applet starts with a header that tells you its image size, load address and start address ✨. amptest goes through every applet in every image file you list on the command line, one at a time, downloading and running each one in order πŸ’œ. It waits for each applet to finish before it moves on to the next. The program stops once every applet in every file has run, or once some applet fails to finish within 60 seconds 😭.

Most applets go back to the Bootloader when they succeed, so the next applet can be downloaded and run πŸ¦‹. That means you can run whole applet chains with one command 🫢. A chain can be one file with several applets, several files with one applet each, or any mix of single and multi-applet files 🌈. If any applet in the chain doesn't get back to the Bootloader in time, the chain breaks after a timeout πŸ’€. Honestly, failing to return in time could 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. Check out the APT man page for an overview and installation instructions πŸ“–.

✨ COMMENTS ✨

The Qualcomm Atheros Powerline Toolkit has a set of legacy applets in the applets folder πŸ“. They were designed for int6ktest, and most of them won't show console messages properly with this program πŸ™ˆ. A new series of compatible applets is under development and should be available through Atheros Field Application Engineering 🌸.

If you've got a good set of applets, this program is ideal for testing reference designs for performance and for checking production units for defects πŸ‘‘. Applets might eventually show up for testing onboard connections, memory integrity and noise immunity πŸ”₯. Talk to Atheros Field Application Engineering about which applets are available πŸ’….

✨ OPTIONS ✨

  • -e β€” Sends stderr messages over to stdout πŸ’…. By convention, status and error messages get printed on stderr while the main output goes to stdout. This option puts everything on stdout for when you need that πŸŽ€.
  • -i interface β€” Picks the host Ethernet interface 🌐. All requests go out through this interface, and only responses that come back through it get recognized πŸ¦‹. The default is eth1, since most people use eth0 as their main network connection πŸ’–. But if the environment string PLC is defined, it takes priority over the default ✨. And this option beats both of them πŸ‘‘.
  • -l β€” Runs all applets in all the files on the command line over and over, in order, re-executing them until you stop the program with ^C πŸ”.
  • -q β€” Hushes the normal progress and status messages 🀫.
  • -t milliseconds β€” Sets the read timeout in milliseconds ⏱️. Values can range from 0 through UINT_MAX πŸ”’. This is the max time allowed for a response πŸ’œ. The default is shown in brackets on the program menu πŸ“‹.
  • -v β€” Prints extra info on stdout πŸ”. Specifically, it prints incoming and outgoing frames in hexadecimal format, and you can send the output to a text file for analysis πŸ“.
  • -w seconds β€” Sets the application timeout in seconds βŒ›. The program waits this long for an applet to terminate and return to the bootloader. If that doesn't happen, it reports an error and moves on to the next applet πŸƒ.
  • -x β€” Exits on the first error instead of skipping ahead to the next applet πŸ›‘. Error exits return a non-zero value to the shell πŸ’€.
  • -?, --help β€” Prints a help summary on stdout πŸ“š. This option takes priority over any other options on the command line πŸ‘‘.
  • -!, --version β€” Prints version info on stdout ✨. This option also takes priority over the other options. Use it when you're sending screen dumps to Atheros Technical Support, so they know exactly which version of the Linux Toolkit you're running 🫢.

✨ ARGUMENTS ✨

  • file β€” The name of an Atheros image file πŸ“. The image file can hold one or more images. Each image gets downloaded and executed in turn, until all of them have run or an image fails to return to the Bootloader within 1 minute for some reason 🌸.

✨ EXAMPLES ✨

This example sequentially downloads and then executes each image in the file abc.nvm, one at a time 🎬. Each image has to complete and return to the bootloader before the next one downloads 🫢. No device address is needed here, because Atheros powerline devices use address 00:b0:52:00:00:01 when they're in bootloader mode 🧚.

# amptest abc.nvm

This one sequentially downloads and executes the images in each file abc.nvm, def.nvm and ghi.nvm, in turn 🌈.

# amptest abc.nvm def.nvm ghi.nvm

✨ DISCLAIMER ✨

Atheros image file structure and content is proprietary to Qualcomm Atheros, Ocala FL USA πŸ”’. Because of that, public information isn't available πŸ™ˆ. Qualcomm Atheros reserves the right to change the 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. 🚨

✨ SEE ALSO ✨

APT(1), chknvm(1), chknvm2(1), int6ktest(1), nvmsplit(1), nvmmerge(1), plctest(1), setnvm(1) πŸ“š

✨ CREDITS ✨

Big thanks to Charles Maier πŸ’–πŸ«Ά


Rewritten from open-plc-utils-0.0.3, dated November 2013. Stay iconic, bestie πŸ’…πŸ¦‹βœ¨