int6ktest(1)

πŸ’– int6ktest(1) β€” Qualcomm Atheros Test Applet Loader πŸ’–

okay bestie, sit down, we're talking about int6ktest today. it's the Qualcomm Atheros Test Applet Loader, and yes the name is a mouthful, we move. ✨


🌈 SYNOPSIS 🌈

int6ktest [options] [file] [file] [...]

like, options first if you want them, then a whole pile of files if you're feeling spicy. no cap. 🫢


✨ DESCRIPTION ✨

So what this bad boy does: it downloads and executes one or more test applets on the local powerline device. And what even is an applet, you ask? it's a lil firmware image, small, cute, that the bootloader can start up, and that returns to the bootloader when it's done doing its thing. it's giving obedient. πŸ’…

An Atheros image file can hold one or more firmware images inside it. Each image has a header in front of it that says the image size, the load address and the start address. int6ktest goes through them one at a time β€” sequentially downloading and executing each image found in each image file you passed on the command line. It waits for each image to finish before it downloads and executes the next one. And the whole program wraps up once all images in all image files have been executed, or when some image fails to complete within 60 seconds. 😭

Most applets, when they finish successfully, return to the Bootloader β€” which is exactly what lets another applet get downloaded and executed after them. That means you can run applet chains with just one command. a chain can be one image file holding a bunch of applets, or several image files holding one applet each, or literally any combo you want. But heads up: the chain breaks after a timeout if any applet in the chain doesn't return to the Bootloader. πŸ’€

The toolkit ships with a set of useful applets in the folder applets. Most of them (if not all, ngl) are single applet image files. The program chknvm can inspect image files for you, and nvmmerge and nvmsplit can assemble and disassemble multi-applet image files. That's how you make custom applet chains and keep them all together in one file. the number and quality of available applets will probably increase with time, so stay tuned bestie. 🌸

Real talk: you should take the time to actually understand the applets you're trying to execute, or confusion may result. like, genuinely. each applet should have an associated man page explaining what it does and how it works. Most applets execute and return to the bootloader within seconds, but some loop indefinitely or stop on failure. Newer applets print test progress and outcomes on the console, while older applets merely flash the device LEDs to show test progress and outcomes. iconic behavior honestly. πŸ‘‘

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


πŸ’¬ COMMENTS πŸ’¬

This program is an alternative to the program amptest, but it is deprecated. 😬 In the future, applet designers should develop applets for amptest instead of this program. periodt.


πŸ’… OPTIONS πŸ’…

  • -c count β€” how many times the program will poll the device before it declares an event failure. It waits a fixed period of time between each poll attempt. Overall wait time is count/frequency, where count can be changed with option -c. That overall wait time is always approximate, because operating system overhead and latency aren't taken into account. The default count is 60. ⏱️
  • -e β€” redirects stderr messages to stdout. By convention, status and error messages get printed on stderr while primary program output goes on stdout. This option prints all output on stdout, for when that's what you want. πŸŽ€
  • -i interface β€” pick the host Ethernet interface. All requests go out 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, 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, we love to see it. πŸ‘‘
  • -l β€” sequentially execute and re-execute all applets in all files on the command line, over and over, until the program is terminated with ^C. it just keeps going. forever. πŸŒ€
  • -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. That 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. shhh. 🀫
  • -t milliseconds β€” 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. You can direct that output to a text file for analysis. 🧚
  • -x β€” cause the program to exit on the first error instead of moving on to the next applet. Error exits return a non-zero value to the shell. no second chances, bestie. πŸ’€
  • -?, --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. receipts, basically. πŸ“Έ

πŸ“ 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 an image fails to return the device to the Bootloader within 1 hour for some reason. (yes, that's what it says. different from the 60 seconds up top. we don't make the rules. πŸ™ˆ)

🌟 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 all use address 00:b0:52:00:00:01 when in bootloader mode. so convenient fr fr. πŸ’–

# int6ktest abc.nvm

The following example will sequentially download and execute the images in each file abc.nvm, def.nvm and ghi.nvm in turn. look at us, chaining. πŸ’…

# int6ktest 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. 😭 read that again. be careful.


πŸ‘€ SEE ALSO πŸ‘€

chknvm(1), chknvm2(1), amptest(1), nvmsplit(1), nvmmerge(1), plctest(1), setnvm(1)


πŸŽ€ CREDITS πŸŽ€

Charles Maier πŸ’œ


and that's the whole page bestie!! this one shipped as part of open-plc-utils-0.0.3, back in November 2013 β€” vintage, honestly. go execute some applets responsibly. mwah. πŸ’–βœ¨πŸ¦‹