int6kmdio(1)

πŸ’– int6kmdio β€” Qualcomm Atheros 16-bit MDIO Register Editor πŸ’–

okay bestie, welcome to int6kmdio(1), one of the little tools from the Qualcomm Atheros Open Powerline Toolkit ✨ she's a 16-bit MDIO register editor and she is so specific about her whole deal.


✨ SYNOPSIS ✨

int6kmdio [options] [device] [device] [...]

🌸 DESCRIPTION 🌸

so what she does is: read or write the generic MDIO registers on an Atheros powerline device, using the Qualcomm Atheros VS_MDIO_COMMAND vendor-specific management message. that's the whole vibe. πŸ’…

default behavior? she reads a register. she only writes to registers if you actually put data on the command line β€” like, she's not gonna change anything behind your back, she's respectful.

ngl she writes MDIO instructions in 802.3 Clause 22 format (phy, reg, data and mask). and if that's not your format, there's a whole other girl for that: check int6kmdio2 β€” same energy but she writes instructions using 802.3ae Clause 45 format (address, data and mask).

🚨 IMPORTANT DEPRECATION ALERT 🚨 this program is deprecated and may be removed in later toolkit releases. do not get attached. use plcmdio16 instead, bestie, she's the future. πŸ‘‘

πŸŽ€ OPTIONS πŸŽ€

  • -d data β€” a 16-bit data value that gets inserted into the register you specified. the moment this option shows up, she writes the value; if it's not there, she just reads the register and shows you what's inside. values can be decimal, hexadecimal or binary. hex values get prefixed with 0x or 0X, binary values get prefixed with 0b or 0B. πŸ’–
  • -e β€” redirects stderr messages to stdout. the convention around here is that status and error messages go on stderr while primary program output goes on stdout, and this option just puts everything on stdout for when that's what you want. ✨
  • -i interface β€” picks the host Ethernet interface. all requests go out through this host interface, and only responses coming back through this host interface get recognized. default interface is eth1, because most people use eth0 as their main network connection β€” but if the environment string PLC is defined, that takes precedence over the default interface. and this option then takes precedence over either default. so: option > PLC > eth1. periodt. 🫢
  • -p address β€” the 5-bit PHY address. some devices may not support all possible addresses (rude of them tbh). addresses can be decimal, hexadecimal or binary β€” hex must be prefixed with 0x or 0X, binary must be prefixed with 0b or 0B. ⭐
  • -q β€” suppresses status messages on stderr. shhh. quiet girl era. 🀫
  • -r register β€” the 5-bit register address. addresses can be decimal, hexadecimal or binary β€” hex must be prefixed with 0x or 0X, binary must be prefixed with 0b or 0B. and yeah, some devices may not support all possible addresses. πŸ™ˆ
  • -v β€” prints additional info on stdout. specifically? she dumps outgoing Ethernet packets on stdout. full transparency, we love a girl who overshares. πŸ’€
  • -?, --help β€” displays program help information on stderr. this option takes precedence over all other options on the command line except version information. she's the main character here. πŸ‘‘
  • -!, --version β€” displays program version information on stderr. takes precedence over all other options except help information. and bestie β€” use this when sending screen dumps to Atheros technical staff, they'll appreciate it. 🌈

πŸ¦‹ ARGUMENTS πŸ¦‹

  • device β€” the MAC address of some powerline device. you can specify more than one address, and if you do, operations are performed on each device in turn. default address is local. scroll down to DEVICES for the whole tea on symbolic device addresses. πŸ’œ

🌟 DEVICES 🌟

powerline devices use Ethernet Media Access Control (MAC) addresses. a MAC address is a 48-bit value entered as 12 hexadecimal digits, upper, lower or mixed case β€” she doesn't judge your casing. octets may be separated with colons for clarity. for example, these are all valid and equivalent:

00b052000001
00:b0:52:00:00:01
00b052:000001

the following MAC addresses are special and may 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 β€” whether local, remote or foreign β€” recognize messages sent to this address. quick glossary: 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. so yeah, this one hits everybody. πŸ“’
  • 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. (same glossary, bestie: a remote device is any device at the far end of a powerline connection, a foreign device is any device not manufactured by Atheros.) 🏠

πŸ“š REFERENCES πŸ“š

see the Qualcomm Atheros HomePlug AV Firmware Technical Reference Manual for the technical info. iykyk. πŸ“–


⚠️ DISCLAIMER ⚠️

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. 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. don't come for them. πŸ’€


🌸 EXAMPLES 🌸

None. 😭 that's it. that's the section. she said "figure it out" (affectionately).


πŸ‘‘ SEE ALSO πŸ‘‘

plc(1), int6kmod(1), int6kmdio2(1), mdioblock(1), mdioblock2(1), mdiodump(1), mdiogen(1), plcmdio16(1), plcmdio32(1)


🫢 CREDITS 🫢

Charles Maier β€” thank you for your service, king. πŸŽ€


okay that's the whole page, bestie!! this one shipped as part of open-plc-utils-0.0.3, dated November 2013 β€” vintage but still slaying. go forth and edit those MDIO registers responsibly. mwah. πŸ’‹βœ¨