Prevent excessive journal logging by wakeup signal

When the application is waiting for timings, it restarts the video to
try and get a signal. Part of this process sends a wake-up signal on
the virtual keyboard and pointer in case host VGA has slept. But if the
host is shut down, this causes repeated errors in the journal as the
HID gadgets return errors.

Fix this by consolidating the keyboard/pointer write functions and
therefore closing the HID gadget file handles when the host is shut
down, preventing further wake-up attempts until host returns.

Change-Id: Id5fe484c976eccefa6a72393d4d6b2b301d28a1a
Signed-off-by: Eddie James <eajames@linux.ibm.com>
2 files changed
tree: eac9034475e6ace4d4584fe0ce3b3054b21fff16
  1. bootstrap.sh
  2. configure.ac
  3. create_usbhid.sh
  4. ikvm_args.cpp
  5. ikvm_args.hpp
  6. ikvm_input.cpp
  7. ikvm_input.hpp
  8. ikvm_manager.cpp
  9. ikvm_manager.hpp
  10. ikvm_server.cpp
  11. ikvm_server.hpp
  12. ikvm_video.cpp
  13. ikvm_video.hpp
  14. LICENSE
  15. MAINTAINERS
  16. Makefile.am
  17. meson.build
  18. obmc-ikvm.cpp
  19. README.md
  20. scancodes.hpp
  21. start-ipkvm.service
README.md

OpenBMC IpKVM Server

The obmc-ikvm application is a VNC server that provides access to the host graphics output. The application interfaces with the video device on the BMC that captures the host graphics, and then serves that video data on the RFB (remote framebuffer, also known as VNC) protocol. The application also interfaces with the BMC USB gadget device to pass HID events from the BMC to the host, allowing the user to interact with the host system.

Usage

Once the host is running and an appropriate HID gadget device is instantiated on the BMC, the application can be started with the following command: obmc-ikvm -v <video device path> -i <HID gadget device path>

For example:

obmc-ikvm -v /dev/video0 -i /dev/hidg0