ampID(1)
π ampID(1) π
Qualcomm Atheros Open Powerline Toolkit π
β¨ NAME β¨
ampID, a.k.a. the Echo Device Key tool π
π§ SYNOPSIS π§
ampID [options] [device] [device] [ ... ]
πΈ DESCRIPTION πΈ
Okay bestie, so ampID prints a single powerline device key or HFID straight to stdout π. It's lowkey perfect for dynamically defining environment variables or slipping command line arguments into scripts at runtime β¨.
It's meant to echo one specific key read from one device, but it can also echo a specific key type from several devices. Just pass either the Qualcomm Atheros Local Management Address or a broadcast address π¦.
This program is kind of the inverse of modpib π, except it reads the key and HFID directly from the powerline device instead of reading from a PIB file π
.
This program is part of the Qualcomm Atheros Powerline Toolkit π. Check the plc man page for an overview and installation instructions π.
π OPTIONS π
-Aβ Prints the Ethernet address (MAC) for each specified device. This option and options-D,-M,-N,-Sand-Uare mutually exclusive π ββοΈ.-Dβ Prints the Device Access Key (DAK) for each specified device. This option and options-A,-M,-N,-Sand-Uare mutually exclusive.-eβ Sends stderr messages over to stdout π¬. Usually, status and error messages go to stderr while the main output goes to stdout. This option prints everything on stdout for when that's what you want.-i interfaceβ Picks the host Ethernet interface π. All requests go out through this host interface, and only responses received through it get recognized. The default interface iseth1because most people useeth0as their main network connection. But if the environment stringPLCis defined, it takes precedence over the default interface. This option then beats both defaults π.-nβ Appends a newline to the end of each key π. Newlines are left off by default so the output can be the raw input to another program. If you want the newline, you have to ask for it with this option β¨.-Mβ Prints the Network Membership Key (NMK) for each specified device. This option and options-A,-D,-N,-Sand-Uare mutually exclusive.-Nβ Prints the network HFID string for each specified device. This option and options-A,-D,-M,-Sand-Uare mutually exclusive.-qβ Silences the status messages on stderr π€«.-Sβ Prints the manufacturer HFID string for each specified device. This option and options-A,-D,-M,-Nand-Uare mutually exclusive.-vβ Prints extra info on stdout π. Specifically, it dumps incoming and outgoing packets, which can be saved as text files for reference.-xβ Makes the program exit on the first error π, instead of pushing on through the remaining iterations, operations or devices. Normally, the program reports errors and moves on to the next operation, iteration or device, depending on the command line.-?,--helpβ Prints the program help summary on stdout π. This option takes precedence over other options on the command line.-?,--versionβ Prints program version information on stdout π«Ά. This option also takes precedence over other options on the command line. Use it when sending screen dumps to Atheros Technical Support so they know exactly which version of the Linux Toolkit you're using.
π¦ ARGUMENTS π¦
deviceβ The MAC address of some powerline device π’. You can specify more than one, and if you do, operations run on each device in turn. The default address islocal. See DEVICES for info about symbolic device addresses.
π DEVICES π
Powerline devices use Ethernet Media Access Control (MAC) addresses. A MAC address is a 48-bit value entered as 12 hexadecimal digits in upper, lower or mixed character case. Octets may be separated with colons for clarity. For example, "00b052000001", "00:b0:52:00:00:01" and "00b052:000001" are valid and equivalent π«§.
The following MAC addresses are special and may be entered by name instead of number π.
allβ Same as"broadcast".broadcastβ A synonym for the Ethernet broadcast address,FF:FF:FF:FF:FF:FF. All devices, whether local, remote or foreign, recognize messages sent to this address. A remote device is any device at the far end of a powerline connection. A foreign device is any device not manufactured by Atheros.localβ A synonym for the Qualcomm Atheros vendor specific Local Management Address (LMA),00:B0:52:00:00:01. All local Atheros devices recognize this address, but remote and foreign devices don't. A remote device is any device at the far end of a powerline connection. A foreign device is any device not manufactured by Atheros.
π REFERENCES π
See the Qualcomm Atheros HomePlug AV Firmware Technical Reference Manual for more information π€.
π« DISCLAIMER π«
Atheros HomePlug AV Vendor Specific Management Message Entry structure and content is proprietary to Qualcomm Atheros, Ocala FL USA. Consequently, public information may not be available. Qualcomm Atheros reserves the right to modify message structure and content in future firmware releases without any obligation to notify or compensate users of this program. π
π§ EXAMPLES π§
The following example prints the DAK of the local device on stdout. The local device is interrogated because no MAC address was specified. The default interface, eth1 on Linux and 2 on Windows, is used unless environment variable PLC is defined. The DAK is always printed by default. Depending on your system, you may want to use option -n when using this program interactively π.
# ampID
00:11:22:33:44:55:66:77:88:99:AA:DD:CC:DD:EE:FF
The following example prints the NMK of device 00:B0:52:DA:DA:57 connected to interface eth2 on a Linux system. Several devices could be specified, but that is not a common request π.
# DAK -Mi eth2 00:B0:52:DA:DA:57
F4:23:71:4A:51:39:C2:2D:E5:EA:87:43:99:A1:37:81
The following example dynamically inserts the DAK and NMK of the previous device on the command line of another program. In this example, we want to insert the DAK and NMK into PIB file abc.pib using program modpib. See the modpib man page for an explanation of command line syntax. See the GNU bash manuals for an explanation of why this works π§ .
# modpib abc.pib -D $(ampID -Di eth2 00:B0:52:DA:DA:57) -N $(ampID
-Mi eth2 00:B0:52:DA:DA:57)
The following example is an alternate way of accomplishing the same thing using shell script variables π·. This method may be easier to read and maintain. Notice that we 'squished' all the options together for brevity βοΈ.
# PLC=00:B0:52:DA:DA:57
# DAK=$(ampID -Dieth2 ${PLC})
# NMK=$(ampID -Mieth2 ${PLC})
# modpib abc.pib -D ${DAK} -N ${NMK}
π SEE ALSO π
plc(1), amptool(1), ampboot(1), ampinit(1), modpib(1) π¦
π CREDITS π
Charles Maier π
Okay that's the whole tea βπ This page is from open-plc-utils-0.0.3, dated November 2013. Now go echo some keys, bestie π ππ§
π¦ where this page comes from
- alpine 3.24: open-plc-utils-doc 0_git20250712-r1 Β· BSD-3-Clause-Clear
- debian bookworm: plc-utils-extra 0.0.6+git20230504.1ba7d5a0-1 Β· BSD-3
- debian trixie: plc-utils-extra 0.0.6+git20250517.7fb8ac5-1 Β· BSD-3
- ubuntu noble: plc-utils-extra 0.0.6+git20230504.1ba7d5a0-1 Β· BSD-3
- ubuntu questing: plc-utils-extra 0.0.6+git20250517.7fb8ac5-1
- ubuntu resolute: plc-utils-extra 0.0.6+git20250712.46c3506-1 Β· BSD-3
- ubuntu stonking: plc-utils-extra 0.0.6+git20250712.46c3506-1 Β· BSD-3
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms