WirePup is a local network discovery and diagnosis tool for engineers working with Ethernet devices and EPICS Channel Access (CA) or PVAccess (PVA). It starts with passive observation and explains the evidence behind a diagnosis.
Out of scope: industrial device writes, switch configuration and aggressive scans. A device that sends no visible traffic may remain undiscovered. See the safety rules and verification limits.
Use Linux, Go 1.25 or newer, GNU Make and Bash. See installation prerequisites for Debian 13 and toolchain setup.
From the repository directory, as your normal user:
make build
make install.dry-run INSTALL_LOCATION=/usr/local
make install INSTALL_LOCATION=/usr/local
export PATH="/usr/local/bin:$PATH"
make install.check INSTALL_LOCATION=/usr/local
sudo wirepup versionThis installs the executable at /usr/local/bin/wirepup and Bash completion
under /usr/local/share/bash-completion/. Existing files require confirmation;
only protected file copies use sudo. Do not run sudo make.
The installation guide covers checkout, user-only installation,
updates, PATH checks and completion activation.
For a guided live session, run in a terminal:
sudo wirepupChoose Find devices or Diagnose EPICS connectivity. The guide asks for the interface and observation time, then shows the direct command it will run. It starts passively. A proposed transmission or temporary address change needs a separate confirmation.
For offline work, run wirepup without sudo and choose
Analyze a capture file. To try a direct command without network access,
run from this repository:
wirepup read testdata/pcap/ca-search-response.pcap --protocol caMenus accept a number, b for back and q for quit. Free-text prompts use
/back and /quit so names such as b remain usable.
Keep a guide-created temporary connection open while using it. Read
interruption and cleanup
before relying on automatic removal.
| Task | Command | Walkthrough |
|---|---|---|
| Inspect local interfaces | interfaces |
Start here |
| Find an unknown device | discover |
Device discovery |
| Watch live protocol events | observe |
Event stream |
| Save or analyze a capture | capture, read |
Capture and replay |
| Explain subnet or DHCP symptoms | diagnose |
Temporary connection, DHCP and Auto-IP |
| Inspect CA/PVA discovery | epics observe, epics diagnose, epics find |
Passive EPICS analysis |
| Send an explicit PV search | epics find --active |
Active EPICS search |
| Send a bounded ARP search | probe |
Bounded ARP search |
| Add or remove a temporary address | connect, disconnect |
Temporary connection |
| Watch interactive views | tui |
Use the TUI |
| Use scripts, help or version output | --help, version, --json |
Scripts and help |
For repeat work, use explicit commands and the option reference. Bare invocation with redirected stdin or stdout prints usage and exits 2 instead of asking questions.
probe, connect and epics find --active ask before acting unless
--yes is supplied. Direct disconnect requests deletion of recorded addresses
without a prompt; inspect the recovery conditions first.
Other command modes in the table are passive.
After system installation, activate completion in your current Bash shell:
source /usr/local/share/bash-completion/completions/wirepupType wirepup cap and press Tab to complete capture.
If Tab makes no further change, press it again to list the remaining choices.
See activation for other prefixes
and completion examples.
The documentation index connects installation, scenarios, options, test procedures and engineering references. Start contributing for build settings and development checks.
Copyright 2026 Lee, Jeong Han. Licensed under the Apache License 2.0.