Skip to content

PiKVM module#247

Open
llogen wants to merge 1 commit into
mainfrom
feat/addPiKVModule
Open

PiKVM module#247
llogen wants to merge 1 commit into
mainfrom
feat/addPiKVModule

Conversation

@llogen

@llogen llogen commented Dec 8, 2025

Copy link
Copy Markdown
Contributor

The PiKVM module provides comprehensive control of a DUT via a PiKVM device. It offers power management through ATX control, keyboard input simulation, and virtual media mounting capabilities.

Power management commands: on, off, force-off, reset, force-reset,
and status. Keyboard control commands: type, key, combo, and paste.
Virtual media commands: mount, mount-url, unmount, and media-status.

The module connects to a PiKVM device using HTTP/HTTPS with configurable host, user, password, and timeout. It supports both short and long ATX button presses for power and reset control, allows sending keyboard input and key combinations, and enables mounting ISO images from local files or URLs.

resolves #246

@llogen llogen force-pushed the feat/addPiKVModule branch 2 times, most recently from 9dbc7d7 to ad77246 Compare December 8, 2025 10:22

@RiSKeD RiSKeD left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice changes, looks pretty clean overall. Just some thoughts:

  • Maybe separate the power,virtual-media,keyboard functionalities into separate files for better readability
  • 'combo' -> key-combo

Tell me what you think 😄

@llogen llogen force-pushed the feat/addPiKVModule branch from ad77246 to ae564e7 Compare December 17, 2025 10:27
@llogen

llogen commented Dec 17, 2025

Copy link
Copy Markdown
Contributor Author

Nice changes, looks pretty clean overall. Just some thoughts:

  • Maybe separate the power,virtual-media,keyboard functionalities into separate files for better readability
  • 'combo' -> key-combo

Tell me what you think 😄

I think thats a good idea :)

@llogen llogen force-pushed the feat/addPiKVModule branch from ae564e7 to 4e04fe1 Compare December 17, 2025 12:26
@llogen llogen force-pushed the feat/addPiKVModule branch 4 times, most recently from 2183a74 to 9454670 Compare January 6, 2026 14:55

@jenstopp jenstopp left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wow, full KVM feature set implemented 🚀 :)

Comment thread pkg/module/pikvm/README.md
Comment thread pkg/module/pikvm/README.md
Comment thread pkg/module/pikvm/README.md Outdated
Comment thread pkg/module/pikvm/README.md Outdated
Comment thread pkg/module/pikvm/README.md Outdated
Comment thread pkg/module/pikvm/pikvm.go Outdated
Comment thread pkg/module/pikvm/pikvm.go Outdated
Comment thread pkg/module/pikvm/pikvm.go Outdated
Comment thread pkg/module/pikvm/pikvm.go Outdated
Comment thread pkg/module/pikvm/pikvm.go
Comment thread pkg/module/pikvm/keyboard.go Outdated
Comment thread pkg/module/pikvm/keyboard.go Outdated
Comment thread pkg/module/pikvm/pikvm.go
@llogen llogen force-pushed the feat/addPiKVModule branch from ec724a1 to 4be888f Compare January 15, 2026 13:05
@jenstopp

Copy link
Copy Markdown
Member

Please put the changes to the file transfer out of this PR (maybe in a separate one). These are serious changes to the core code and need more detailed review and testing.

@jenstopp

Copy link
Copy Markdown
Member

Please put the changes to the file transfer out of this PR (maybe in a separate one). These are serious changes to the core code and need more detailed review and testing.

@llogen ? I saw the separate PR for the reworked file transfer, but what about getting this parts out of here, so we can get this PR merged?

@jenstopp jenstopp changed the title feat: add PiKVM module PiKVM module Mar 16, 2026
@llogen llogen force-pushed the feat/addPiKVModule branch 2 times, most recently from f6f01f2 to 9f4becc Compare June 8, 2026 13:03
Add a PiKVM module for dutagent with power, keyboard, virtual-media,
and screenshot modes driven over the PiKVM HTTP API (self-signed TLS
accepted). Media mount hashes the image on the client first so the
agent can skip the upload when the image already exists on the PiKVM.
Ships example configs, a module README, and tests.

Signed-off-by: llogen <christoph.lange@blindspot.software>
@llogen llogen force-pushed the feat/addPiKVModule branch from 9f4becc to 196900c Compare June 8, 2026 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PiKVM Module Proposal

3 participants