mme(1)

πŸ’– mme β€” bestie's guide to the message enumerator πŸ’–

okay so you found the mme page in the Qualcomm Atheros Open Powerline Toolkit and you're like "what is this" β€” don't worry, i got you. it's a little program, it lives at mme(1), and it's about to tell you literally everything about Atheros vendor-specific message types. no cap.


✨ NAME ✨

mme β€” Qualcomm Atheros vendor-specific message enumerator 🧚


🌸 SYNOPSIS 🌸

mme [options]

that's it bestie. no arguments, no drama. just vibes and options. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so what does it actually do? it prints out Atheros vendor-specific message types and names, plus the error codes and text that go with them, straight to stdout. and you can get that output in a bunch of different formats β€” HTML, CSV, and plain old text. the plain text one is lowkey the best because you can pipe it into something like grep and go hunting. πŸ”

this program is part of the Qualcomm Atheros Powerline Toolkit. if you want the big-picture overview and the installation instructions, go read the AMP man page. it's giving main character energy, that one. πŸ‘‘


πŸ’… OPTIONS πŸ’…

  • -c β€” output in Comma Separated Value (CSV) format. this one's perfect if you wanna import it into a spreadsheet or a database. slay. πŸ“Š
  • -h β€” output in Hypertext Markup Language (HTML) format. good for dropping onto a basic webpage, fr fr.
  • -?, --help β€” prints the program help summary on stdout. and hear me out: this option takes precedence over other options on the command line. so if you put other stuff after it, yeah, help wins. periodt.
  • -!, --version β€” prints the program version information on stdout. also takes precedence over other options on the command line. use this one when you're sending screen dumps to Atheros Technical Support so they know exactly which version of the Linux Toolkit you're running, no guessing. πŸ‘‘

also, for the lore: see the HomePlug AV Specification for a description of all HomePlug AV message types, and see the Qualcomm Atheros INT6000 Firmware Reference Manual for a description of Atheros Vendor Specific message types. iykyk. πŸ“š


πŸŽ€ EXAMPLES πŸŽ€

okay so this first one prints Atheros vendor-specific message codes and names, along with their error codes and text, on stdout. the format is plain text because we didn't specify any formatting options on the command line. simple. clean. iconic.

# mme
0xA005 VS_WR_MEM.CNF       0x14 "Bad Checksum"
0xA005 VS_WR_MEM.CNF       0x1C "Bad Length"
0xA005 VS_WR_MEM.CNF       0x38 "Bad Address"
0xA005 VS_WR_MEM.CNF       0x3C "Bad Data Alignment"
0xA009 VS_RD_MEM.CNF       0x10 "Bad Offset"
0xA009 VS_RD_MEM.CNF       0x14 "Bad Length"
0xA00D VS_ST_MAC.CNF       0x10 "Bad Module ID"
0xA00D VS_ST_MAC.CNF       0x14 "Bad Image Checksum"
0xA00D VS_ST_MAC.CNF       0x1C "Bad Image Length"
0xA00D VS_ST_MAC.CNF       0x38 "Bad Image Load Address"
0xA00D VS_ST_MAC.CNF       0x3C "Bad Data Alignment"
0xA00D VS_ST_MAC.CNF       0x40 "Bad Start Address"
0xA011 VS_GET_NVM.CNF      0x10 "No NVRAM"
0xA01D VS_RS_DEV.CNF       0x01 "Device Failed to Reset"
0xA01D VS_RS_DEV.CNF       0x02 "Device Busy"
0xA021 VS_WR_MOD.CNF       0x10 "Bad Module"
0xA021 VS_WR_MOD.CNF       0x12 "Bad Length"
0xA021 VS_WR_MOD.CNF       0x14 "Bad Checksum"
0xA021 VS_WR_MOD.CNF       0x20 "Bad Offset"
0xA021 VS_WR_MOD.CNF       0x40 "Operation Blocked"
0xA021 VS_WR_MOD.CNF       0x50 "Fail to lock NVM"
0xA025 VS_RD_MOD.CNF       0x10 "Bad Module"
0xA025 VS_RD_MOD.CNF       0x12 "Bad Length"
0xA025 VS_RD_MOD.CNF       0x14 "Bad Checksum"
......

next one does the exact same thing but the output gets piped into the grep utility, which only keeps the lines containing the substring "0x40". and the result?? that error code is used by two different Atheros vendor-specific messages. obsessed. 😭

# mme | grep "0x40"
0xA00D VS_ST_MAC.CNF       0x40 "Bad Start Address"
0xA021 VS_WR_MOD.CNF       0x40 "Operation Blocked"
......

🫢 DISCLAIMER 🫢

okay bestie, real talk, put your serious face on for a sec. 😐

the Atheros HomePlug AV Vendor Specific Management Message structure and content is proprietary to Qualcomm Atheros, Ocala FL USA. and because of that, public information is not available. also, Qualcomm Atheros reserves the right to modify management message structure and content in future firmware releases without any obligation to notify or compensate users of this program. so like... don't build your whole personality on it staying the same. πŸ’€


🌈 SEE ALSO 🌈

go read those too, they're all part of the fam. ✨


⭐ CREDITS ⭐

Charles Maier πŸ‘‘


and that's the whole page, bestie!! πŸŽ€βœ¨ this one's from open-plc-utils-0.0.3, dated November 2013 β€” so yeah, it's vintage but she still serves. go enumerate some messages, you got this πŸ’–πŸ¦‹πŸŒΈ