History log of /openbmc/obmc-ikvm/ (Results 26 – 50 of 67)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
f79f6f5405-Jul-2022 George Liu <liuxiwei@inspur.com>

Add clang-format

Refer:https://github.com/openbmc/docs/blob/ac5d544553934f8083c61c5986a1420261bc8a4c/style/cpp/.clang-format

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I931503febf4e

Add clang-format

Refer:https://github.com/openbmc/docs/blob/ac5d544553934f8083c61c5986a1420261bc8a4c/style/cpp/.clang-format

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I931503febf4e17af5c328a6496e499992bc4e381

show more ...

3fa0bfba23-Dec-2021 Tejas Patil <tejaspp@ami.com>

Add Mouse Wheel Scroll Events

This commit add support for mouse wheel scroll events in KVM.
It supports for mouse scroll up/down buttons, by which user can use
mouse wheel functionality.

Testing:
T

Add Mouse Wheel Scroll Events

This commit add support for mouse wheel scroll events in KVM.
It supports for mouse scroll up/down buttons, by which user can use
mouse wheel functionality.

Testing:
Tested mouse wheel functionality.
Verified mouse wheel scroll up/down functions.

Signed-off-by: Tejas Patil <tejaspp@ami.com>
Change-Id: I7f53f0f203a81b55f2377982571e8f415ed99df2

show more ...

a4f63b3814-Feb-2022 Jammy Huang <jammy_huang@aspeedtech.com>

Add control for video subsampling

Add '-s' to assign jpeg subsampling.
0: 444, 1: 420

Using 420 will make video lack of detail compared to 444, but cut
amount of video data by half. This could be

Add control for video subsampling

Add '-s' to assign jpeg subsampling.
0: 444, 1: 420

Using 420 will make video lack of detail compared to 444, but cut
amount of video data by half. This could be useful for some cases.

Change-Id: I48836a7117f7e3b9986e3f5c6a92974c9268525e
Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com>

show more ...

3b201f6911-Jan-2022 Neal Liu <neal_liu@aspeedtech.com>

Fix HID gadget device remote wakeup issue

Enable Bit(6): Self-powered & Bit(5): Remote Wakeup
to allow host users to decide whether HID gadget device
can wakeup host or not.
Host Controller would se

Fix HID gadget device remote wakeup issue

Enable Bit(6): Self-powered & Bit(5): Remote Wakeup
to allow host users to decide whether HID gadget device
can wakeup host or not.
Host Controller would set REMOTE_WAKEUP feature before
suspend, and the devices acked accordingly.

Tested: Host can be waked up by HID device when KVM client
is connected.

Signed-off-by: Neal Liu <neal_liu@aspeedtech.com>
Change-Id: Iddbc456a970226ebd1f419cc6ee4ac7dc8ab989f

show more ...

ee09e30303-Nov-2021 Jammy Huang <jammy_huang@aspeedtech.com>

Fix kvm show disconnected if host successively changes resolution

Video::resize() will throw execption if any ioctl failed and it leads
to rfb server stopped. This is the root cause because
VIDIOC_Q

Fix kvm show disconnected if host successively changes resolution

Video::resize() will throw execption if any ioctl failed and it leads
to rfb server stopped. This is the root cause because
VIDIOC_QUERY_DV_TIMINGS always could return error for no signal.

If VIDIOC_QUERY_DV_TIMINGS failed, we can go restart() to avoid this
problem.

Tested: manually tested with the host which changes resolution quickly
and successively.

Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com>
Change-Id: Ie613f177122b7058e19511a451e4dad9cb1dffbf

show more ...

f90f68d123-Oct-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Add OWNERS file

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I3d64e05cd793818e61fc14b6bb847e3f08c3b2ab

2d2f3dab18-Jun-2021 Paul Fertser <fercerpav@gmail.com>

Implement optional per-frame CRC calculation to save bandwidth

Current implementation is very CPU-efficient as it's not processing
JPEG-encoded data received from V4L2 at all.

This patch implements

Implement optional per-frame CRC calculation to save bandwidth

Current implementation is very CPU-efficient as it's not processing
JPEG-encoded data received from V4L2 at all.

This patch implements an optional mode where for each frame that's about
to be sent a CRC32 is calculated and if this client has already received
it before, the transmission is skipped. This of course adds some
noticeable CPU load (proportional to the frame rate requested and the
encoded JPEG size); on AST2500 it's taking about 10 % CPU when showing a
relatively complex GUI login screen with 15 FPS.

Reducing required bandwidth to 0 for static images helps a lot when
using IP KVM via poor connections, e.g. provided by cellular network
operators or some hotels, so can be beneficial for certain common
usecases.

The next optimisation to try is to dynamically alter the frame rate,
automatically ramping it up as soon as the changes start happening and
lowering after a period of inactivity; it's not yet clear if V4L2 allows
this.

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Change-Id: I74b887cf83b5c8676f5792412805de08e1a54f32

show more ...

7a420e4c23-Jun-2021 Bruce Mitchell <bruce.mitchell@linux.vnet.ibm.com>

Replace IRC with Discord

Discord has more users. IRC traffic has ground to a halt.

Signed-off-by: Bruce Mitchell <bruce.mitchell@linux.vnet.ibm.com>
Change-Id: If4bbcb81ef077c2c627fead886941bc05f57

Replace IRC with Discord

Discord has more users. IRC traffic has ground to a halt.

Signed-off-by: Bruce Mitchell <bruce.mitchell@linux.vnet.ibm.com>
Change-Id: If4bbcb81ef077c2c627fead886941bc05f571643

show more ...

40fd542917-Jun-2021 Zev Weiss <zweiss@equinix.com>

Fix error reporting in Input::writeKeyboard()

write(2) only sets errno on failure; a successful call leaves it
unchanged. We had been being using errno to determine whether or not
the write succeed

Fix error reporting in Input::writeKeyboard()

write(2) only sets errno on failure; a successful call leaves it
unchanged. We had been being using errno to determine whether or not
the write succeeded, but weren't zeroing it before the call and hence
could end up spuriously reporting failure from writeKeyboard() even when
the write actually succeeded.

That false report can in turn cause sendWakeupPacket() to not send the
key release after its XK_Shift_L key press, leading to the host thinking
the shift key is being held down, which among other minor bits of
confusion can cause a boot hang (Ubuntu's GRUB, for example, is patched
to interpret a held shift key as a signal from the user to interrupt its
default boot sequence and switch to an interactive menu).

We now instead just return success immediately after a complete write
and false otherwise (if we exhaust our retry attempts or hit a
non-EAGAIN failure).

Tested: verified with strace that obmc-ikvm sends both the press and the
release of the shift key in sendWakeupPacket(); Ubuntu host booted
cleanly instead of stopping at the GRUB menu.

Signed-off-by: Zev Weiss <zweiss@equinix.com>
Change-Id: Ic1229b3979690040879c7e4471ebc987878289e6

show more ...

673ac2eb30-Jul-2020 Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Refine HID report writing logic

Blocking write on the keyboard HID device causes screen freezing
during turning off the host power. To fix this issue, this commit
refines the logic using non-blockin

Refine HID report writing logic

Blocking write on the keyboard HID device causes screen freezing
during turning off the host power. To fix this issue, this commit
refines the logic using non-blocking write. As a side effect,
non-blocking write introduces event dropping when kernel HID driver
returns -EAGAIN when the driver is in busy state so this commit also
adds retry logic to cover the case.

Tested: Didn't see the screen freezing issue.

Change-Id: Ibd95f567c49f448cd053948c14c006de17c52420
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

show more ...

c11257d823-Jul-2020 Jae Hyun Yoo <jae.hyun.yoo@intel.com>

Connect HID gadget device dynamically

Connecting HID gadget device statically from the beginning of this
service causes an issue on WHLK test. To prevent the issue, this
commit changes the HID gadge

Connect HID gadget device dynamically

Connecting HID gadget device statically from the beginning of this
service causes an issue on WHLK test. To prevent the issue, this
commit changes the HID gadget device handling as dynamic so that
the HID gadget device can be connected when this service has at
least one KVM client.

Tested: /dev/hidg0 and /dev/hidg1 created only when at least one
KVM client is connected.

Change-Id: I5f6596b9e4e297fb6b507000499fc041460659f7
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com>

show more ...

7a89cd2321-Aug-2019 Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Fix keyboard and mouse input events dropping issue

Restarting of HID input devices causes input events dropping issue
which is critical for BMC KVM uses. For an example, user can't enter
to BIOS by

Fix keyboard and mouse input events dropping issue

Restarting of HID input devices causes input events dropping issue
which is critical for BMC KVM uses. For an example, user can't enter
to BIOS by doing keep pressing 'F2' or 'Del' key because of this issue.

To fix the issue, this commit removes the input device restarting
logic and refines error log journaling logic using errno checking.

Tested:
1. Open BMCweb -> Server control -> KVM.
2. Make a host reset and keep pressing 'F2' key.
3. Was able to enter to BIOS using the key press.

Change-Id: Iec1bfad1d9e5825858844cab658bbfa3e6bc24f6
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

show more ...

861337e814-Nov-2019 Brad Bishop <bradleyb@fuzziesquirrel.com>

systemd: Don't start without configfs

We cannot run without configfs. Don't attempt to start if we find
ourselves in that situation.

Change-Id: I67515d2eaaf982f6750aae6e90a939873338a77c
Signed-off

systemd: Don't start without configfs

We cannot run without configfs. Don't attempt to start if we find
ourselves in that situation.

Change-Id: I67515d2eaaf982f6750aae6e90a939873338a77c
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...

ed98d07d14-Nov-2019 Brad Bishop <bradleyb@fuzziesquirrel.com>

build: drop autotools support

It made sense to support both build systems while OpenBMC transitioned
but that has been complete for some time - No need to support multiple
build systems any longer.

build: drop autotools support

It made sense to support both build systems while OpenBMC transitioned
but that has been complete for some time - No need to support multiple
build systems any longer.

Change-Id: Ib698163f53a4f493f20491c54851247c5700f13e
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

show more ...


7cf1f1d430-Sep-2019 Eddie James <eajames@linux.ibm.com>

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 virt

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>

show more ...

f8e05e5c27-Sep-2019 Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Remove frame rate limit

Since we have flow control logic, better remove the frame rate limit
to improve frame update speed as faster as it can provide. So this
commit removes the limit parameter so

Remove frame rate limit

Since we have flow control logic, better remove the frame rate limit
to improve frame update speed as faster as it can provide. So this
commit removes the limit parameter so that it can use the default
30fps setting.

Tested: It didn't make bmcweb crash which is caused by frame data
flooding. Frame update speed little bit faster than before.

Change-Id: I30ec8f2c4124e27c20261b87042fb094160d27f8
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

show more ...

85d0455209-May-2019 Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add flow control to prevent buffer over run

This service uses direct frame update with bypassing image
compression and invalidating logic in libvncserver to achieve
better performance by using of H/

Add flow control to prevent buffer over run

This service uses direct frame update with bypassing image
compression and invalidating logic in libvncserver to achieve
better performance by using of H/W compressed JPEG frames as those
come from the video engine driver.

This behavior helps quick frame update using very small amount of
CPU resources but it causes a side effect which crashes bmcweb
by OOM killer due to a buffer over run issue. Usually, this issue
happens often in a slow speed connection because this service
keeps sending all frames without any handshaking with clients so
a session buffer in the bmcweb gets bigger and bigger since the
low speed connection can't send all stream data on time.

To fix this issue, this commit adds flow control logic to make
frame updating handshakes with client so that it'll send frames
only when it recieved client frame update messages. All other
frames when the client doesn't request will be dropped out to
prevent the buffer over run issue.

Tested:
bmcweb didn't keep increasing its KVM session buffer.
KVM worked well with showing good refresh speed.

resolves https://github.com/openbmc/bmcweb/issues/80

Change-Id: I6b09a711137d15a38fce59adada9bf3d00afde86
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

show more ...

513d95ef20-Aug-2019 Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add keypad input support

This commit makes keypad inputs available.

Change-Id: I95a9268cd930c85846947b6bd49c97087121ca8a
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

95a3b35b09-Aug-2019 Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Add a maintainer

Add Jae as a maintainer.

Change-Id: I520b8da04d64ccd186ec22a68e0e38929c7bed68
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

23135dd909-Aug-2019 Eddie James <eajames@linux.ibm.com>

eliminate excessive journal errors

When the USB gadget is shut down, the application needs to avoid writes
to it in order to avoid lots of errors in the kernel log. Close the file
handle and re-open

eliminate excessive journal errors

When the USB gadget is shut down, the application needs to avoid writes
to it in order to avoid lots of errors in the kernel log. Close the file
handle and re-open it when timings are detected again. Also, prevent
logging the failed timings query more than once.

Change-Id: Ic126828fe26ef44ebb0a5cb65cc47b23bb84f7f3
Signed-off-by: Eddie James <eajames@linux.ibm.com>

show more ...

133bfa2d19-Apr-2019 Eddie James <eajames@us.ibm.com>

Reduce framerate to prevent lag

Reduce the framerate to 16 from the default 30. In testing with high
latency or low bandwidth situations, 30 fps is unusable.

Signed-off-by: Eddie James <eajames@lin

Reduce framerate to prevent lag

Reduce the framerate to 16 from the default 30. In testing with high
latency or low bandwidth situations, 30 fps is unusable.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: Idf6ce9da4556a53500507dcf9d02a4425cba9a1b

show more ...

4749f93418-Apr-2019 Eddie James <eajames@linux.ibm.com>

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 point

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>

show more ...

63c3ea1817-Apr-2019 John Wang <wangzqbj@inspur.com>

meson: install create_usbhid.sh

Change-Id: If9d19f24c568f4befa6c8b3acc1148149e59daef
Signed-off-by: John Wang <wangzqbj@inspur.com>

8ec3e23615-Apr-2019 Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

Fix host video wake up failure issue

Mouse and Keyboard wake up event were being sent only when an
error happens while opening the video dev entry so KVM service
can't wake up the host video. To fix

Fix host video wake up failure issue

Mouse and Keyboard wake up event were being sent only when an
error happens while opening the video dev entry so KVM service
can't wake up the host video. To fix this issue, this commit makes
video::start send the wake up packet always at the beginning of
video streaming.

Change-Id: I1004b7a3cc552d210080a12157e66233b33293bf
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>

show more ...

fb6a8e1e29-Mar-2019 Brad Bishop <bradleyb@fuzziesquirrel.com>

systemd: Add unit file

Add a unit file for starting obmc-ikvm with systemd.

Change-Id: I85bc8c5d9682b48aedeb3670a61179267798d4f7
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

123