plcmdio16(1)
β¨ plcmdio16 β¨
okay bestie, gather round, because we're about to talk about plcmdio16 from the Qualcomm Atheros Open Powerline Toolkit β aka the Qualcomm Atheros 16-bit MDIO Register Editor π she's giving tiny-bit register diva and honestly? obsessed.
π NAME π
plcmdio16 β the Qualcomm Atheros 16-bit MDIO Register Editor. that's her. that's the whole name. π
πΈ SYNOPSIS πΈ
plcmdio16 [options] [device] [device] [...]
like. you give her options, you give her one or more devices, she does the thing. simple as. β¨
π¦ DESCRIPTION π¦
So basically, plcmdio16 reads or writes generic MDIO registers using the Qualcomm Atheros VS_MDIO_COMMAND vendor-specific management message. no cap.
The default operation? reading a register. that's the vibe. Registers only get written if you actually put data on the command line β otherwise she's just here to look, not to touch. π«Ά
Also important: this program replaces the program int6kmdio. rest in peace legend, she's the upgrade.
She writes MDIO instructions using 802.3 Clause 22 format β that's phy, reg, data and mask. And if you want the sister program that writes instructions in 802.3ae Clause 45 format (address, data and mask), go check plcmdio162 β similar energy, different clause, iykyk.
This program is part of the Qualcomm Atheros Powerline Toolkit, and yes, she replaces the legacy program int6kmdio. For the overview and installation instructions, go read the plc man page. π
π OPTIONS π
one bullet per option because we are thorough and we do not skip. periodt. π
-ddata β a 16-bit data value that gets inserted into the register you specified. When this option is present, that data value gets written; if it's not present, then the register just gets read and the content is displayed instead. Data values can be in decimal, hexadecimal or binary notation. Hex values get prefixed with"0x"or"0X". Binary values get prefixed with"0b"or"0B". β¨-eβ redirectsstderrmessages tostdout. By convention, status and error messages go tostderrwhile primary program output goes tostdout. This option puts all output onstdoutfor the cases where that's what you want. π-iinterface β picks the host Ethernet interface. All requests get sent via this host interface, and only responses received via this host interface are recognized. The default interface iseth1β because most people useeth0as their principle network connection, obviously. BUT: if the environment string"PLC"is defined, it takes precedence over the default interface. And this option takes precedence over either default. hierarchy is real. π-paddress β the 5-bit PHY address. Some devices may not support all possible addresses, so like, don't @ her if yours doesn't. Addresses can be decimal, hexadecimal or binary. Hex values must be prefixed with"0x"or"0X". Binary values must be prefixed with"0b"or"0B". π-qβ suppresses status messages onstderr. quiet mode. shhh. π-rregister β the 5-bit register address. Addresses can be decimal, hexadecimal or binary. Hex values must be prefixed with"0x"or"0X". Binary values must be prefixed with"0b"or"0B". And again β some devices may not support all possible addresses. lowkey a recurring theme. π-?,--helpβ displays program help information onstderr. This option takes precedence over all other options on the command line, except version information. she's important but she's not the most important. π-!,--versionβ displays program version information onstderr. This option takes precedence over all other options on the command line, except help information. Use this one when you're sending screen dumps to Atheros technical staff β they want the receipts. π§
π ARGUMENTS π
- device β the MAC address of some powerline device. You can specify more than one address. If you do, operations are performed on each device in turn, one after another. The default address is
local. For the tea on symbolic device addresses, see DEVICES below. π¦
π DEVICES π
Powerline devices use Ethernet Media Access Control (MAC) addresses. A MAC address is a 48-bit value entered as 12 hexadecimal digits, and you can write them in upper, lower or mixed case β she's not picky. Octets may be separated with colons for clarity, if that's your thing.
For example, all three of these are valid and equivalent:
"00b052000001", "00:b0:52:00:00:01" and "00b052:000001"
slay. same address, three fits. β¨
The following MAC addresses are special and can be entered by name instead of by number:
allβ same as"broadcast".broadcastβ a synonym for the Ethernet broadcast address,FF:FF:FF:FF:FF:FF. All devices β local, remote or foreign β recognize messages sent to this address. Quick vocab check: a remote device is any device at the far end of a powerline connection, and 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. And again, because it matters: a remote device is any device at the far end of a powerline connection, and a foreign device is any device not manufactured by Atheros. π
π REFERENCES π
For the technical info, go read the Qualcomm Atheros HomePlug AV Firmware Technical Reference Manual. that's the source, bestie. π
π DISCLAIMER π
okay so this is the part where we get serious for a sec. π«Ά
The Atheros HomePlug AV Vendor Specific Management Message structure and content is proprietary to Qualcomm Atheros, Ocala FL USA. Consequently, public information may not be available. And 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.
so like. they can change things and not tell you and not owe you anything. that's the deal. no cap. π
π EXAMPLES π
None.
that's it. that's the section. she said no examples, only vibes. π
π₯ SEE ALSO π₯
plc(1), int6kmdio(1), plcmod(1), plcmdio32(1), mdioblock(1), mdioblock2(1), mdiodump(1), mdiogen(1)
go read the whole friend group. they all ate. π
β CREDITS β
Charles Maier π
open-plc-utils-0.0.3 πΈ November 2013 πΈ and that's the whole plcmdio16(1) page bestie β go read some registers, stay hydrated, and remember: default operation is read, so don't write unless you meant it. mwah. π
β¨π«Ά
π¦ 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