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 onstdout. 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 onstdout. 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 ππ¦πΈ
π¦ 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 deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms