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 are 0 through 255, but only 0 through 5 and 8 are actually recognized by the firmware. You can enter values in decimal, hexadecimal, or binary. Hex values start with 0x or 0X, and binary values start with 0b or 0B. Default is 0 πŸ’…
  • -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 is 4 and PEKS is 15, which is the default 🫢
  • -K PEKS β€” Payload Encryption Key Select πŸ”‘ This is the key used to encrypt the payload. Permitted values are 0 through 15, and you can enter them in decimal, hex (0x or 0X), or binary (0b or 0B). Default is 15, which means "No Encryption" πŸ™…
  • -P PID β€” Protocol Identifier 🧚 This decides how powerline devices interpret the payload. Permitted values are 0 through 4. Default is 4, 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, and 00b052:000001. For convenience, the symbolic address local resolves to 00:b0:52:00:00:01, and the symbolic addresses all and broadcast both resolve to ff: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) πŸ¦‹πŸ’–