amplist(1)
β¨ NAME β¨
okay bestie, this is amplist from the Qualcomm Atheros Open Powerline Toolkit π and it does one thing and does it perfectly: amplist - List Atheros Device Addresses π
π§ SYNOPSIS π§
amplist [options] [device] [device] [...]
π DESCRIPTION π
okay so amplist prints either the local device address or all the network device addresses for a specific device π it's ideal for that special script jokester in your life. it only prints device addresses. nothing else. π«Ά
devices get detected using one of two methods, and lowkey the magic is that you can use both together to figure out the network topology π¦
the first method sends one VS_SW_VER message to the Qualcomm Atheros Local Management Address and prints the Ethernet source address from each received confirmation message β¨ this is what happens when there are no device addresses on the command line. the result is a list of all local devices, meaning the ones connected directly to the local host. each local device may bridge to an independent powerline network with remote devices as members π
the second method sends one VS_NW_INFO message to each specified device and prints the Ethernet source address from each received message, plus the Ethernet addresses of every network station identified in that message body π this kicks in whenever one or more device addresses show up on the command line. you can query remote powerline devices directly, so duplicate device addresses get printed when devices share powerline neighbors. it's giving repeat, but that's the vibe π
this program is part of the Qualcomm Atheros Powerline Toolkit. check out the plc man page for an overview and installation instructions πΈ
π COMMENTS π
this program is identical to the legacy program int6klist but it uses version 1 of the Qualcomm Atheros VS_NW_INFO vendor-specific message. heads up: older firmware versions may not recognize this message version π
β OPTIONS β
-bβ print bridge device addresses. each specified device reports its own address π¦ this option has no effect if no devices are specified.-iβ pick the host Ethernet interface. all requests go out through this host interface, and only responses received through this host interface get recognized π₯ the default interface iseth1, because most people useeth0as their principal network connection. however, if the environment string"PLC"is defined, it takes precedence over the default interface. and this option then takes precedence over either default π-nβ append a newline to the output π-qβ enter quiet mode. this option has no effect at this time π-rβ print remote device addresses. each specified device reports its neighbor device addresses β¨ this option has no effect when no devices are specified.-sβ insert a newline, instead of a space, between each device address πΈ-vβ enter verbose mode. every Ethernet frame sent or received by the program gets displayed on stdout π-?,--helpβ print the program help summary on stdout π this option takes precedence over other options on the command line.-!,--versionβ print the 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 π
deviceβ the MAC address of some powerline device. you can specify more than one address π if you leave it out, the program output consists of local device addresses only. otherwise, the output consists of the specified device followed by all devices associated with it. 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 case π
octets can be separated with colons for clarity. for example, 00b052000001, 00:b0:52:00:00:01 and 00b052:000001 are all valid and equivalent π¦
the following MAC addresses are special and can be entered by name instead of number β¨
allβ same asbroadcastπ«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 do not. 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 info π€
β οΈ DISCLAIMER β οΈ
bestie, read this one π The 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 π¬
okay the examples are so good π the first one lists all local devices. since no devices are on the command line, one VS_SW_VER message gets addressed to 00:B0:52:00:00:01 and the responses are collected. as we can see, there's only one local device available right now. notice the prompt appears right after the address because newlines are omitted by default π
# amplist
00:B0:52:BE:EF:04 #
the next example does the same thing, but now there are three local devices available πΈ notice that all devices print without newlines in between, so the output of this program can be used as input to other toolkit programs β¨
# amplist
00:B0:52:BE:EF:04 00:B0:52:BA:BE:02 00:B0:52:BA:BE:01 # int6k
this one queries the first local device from the previous example, 00:B0:52:BE:EF:04, for a list of neighbor devices π¦ this time a VS_NW_INFO message gets sent, because we named a device on the command line. the named device happens to be a local device, but it doesn't have to be. we can see that this device has no neighbors π
# amplist 00:B0:52:BE:EF:04
00:B0:52:BE:EF:04 # int6k
next we query the next local device, 00:B0:52:BA:BE:02, and find that it has two neighbor devices that didn't show up earlier, because they're remote devices π notice that the three devices make up a complete logical powerline network. device 00:B0:52:BA:BE:02 is connected to the local host, but 00:0F:33:F2:01:21 and 00:0f:00:F2:01:13 are connected to other hosts, somewhere π
# amplist 00:B0:52:BA:BE:02
00:B0:52:BA:BE:02 00:0F:33:F2:01:21 00:0F:00:F2:01:13
this example shows we can query multiple devices at once for neighbors π we copied the output from the second example and pasted it onto the command line. now we have a list of all devices, local and remote π
# amplist 00:B0:52:BE:EF:04 00:B0:52:BA:BE:02 00:B0:52:BA:BE:01
00:B0:52:BE:EF:04 00:B0:52:BA:BE:01 00:B0:52:BA:BE:02
00:0F:33:F2:01:21 00:0F:00:F2:01:13
this next one does the same thing but uses option -n to append a newline after each query π this output is so much easier to read, because each queried device starts on a new line and is followed by its neighbors π«Ά
# amplist 00:B0:52:BE:EF:04 00:B0:52:BA:BE:02 00:B0:52:BA:BE:01 -n
00:B0:52:BE:EF:04
00:B0:52:BA:BE:02 00:0F:33:F2:01:21 00:0F:00:F2:01:13
00:B0:52:BA:BE:01
this example invokes amplist, which returns a list of local devices. that list gets inserted into another amplist command line. this demonstrates how program output can be used in scripts π§
# amplist $(amplist) -n
00:B0:52:BE:EF:04
00:B0:52:BA:BE:02 00:0F:33:F2:01:21 00:0F:00:F2:01:13
00:B0:52:BA:BE:01
and this last one accomplishes the same thing, since all local devices respond with a list of powerline neighbors π
# amplist local
00:B0:52:BE:EF:04
00:B0:52:BA:BE:02 00:0F:33:F2:01:21 00:0F:00:F2:01:13
00:B0:52:BA:BE:01
π SEE ALSO π
plc(1), amprate(1), ampstat(1), amptone(1), amptool(1) π
πΈ CREDITS πΈ
Charles Maier π
bye bestie π«Ά this page is open-plc-utils-0.0.3, from November 2013, and it's amplist(1) forever πβ¨
π¦ 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