IKVM on AST2400

Alexander A. Filippov a.filippov at yadro.com
Mon May 27 22:40:34 AEST 2019


On Mon, May 27, 2019 at 08:19:44AM +0000, Wim Vervoorn wrote:
> 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.

Yes, I've done it too. 

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

We use linux-aspeed recipe from OpenBMC mainline.
So, our kernel is 5.1.3.

I've also enabled these options:
    CONFIG_DRM=y
    CONFIG_DRM_ASPEED_GFX=y
    CONFIG_FRAME_VECTOR=y
    CONFIG_MEDIA_SUPPORT=y
    CONFIG_MEDIA_CAMERA_SUPPORT=y
    CONFIG_VIDEO_DEV=y
    CONFIG_VIDEO_V4L2=y
    CONFIG_V4L_PLATFORM_DRIVERS=y
    CONFIG_VIDEO_ASPEED=y
    CONFIG_VIDEOBUF2_CORE=y
    CONFIG_VIDEOBUF2_V4L2=y
    CONFIG_VIDEOBUF2_MEMOPS=y
    CONFIG_VIDEOBUF2_DMA_CONTIG=y
    CONFIG_MEDIA_SUBDRV_AUTOSELECT=y

and copied vga_scratch and video nodes from aspeed-g5.dtsi.
I've sent these changes to correspond maillists.
  https://lore.kernel.org/patchwork/patch/1079462/

> 
> 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. 
> 

If I understand right, this node is not required for AST2400 because GFX is 
unsupported by SoC.

> 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.

I can't say anything about choosing buffer's size. I just copied it from AST2500 
and it works for me.

> 
> 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