CMEncrypt(1)
π CMEncrypt(1) π
Okay bestie, welcome to the Qualcomm Atheros Open Powerline Toolkit π Here's the tea on CMEncrypt β¨
β¨ NAME β¨
CMEncrypt is all about sending an encrypted payload π (spoiler: we'll get to the plot twist π)
π SYNOPSIS π
CMEncrypt [options] [device] [device] [...]
π DESCRIPTION π
Okay so CMEncrypt sends a file over powerline using CM_ENCRYPTED_PAYLOAD messages π It's a test-and-demo tool for message routing, so it checks whether routing is done properly (or improperly π).
β οΈ Bestie, heads up: it does not support encrypted transmission. Every payload gets sent unencrypted at this time π
π· OPTIONS π·
-A statusβ The AVLN Status π§ This shows the sending station's current association status and capabilities. Permitted values are0through255, but only0through5and8are actually recognized by the firmware. You can enter values in decimal, hexadecimal, or binary. Hex values start with0xor0X, and binary values start with0bor0B. Default is0π-f fileβ The payload file π Its content can be text or binary, and it forms the payload of one or more messages. Payloads go out unencrypted when PID is4and PEKS is15, which is the default π«Ά-K PEKSβ Payload Encryption Key Select π This is the key used to encrypt the payload. Permitted values are0through15, and you can enter them in decimal, hex (0xor0X), or binary (0bor0B). Default is15, which means "No Encryption" π-P PIDβ Protocol Identifier π§ This decides how powerline devices interpret the payload. Permitted values are0through4. Default is4, which is "HLE Protocol" π-vβ Prints incoming and outgoing Ethernet frames in hex dump format on stdout π-?,--helpβ Prints the program help summary on stdout π This one takes precedence over every other option on the command line, so it's the main character π-?,--versionβ Prints the program version info on stdout π§Ύ It also takes precedence over 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 using π
π― ARGUMENTS π―
deviceβ The MAC address of a remote host, not a powerline device π¬ Addresses are 6 hexadecimal octets, optionally separated by colons. These are all valid and equivalent:00b052000001,00:b0:52:00:00:01, and00b052:000001. For convenience, the symbolic addresslocalresolves to00:b0:52:00:00:01, and the symbolic addressesallandbroadcastboth resolve toff:ff:ff:ff:ff:ffπ¦
𧬠INTERNALS π§¬
CMEncrypt lets you set some CM_ENCRYPTED_PAYLOAD fields but not others π
You can't specify these next ones yourself. The program computes them automatically π€
PRNβ The Protocol Run Number π² This is a random number used to tell apart runs that have the same protocol. The program uses the system time variable β°UUIDβ The Universally Unique Identifier πͺͺ The program uses the leftmost 16 bytes of the SHA256 digest for the payload π
π REFERENCES π
For more info, consult the HomePlug AV Specification or the Atheros Firmware Technical Reference Manual πΈ
πΈ EXAMPLES πΈ
Example one: this transmits myfile.txt to 00:85:73:00:94:01 unencrypted, because that's the program default π The remote address is required and refers to the ultimate recipient, not your local device.
# CMEncrypt -f myfile.txt 00:85:73:00:94:01
The next example does the same thing but spells out the program defaults π€ Operands can be expressed in decimal, binary, or hexadecimal, so you can mix and match however you like π§
# CMEncrypt -f myfile.txt -A 0 -P 0b0100 -K 0x0F 00:85:73:00:94:01
βοΈ DISCLAIMER βοΈ
Real talk: Atheros HomePlug AV Vendor Specific Management Message structure and content are proprietary to Qualcomm Atheros, Ocala FL USA π’ That means public info isn't available. Qualcomm Atheros reserves the right to modify message structure or content in future firmware releases, without any obligation to notify or compensate users of this program π
π SEE ALSO π
None π«
π«Ά CREDITS π«Ά
Charles Maier π
Okay that's the whole tea β Thanks for coming to my manpage, bestie π open-plc-utils-0.0.3 Β· November 2013 Β· CMEncrypt(1) π¦π
π¦ 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