edru(1)
π edru β the Qualcomm Atheros Ethernet II Data Read Utility π
okay bestie, sit down, hydrate, and let me tell you about edru, the Qualcomm Atheros Ethernet II Data Read Utility from the Open Powerline Toolkit. this one is lowkey a little gremlin and i am obsessed with it π¦
β¨ SYNOPSIS β¨
edru [options] [>stdout]
that's it. that's the whole vibe. options in, frames out. periodt π
πΈ DESCRIPTION πΈ
so what does she actually do? she listens for incoming Ethernet II frames and writes the frame data β minus the header info β to stdout as a binary data stream. no cap.
π¨ and here's the part where you gotta pay attention, bestie: frame data can contain literally anything, so you should really direct output to a file or pipe it through some kind of filter, otherwise you're gonna corrupt your terminal session. if all incoming data is known to be ASCII then pointing stdout at the console is fine and won't cause any problems. but if you don't know? don't risk it. protect your terminal. protect yourself. π«Ά
now, the cute part β she's built to test remote Atheros UART-enabled powerline devices. those remote devices package serial data from their local host as Ethernet II frames and forward them over the powerline to a specific destination, and that destination has to be the Ethernet address of the receiving host. edru reads those frames, discards the frame headers, and writes the frame data on stdout. the data should appear exactly as sent by the remote host. iconic behaviour honestly π
π OPTIONS π
-eethertype β the protocol (aka ethertype) you're interested in, expressed as a 16-bit hexadecimal integer. the"0x"prefix is optional. this filters out frames that have any other ethertype. default isETH_P_802_2, as defined inif_ether.h. β¨-iinterface β the host interface used to read frames. default is"eth1", because most people use"eth0"as their principle network connection. BUT π if the string"PLC"is defined in the environment then it over-rides the program default. and any interface you specify on the command line over-rides the default too. she's very flexible, we love that for her π-qβ quiet mode. this option has no effect at this time. (she's just standing there. menacingly. π)-tmilliseconds β read timeout in milliseconds. values range from0throughUINT_MAX. this is the maximum time allowed for a response. default is 50 milliseconds. β±οΈ-vβ verbose mode. this option has no effect at this time. same energy as-q. we support her anyway π
π ARGUMENTS π
None.
(genuinely none. nothing. empty. she takes zero positional arguments and i respect that so much π)
π₯ EXAMPLES π₯
example one β monitors host interface eth1 for incoming 802.2 Ethernet frames and writes frame data to stdout. in this case stdout is the console. frame data is written as it arrives and forms a single output stream. π
π and yes, directing output to the console may corrupt your terminal session, forcing you to close the console window and open another one. dramatic but true. you've been warned.
# edru -ieth1
example two β same thing, but directs output to file test.log. the output file may be inspected using a binary hex editor. the program continues to read and write until interrupted using ctrl-c or ctrl-z. π¦
# edru -ieth1 > test.log
example three β same thing again, but pipes output into program hexdmp, which displays data in hexadecimal format. this prevents terminal session corruption caused by binary data. note that program hexdmp may not be provided with the toolkit. π
# edru -ieth1 | hexdmp
π SEE ALSO π
amp(1), efsu(1), hpav(1) β go read those next, bestie, they're the rest of the friend group π«Ά
π CREDITS π
Charles Maier π
so yeah, that's edru. this page came to you straight out of open-plc-utils-0.0.3, dated November 2013, and honestly? she's aged like fine wine. go read a frame, redirect it to a file, and stay safe out there. 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