IKVM on AST2400

Wim Vervoorn wvervoorn at eltan.com
Mon May 27 18:19:44 AEST 2019


Hello Alexander,

We are supporting the AST2400 as well.

I am also wondering what the correct changes are to get iKVM working properly on the AST2400.

The errors caused by create_usbhid.sh are caused by usb gadget support that isn't enabled. This should be done in the Linux kernel. We are using the following options:

CONFIG_USB_GADGET=y
CONFIG_USB_F_HID=y
CONFIG_USB_GADGET=y
CONFIG_USB_ASPEED_VHUB=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_HID=y

The CONFIG_USB_CONFIGFS_MASS_STORAGE is not really needed for this. This is only required if you also want to support emulation of a USB storage device.

Besides this you need a small change to the aspeed-g4.dtsi and the system dts to add the VHUB device. You can copy that from the aspeed-g5.dtsi.

I am wondering which support you enabled for the actual iKVM support to work and which code you are actually using. (which kernel etc).

As far as I have understood these memory area's are required but I am not really sure about it.

		gfx_memory: framebuffer {
			size = <0x00800000>;
			alignment = <0x01000000>;
			compatible = "shared-dma-pool";
			reusable;
		};

		video_engine_memory: jpegbuffer {
			size = <0x02000000>;	/* 32MM */
			alignment = <0x01000000>;
			compatible = "shared-dma-pool";
			reusable;
		};

The questions I have are :  

The "gfx_memory" area seems double to me we also have the "vga_memory" area which also is the video memory, why do we need to define a 2nd one that as far as I understand it points to the same physical part of RAM. 

I can understand where the "video_engine_memory" is for but it is not clear how I can determine the required size. As the total amount of memory is limited we are trying to reduce memory usage where possible and so far I haven't been able to find out what is defining the size of this block of memory.

Best regards,

Wim Vervoorn 






Date: Fri, 24 May 2019 15:03:28 +0300
From: "Alexander A. Filippov" <a.filippov at yadro.com>
To: OpenBMC Maillist <openbmc at lists.ozlabs.org>
Subject: IKVM on AST2400
Message-ID: <20190524120328.GA648 at bbwork.lan>
Content-Type: text/plain; charset="utf-8"

Some time ago the obmc-ikvm service was added to the firmware. It causes some problems on our VESNIN hardware. As it based on AST2400 it does not have support for IKVM in the DTS. The system log contains messages that create_usbhid.sh is unable to find some items in the sysfs and then obmc-ikvm service crashes. It causes fail in QEMU_CI test.

I belive that this issue also present on other platforms based on AST2400. 

IBM Guys: Do you run tests for Palmetto? 
Is there anybody else who uses AST2400?

Well, my proposal is to make the IKVM support optional by moving it to the distrofeature.

Besides, I've solved these problems for our hardware by adding required kernel modules and modifying DTS. 
IKVM works, but bring a lot of warnings after the host was shut down while the VNC-client is still connected.

During the solving I copied some records from aspeed-g5.dtsi to aspeed-g4.dtsi. 
Should I commit these changes to Torvalds or OpenBMC repo?

--
Regards
Alexander Filippov
Software Engineer, YADRO





More information about the openbmc mailing list