Switch pointer gadget to non-blocking

Writes to the pointer gadget can hang if the host has no cursor. Using
non-blocking mode prevents this hanging. Also prevent repeated error
logging due to pointer write failures in this case.

Change-Id: I9c423a4a0af4b37a69ae20650b86a6266e5b4b41
Signed-off-by: Eddie James <eajames@linux.ibm.com>
2 files changed
tree: 263135e861bb4155f8b7df742a9d4e95a0fd8acb
  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